00001 // AUTOMATICALLY GENERATED -- DO NOT EDIT! -*- c++ -*- 00002 00003 #ifndef kip_init_h 00004 #define kip_init_h 00005 00006 #include "initcalls.h" 00007 #include "types.h" 00008 00009 // 00010 // INTERFACE definition follows 00011 // 00012 00013 00014 class Kip_init 00015 { 00016 private: 00018 static void setup_abi(); 00019 00021 static void setup_arch(); 00022 00024 static void setup_arch_abi(); 00025 00026 public: 00032 static void setup_kmem_region (Address kmem_base, Address kmem_size); 00033 00034 public: 00036 static FIASCO_INIT void init(); 00037 }; 00038 00039 // 00040 // IMPLEMENTATION includes follow (for use by inline functions) 00041 // 00042 00043 00044 #include "boot_info.h" 00045 #include "kmem.h" 00046 00047 // 00048 // IMPLEMENTATION of inline functions (and needed classes) 00049 // 00050 00051 00052 00053 inline FIASCO_INIT 00054 void 00055 Kip_init::setup_abi() 00056 { 00057 Kip::k()->clock = 0; 00058 Kip::k()->main_memory.low = 0; 00059 Kip::k()->main_memory.high = Kmem::get_mem_max(); 00060 Kip::k()->reserved0.low = Kmem::kcode_start(); 00061 Kip::k()->reserved0.high = Kmem::kcode_end(); 00062 Kip::k()->semi_reserved.low = Boot_info::mbi_virt()->mem_lower << 10; 00063 Kip::k()->semi_reserved.high = 1 << 20; 00064 Kip::k()->sched_granularity = Config::scheduler_granularity; 00065 Kip::k()->offset_version_strings = 0xe; 00066 } 00067 00068 00069 inline FIASCO_INIT 00070 void Kip_init::setup_kmem_region(Address, Address) 00071 { 00072 Kip::k()->reserved1.low = Kmem::kmem_base(); 00073 Kip::k()->reserved1.high = Kmem::get_mem_max(); 00074 } 00075 00076 00077 inline FIASCO_INIT void Kip_init::setup_arch() {} 00078 00079 inline FIASCO_INIT void Kip_init::setup_arch_abi() {} 00080 00081 #endif // kip_init_h