diff options
-rw-r--r-- | Makefrag.am | 3 | ||||
-rw-r--r-- | device/device_init.h | 24 | ||||
-rw-r--r-- | i386/i386/mp_desc.h | 2 | ||||
-rw-r--r-- | kern/bootstrap.h | 24 | ||||
-rw-r--r-- | kern/sched_prim.h | 3 | ||||
-rw-r--r-- | kern/startup.c | 26 | ||||
-rw-r--r-- | kern/startup.h | 4 | ||||
-rw-r--r-- | vm/vm_init.h | 25 | ||||
-rw-r--r-- | vm/vm_pageout.h | 2 |
9 files changed, 94 insertions, 19 deletions
diff --git a/Makefrag.am b/Makefrag.am index 2d09b62..b3f9521 100644 --- a/Makefrag.am +++ b/Makefrag.am @@ -135,6 +135,7 @@ libkernel_a_SOURCES += \ kern/ast.h \ kern/boot_script.h \ kern/bootstrap.c \ + kern/bootstrap.h \ kern/counters.c \ kern/counters.h \ kern/cpu_number.h \ @@ -247,6 +248,7 @@ libkernel_a_SOURCES += \ vm/vm_fault.c \ vm/vm_fault.h \ vm/vm_init.c \ + vm/vm_init.h \ vm/vm_kern.c \ vm/vm_kern.h \ vm/vm_map.c \ @@ -290,6 +292,7 @@ libkernel_a_SOURCES += \ device/dev_name.c \ device/dev_pager.c \ device/device_init.c \ + device/device_init.h \ device/device_port.h \ device/device_types_kernel.h \ device/ds_routines.c \ diff --git a/device/device_init.h b/device/device_init.h new file mode 100644 index 0000000..175b34d --- /dev/null +++ b/device/device_init.h @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2013 Free Software Foundation. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _DEVICE_DEVICE_INIT_H_ +#define _DEVICE_DEVICE_INIT_H_ + +extern void device_service_create(void); + +#endif /* _DEVICE_DEVICE_INIT_H_ */ diff --git a/i386/i386/mp_desc.h b/i386/i386/mp_desc.h index 03d7194..9f96312 100644 --- a/i386/i386/mp_desc.h +++ b/i386/i386/mp_desc.h @@ -79,4 +79,6 @@ extern struct mp_desc_table * mp_desc_init(int); #endif /* MULTIPROCESSOR */ +extern void start_other_cpus(void); + #endif /* _I386_MP_DESC_H_ */ diff --git a/kern/bootstrap.h b/kern/bootstrap.h new file mode 100644 index 0000000..b8ed8d9 --- /dev/null +++ b/kern/bootstrap.h @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2013 Free Software Foundation. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _KERN_BOOTSTRAP_H_ +#define _KERN_BOOTSTRAP_H_ + +extern void bootstrap_create(void); + +#endif /* _KERN_BOOTSTRAP_H_ */ diff --git a/kern/sched_prim.h b/kern/sched_prim.h index b7ecba7..07b5bf0 100644 --- a/kern/sched_prim.h +++ b/kern/sched_prim.h @@ -181,4 +181,7 @@ void checkrq(run_queue_t rq, char *msg); void thread_check(thread_t th, run_queue_t rq); #endif /* DEBUG */ +extern void idle_thread(void); +extern void sched_thread(void); + #endif /* _KERN_SCHED_PRIM_H_ */ diff --git a/kern/startup.c b/kern/startup.c index 22e9997..be83f6b 100644 --- a/kern/startup.c +++ b/kern/startup.c @@ -47,45 +47,33 @@ #include <kern/thread_swap.h> #include <kern/timer.h> #include <kern/xpr.h> +#include <kern/bootstrap.h> #include <kern/time_stamp.h> +#include <kern/startup.h> #include <vm/vm_kern.h> #include <vm/vm_map.h> #include <vm/vm_object.h> #include <vm/vm_page.h> +#include <vm/vm_init.h> +#include <vm/vm_pageout.h> #include <machine/machspl.h> #include <machine/pcb.h> #include <machine/pmap.h> #include <machine/model_dep.h> #include <mach/version.h> +#include <device/device_init.h> #if MACH_KDB #include <device/cons.h> #endif /* MACH_KDB */ -extern void vm_mem_init(); -extern void vm_mem_bootstrap(); -extern void init_timeout(); -extern void machine_init(); - -extern void idle_thread(); -extern void vm_pageout(); -extern void reaper_thread(); -extern void swapin_thread(); -extern void sched_thread(); - -extern void bootstrap_create(); -extern void device_service_create(); - -void cpu_launch_first_thread(); /* forward */ -void start_kernel_threads(); /* forward */ - #if ! MACH_KBD boolean_t reboot_on_panic = 1; #endif #if NCPUS > 1 -extern void start_other_cpus(); -extern void action_thread(); +#include <machine/mp_desc.h> +#include <kern/machine.h> #endif /* NCPUS > 1 */ /* XX */ diff --git a/kern/startup.h b/kern/startup.h index d167fde..d924d15 100644 --- a/kern/startup.h +++ b/kern/startup.h @@ -19,6 +19,10 @@ #ifndef _KERN_STARTUP_H_ #define _KERN_STARTUP_H_ +#include <kern/thread.h> + extern void setup_main(void); +void cpu_launch_first_thread(thread_t th); +void start_kernel_threads(void); #endif /* _KERN_STARTUP_H_ */ diff --git a/vm/vm_init.h b/vm/vm_init.h new file mode 100644 index 0000000..42ef48b --- /dev/null +++ b/vm/vm_init.h @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2013 Free Software Foundation. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _VM_VM_INIT_H_ +#define _VM_VM_INIT_H_ + +extern void vm_mem_init(void); +extern void vm_mem_bootstrap(void); + +#endif /* _VM_VM_INIT_H_ */ diff --git a/vm/vm_pageout.h b/vm/vm_pageout.h index d41ee30..90e45a7 100644 --- a/vm/vm_pageout.h +++ b/vm/vm_pageout.h @@ -44,4 +44,6 @@ extern vm_page_t vm_pageout_setup(vm_page_t, vm_offset_t, vm_object_t, vm_offset_t, boolean_t); extern void vm_pageout_page(vm_page_t, boolean_t, boolean_t); +extern void vm_pageout(void); + #endif /* _VM_VM_PAGEOUT_H_ */ |