#endif
 }
 
-void paging_init(void)
+void __init paging_init(void)
 {
        unsigned long zones_size[MAX_NR_ZONES], vaddr;
        int i;
 
 
 extern void scan_elf_aux( char **envp);
 
-int main(int argc, char **argv, char **envp)
+int __init main(int argc, char **argv, char **envp)
 {
        char **new_argv;
        int ret, i, err;
 
  * (file: kernel/tt/ptproxy/proxy.c, proc: start_debugger).
  * So it isn't 'static' yet.
  */
-int make_tempfile(const char *template, char **out_tempname, int do_unlink)
+int __init make_tempfile(const char *template, char **out_tempname,
+                        int do_unlink)
 {
        char *tempname;
        int fd;
  * This proc is used in start_up.c
  * So it isn't 'static'.
  */
-int create_tmp_file(unsigned long long len)
+int __init create_tmp_file(unsigned long long len)
 {
        int fd, err;
        char zero;
        return fd;
 }
 
-int create_mem_file(unsigned long long len)
+int __init create_mem_file(unsigned long long len)
 {
        int err, fd;
 
 }
 
 
-void check_tmpexec(void)
+void __init check_tmpexec(void)
 {
        void *addr;
        int err, fd = create_tmp_file(UM_KERN_PAGE_SIZE);
 
 #include "skas_ptrace.h"
 #include "kern_constants.h"
 #include "uml-config.h"
+#include "init.h"
 
 #define ARBITRARY_ADDR -1
 #define FAILURE_PID    -1
 #define MADV_REMOVE KERNEL_MADV_REMOVE
 #endif
 
-int os_drop_memory(void *addr, int length)
+int __init os_drop_memory(void *addr, int length)
 {
        int err;
 
        return err;
 }
 
-int can_drop_memory(void)
+int __init can_drop_memory(void)
 {
        void *addr;
        int fd, ok = 0;
 
 
 extern void check_tmpexec(void);
 
-static void check_coredump_limit(void)
+static void __init check_coredump_limit(void)
 {
        struct rlimit lim;
        int err = getrlimit(RLIMIT_CORE, &lim);
        else printf("%lu\n", lim.rlim_max);
 }
 
-void os_early_checks(void)
+void __init os_early_checks(void)
 {
        /* Print out the core dump limits early */
        check_coredump_limit();