as every kernel will have every init, recently i'm noticing about some 
microkernel init.


I've notice that this microkernel has less source code for init if i 
compare to linux

l4k4 microkernel init the first 4 operations:


1. init kdebug

kernel_info_page.kdebug_init();

2. print the kernel version

printf(kernel_version);

3. doing basic architectural init
init_arch_1();

4. initialize kernel memory allocator
kmem_init();


this is the kmem_init:
============

void kmem_init()
{

/*
* From linker scripts.
*/
extern dword_t text_paddr[];
extern dword_t _end_text_p[];

#if defined(CONFIG_DEBUG_SANITY)
if (kmem_end < kmem_start)
printf("%s(%x,%x) is a silly config\n", __FUNCTION__, kmem_start, 
kmem_end);
#endif

#if defined(CONFIG_DEBUG_TRACE_MISC)
printf("%s(%x,%x)\n", __FUNCTION__, kmem_start, kmem_end);
#endif

kmem_free((ptr_t) kmem_start, kmem_end-kmem_start);
kernel_info_page.reserved_mem0_low = (dword_t) text_paddr;
kernel_info_page.reserved_mem0_high = (dword_t) _end_text_p;
kernel_info_page.reserved_mem1_low = virt_to_phys((dword_t) kmem_start);
kernel_info_page.reserved_mem1_high = (virt_to_phys((dword_t) kmem_end) + 
(PAGE_SIZE-1)) & PAGE_MASK;
}
=======================