]> rtime.felk.cvut.cz Git - l4.git/blobdiff - kernel/fiasco/src/abi/ppc32/kip-ppc32.cpp
Inital import
[l4.git] / kernel / fiasco / src / abi / ppc32 / kip-ppc32.cpp
diff --git a/kernel/fiasco/src/abi/ppc32/kip-ppc32.cpp b/kernel/fiasco/src/abi/ppc32/kip-ppc32.cpp
new file mode 100644 (file)
index 0000000..111f8c0
--- /dev/null
@@ -0,0 +1,79 @@
+/*
+ * PPC32 Kernel-Info Page
+ */
+
+INTERFACE [ppc32]:
+
+#include "types.h"
+
+EXTENSION class Kip
+{
+public:
+
+  Mword magic;
+  Mword version;
+  Mword offset_version_strings;
+  Mword res0; //offset_memory_descs;
+
+  /* 0x10 */
+  Mword _res1[4];
+
+
+  /* the following stuff is undocumented; we assume that the kernel
+     info page is located at offset 0x1000 into the L4 kernel boot
+     image so that these declarations are consistent with section 2.9
+     of the L4 Reference Manual */
+
+  /* 0x20 */
+  Mword sigma0_sp, sigma0_ip;
+  Mword _res2[2];
+
+  /* 0x30 */
+  Mword sigma1_sp, sigma1_ip;
+  Mword _res3[2];
+
+  /* 0x40 */
+  Mword root_sp,   root_ip;
+  Mword _res4[2];
+
+  /* 0x50 */
+  Mword l4_config;
+  Mword _mem_info;
+  Mword kdebug_config;
+  Mword kdebug_permission;
+
+  /* 0x60 */
+  Mword total_ram;
+  Mword processor_info;
+  Mword _res6[14];
+
+  /* 0xA0 */
+  volatile Cpu_time clock;
+  Mword _res7[2];
+
+  /* 0xB0 */
+  Mword frequency_cpu;
+  Mword frequency_bus;
+  Mword _res8[2];
+
+  /* 0xC0 */
+  Mword _res9[8];
+
+  /* 0xE0 */
+  Mword user_ptr;
+  Mword vhw_offset;
+  char _res10[8];
+
+  /* 0xF0 */
+  Kernel_uart_info  kernel_uart_info;
+  Platform_info     platform_info;
+};
+
+//---------------------------------------------------------------------------
+IMPLEMENTATION [ppc32 && debug]:
+
+IMPLEMENT inline
+void
+Kip::debug_print_syscalls() const
+{}
+