.remove         = mem_remove,
 };
 
-static int mem_mc_init(void)
+static int __init mem_mc_init(void)
 {
        if(can_drop_memory())
                mconsole_register_dev(&mem_mc);
  */
 static char *notify_socket = NULL;
 
-static int mconsole_init(void)
+static int __init mconsole_init(void)
 {
        /* long to avoid size mismatch warnings from gcc */
        long sock;
 
 
 extern unsigned long long physmem_size;
 
-int init_maps(unsigned long physmem, unsigned long iomem, unsigned long highmem)
+int __init init_maps(unsigned long physmem, unsigned long iomem,
+                    unsigned long highmem)
 {
        struct page *p, *map;
        unsigned long phys_len, phys_pages, highmem_len, highmem_pages;
        total_pages = phys_pages + iomem_pages + highmem_pages;
        total_len = phys_len + iomem_len + highmem_len;
 
-       if(kmalloc_ok){
-               map = kmalloc(total_len, GFP_KERNEL);
-               if(map == NULL)
-                       map = vmalloc(total_len);
-       }
-       else map = alloc_bootmem_low_pages(total_len);
-
+       map = alloc_bootmem_low_pages(total_len);
        if(map == NULL)
                return -ENOMEM;
 
 
 extern int __syscall_stub_start;
 
-void setup_physmem(unsigned long start, unsigned long reserve_end,
-                  unsigned long len, unsigned long long highmem)
+void __init setup_physmem(unsigned long start, unsigned long reserve_end,
+                         unsigned long len, unsigned long long highmem)
 {
        unsigned long reserve = reserve_end - start;
        int pfn = PFN_UP(__pa(reserve_end));
 
 
 extern void start_kernel(void);
 
-static int start_kernel_proc(void *unused)
+static int __init start_kernel_proc(void *unused)
 {
        int pid;
 
 
 extern char cpu0_irqstack[];
 
-int start_uml_skas(void)
+int __init start_uml_skas(void)
 {
        stack_protections((unsigned long) &cpu0_irqstack);
        set_sigstack(cpu0_irqstack, THREAD_SIZE);