12 //---------------------------------------------------------------------------
13 IMPLEMENTATION [ppc32]:
15 #include "mem_layout.h"
18 // Make the stuff below apearing only in this compilation unit.
19 // Trick Preprocess to let the struct reside in the cc file rather
20 // than putting it into the _i.h file which is perfectly wrong in
22 namespace KIP_namespace
27 Max_len_version = 512,
29 Size_mem_descs = sizeof(Mword) * 2 * Num_mem_descs,
35 char mem_descs[Size_mem_descs];
38 KIP ppc32_kernel_info_page asm("ppc32_kernel_info_page") __attribute__((section(".kernel_info_page"))) =
41 /* 00 */ L4_KERNEL_INFO_MAGIC,
42 Config::kernel_version_id,
43 (Size_mem_descs + sizeof(Kip)) >> 4,
49 /* 50 */ 0, (sizeof(Kip) << (sizeof(Mword)*4)) | Num_mem_descs, 0, 0,
66 Kip *kinfo = reinterpret_cast<Kip*>(&KIP_namespace::ppc32_kernel_info_page);
67 Kip::init_global_kip(kinfo);
69 /* add kernel image */
70 kinfo->add_mem_region(Mem_desc(0,(Address)&Mem_layout::end - 1,
73 kinfo->add_mem_region(Mem_desc(0, Mem_layout::User_max - 1,
74 Mem_desc::Conventional, true));