diff options
Diffstat (limited to 'kern')
-rw-r--r-- | kern/mach_clock.c | 3 | ||||
-rw-r--r-- | kern/mach_clock.h | 68 | ||||
-rw-r--r-- | kern/mach_factor.c | 1 | ||||
-rw-r--r-- | kern/mach_factor.h | 32 | ||||
-rw-r--r-- | kern/sched_prim.c | 1 | ||||
-rw-r--r-- | kern/thread.c | 1 |
6 files changed, 106 insertions, 0 deletions
diff --git a/kern/mach_clock.c b/kern/mach_clock.c index 3c1ccdb..5491e88 100644 --- a/kern/mach_clock.c +++ b/kern/mach_clock.c @@ -48,11 +48,13 @@ #include <kern/lock.h> #include <kern/mach_param.h> #include <kern/processor.h> +#include <kern/queue.h> #include <kern/sched.h> #include <kern/sched_prim.h> #include <kern/thread.h> #include <kern/time_out.h> #include <kern/time_stamp.h> +#include <kern/timer.h> #include <vm/vm_kern.h> #include <sys/time.h> #include <machine/mach_param.h> /* HZ */ @@ -62,6 +64,7 @@ #include <kern/pc_sample.h> #endif +#include "mach_clock.h" void softclock(); /* forward */ diff --git a/kern/mach_clock.h b/kern/mach_clock.h new file mode 100644 index 0000000..e6f746b --- /dev/null +++ b/kern/mach_clock.h @@ -0,0 +1,68 @@ +/* + * + * Copyright (C) 2006 Free Software Foundation, Inc. + * + * 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, 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, 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Author: Barry deFreese. + */ +/* + * + */ + +#ifndef _KERN_MACH_CLOCK_H_ +#define _KERN_MACH_CLOCK_H_ + +#include <sys/types.h> +#include <kern/time_out.h> +#include <mach/machine/kern_return.h> + +extern void clock_interrupt( + int usec, + boolean_t usermode, + boolean_t basepri); + +extern void softclock(); + +extern void set_timeout( + timer_elt_t telt, + unsigned int interval); + +extern boolean_t reset_timeout(timer_elt_t telt); + +extern void init_timeout(); + +extern void record_time_stamp (time_value_t *stamp); + +extern kern_return_t host_get_time( + host_t host, + time_value_t *current_time); + +extern kern_return_t host_set_time( + host_t host, + time_value_t new_time); + +extern kern_return_t host_adjust_time( + host_t host, + time_value_t new_adjustment, + time_value_t *old_adjustment); + +extern void mapable_time_init(); + +extern void timeout(int (*fcn)(), char *param, int interval); + +extern boolean_t untimeout(int (*fcn)(), char *param); + +#endif /* _KERN_MACH_CLOCK_H_ */ diff --git a/kern/mach_factor.c b/kern/mach_factor.c index d9e0465..16ca1f4 100644 --- a/kern/mach_factor.c +++ b/kern/mach_factor.c @@ -41,6 +41,7 @@ #include <mach/port.h> #endif /* MACH_KERNEL */ +#include "mach_factor.h" long avenrun[3] = {0, 0, 0}; long mach_factor[3] = {0, 0, 0}; diff --git a/kern/mach_factor.h b/kern/mach_factor.h new file mode 100644 index 0000000..81624bb --- /dev/null +++ b/kern/mach_factor.h @@ -0,0 +1,32 @@ +/* + * + * Copyright (C) 2006 Free Software Foundation, Inc. + * + * 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, 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, 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Author: Barry deFreese. + */ +/* + * + */ + +#ifndef _KERN_MACH_FACTOR_H_ +#define _KERN_MACH_FACTOR_H_ + +#include <sys/types.h> + +extern void compute_mach_factor(); + +#endif /* _KERN_MACH_FACTOR_H_ */ diff --git a/kern/sched_prim.c b/kern/sched_prim.c index 37f6291..69888e8 100644 --- a/kern/sched_prim.c +++ b/kern/sched_prim.c @@ -39,6 +39,7 @@ #include <kern/cpu_number.h> #include <kern/debug.h> #include <kern/lock.h> +#include <kern/mach_factor.h> #include <kern/macro_help.h> #include <kern/processor.h> #include <kern/queue.h> diff --git a/kern/thread.c b/kern/thread.c index c90acda..8c08dc4 100644 --- a/kern/thread.c +++ b/kern/thread.c @@ -57,6 +57,7 @@ #include <ipc/ipc_port.h> #include <ipc/mach_msg.h> #include <machine/machspl.h> /* for splsched */ +#include <machine/pcb.h> #include <machine/thread.h> /* for MACHINE_STACK */ thread_t active_threads[NCPUS]; |