summaryrefslogtreecommitdiff
path: root/kern
diff options
context:
space:
mode:
Diffstat (limited to 'kern')
-rw-r--r--kern/mach_clock.c3
-rw-r--r--kern/mach_clock.h68
-rw-r--r--kern/mach_factor.c1
-rw-r--r--kern/mach_factor.h32
-rw-r--r--kern/sched_prim.c1
-rw-r--r--kern/thread.c1
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];