summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog18
-rw-r--r--ipc/ipc_kmsg.c2
-rw-r--r--ipc/ipc_mqueue.h3
-rw-r--r--kern/bootstrap.c1
-rw-r--r--kern/exception.c1
-rw-r--r--kern/ipc_kobject.h5
-rw-r--r--kern/ipc_mig.c1
-rw-r--r--kern/pc_sample.c1
-rw-r--r--kern/printf.h2
-rw-r--r--kern/processor.c1
-rw-r--r--kern/queue.h1
-rw-r--r--kern/startup.c2
-rw-r--r--kern/thread.h25
-rw-r--r--kern/timer.h4
-rw-r--r--vm/vm_map.h6
15 files changed, 73 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 8ac567b..a6b7fec 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -42,6 +42,24 @@
prototypes.
* kern/time_stamp.h (timestamp_init): Add prototype.
* kern/startup.c: Include <kern/time_stamp.h>.
+ * ipc/ipc_kmsg.c: Include <vm/vm_user.h> and <ipc/ipc_hash.h>.
+ * ipc/ipc_mqueue (ipc_mqueue_copyin): Add prototype.
+ * kern/bootstrap.c: Include <vm/vm_user.h>.
+ * kern/exceptions.c: Include <ipc/ipc_notify.h>.
+ * kern/ipc_kobject.h (ipc_kobject_notify): Add prototype.
+ * kern/ipc_mig.c: Include <device/dev_hdr.h>.
+ * kern/pc_sample.c: Include <machine/trap.h>.
+ * kern/printf.h (safe_gets): Add prototype.
+ * kern/processor.c: Include <kern/ipc_tt.h>.
+ * kern/queue.h (insque): Add prototype.
+ * kern/startup.c: Include <kern/mach_factor.h> and <kern/xpr.h>.
+ * kern/thread.h (thread_start, kernel_thread, thread_priority,
+ thread_set_own_priority, thread_max_priority, thread_policy,
+ consider_thread_collect, stack_privilege): Add prototypes.
+ * kern/timer.h (timer_normalize, timer_init, init_timers): Add
+ prototypes.
+ * vm/vm_map.h (vm_map_lookup_entry, vm_map_entry_delete): Add
+ prototypes.
2008-07-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
diff --git a/ipc/ipc_kmsg.c b/ipc/ipc_kmsg.c
index 6b2ff95..dff0540 100644
--- a/ipc/ipc_kmsg.c
+++ b/ipc/ipc_kmsg.c
@@ -47,8 +47,10 @@
#include <vm/vm_map.h>
#include <vm/vm_object.h>
#include <vm/vm_kern.h>
+#include <vm/vm_user.h>
#include <ipc/port.h>
#include <ipc/ipc_entry.h>
+#include <ipc/ipc_hash.h>
#include <ipc/ipc_kmsg.h>
#include <ipc/ipc_thread.h>
#include <ipc/ipc_marequest.h>
diff --git a/ipc/ipc_mqueue.h b/ipc/ipc_mqueue.h
index 6421aef..ef0f942 100644
--- a/ipc/ipc_mqueue.h
+++ b/ipc/ipc_mqueue.h
@@ -66,6 +66,9 @@ ipc_mqueue_changed(ipc_mqueue_t, mach_msg_return_t);
extern mach_msg_return_t
ipc_mqueue_send(ipc_kmsg_t, mach_msg_option_t, mach_msg_timeout_t);
+extern mach_msg_return_t
+ipc_mqueue_copyin(ipc_space_t, mach_port_t, ipc_mqueue_t *, ipc_object_t *);
+
#define IMQ_NULL_CONTINUE ((void (*)()) 0)
extern mach_msg_return_t
diff --git a/kern/bootstrap.c b/kern/bootstrap.c
index 83c6942..ea8e823 100644
--- a/kern/bootstrap.c
+++ b/kern/bootstrap.c
@@ -45,6 +45,7 @@
#include <kern/thread.h>
#include <kern/lock.h>
#include <vm/vm_kern.h>
+#include <vm/vm_user.h>
#include <device/device_port.h>
#if MACH_KDB
diff --git a/kern/exception.c b/kern/exception.c
index 830d273..6572085 100644
--- a/kern/exception.c
+++ b/kern/exception.c
@@ -32,6 +32,7 @@
#include <machine/locore.h>
#include <ipc/port.h>
#include <ipc/ipc_entry.h>
+#include <ipc/ipc_notify.h>
#include <ipc/ipc_object.h>
#include <ipc/ipc_space.h>
#include <ipc/ipc_port.h>
diff --git a/kern/ipc_kobject.h b/kern/ipc_kobject.h
index 91eb30f..7ffa99f 100644
--- a/kern/ipc_kobject.h
+++ b/kern/ipc_kobject.h
@@ -113,6 +113,11 @@ extern void ipc_kobject_set(
extern void ipc_kobject_destroy(
ipc_port_t port);
+/* Deliver notifications to kobjects that care about them */
+extern boolean_t ipc_kobject_notify (
+ mach_msg_header_t *request_header,
+ mach_msg_header_t *reply_header);
+
#define null_conversion(port) (port)
#endif /* _KERN_IPC_KOBJECT_H_ */
diff --git a/kern/ipc_mig.c b/kern/ipc_mig.c
index 72750ef..9070d33 100644
--- a/kern/ipc_mig.c
+++ b/kern/ipc_mig.c
@@ -46,6 +46,7 @@
#include <ipc/ipc_port.h>
#include <ipc/ipc_pset.h>
#include <ipc/ipc_thread.h>
+#include <device/dev_hdr.h>
#include <device/device_types.h>
diff --git a/kern/pc_sample.c b/kern/pc_sample.c
index be28ca0..c82707b 100644
--- a/kern/pc_sample.c
+++ b/kern/pc_sample.c
@@ -30,6 +30,7 @@
#include <mach/mach_types.h> /* vm_address_t */
#include <mach/std_types.h> /* pointer_t */
#include <mach/pc_sample.h>
+#include <machine/trap.h>
#include <kern/host.h>
#include <kern/thread.h>
#include <kern/pc_sample.h>
diff --git a/kern/printf.h b/kern/printf.h
index 6d41eb8..1383198 100644
--- a/kern/printf.h
+++ b/kern/printf.h
@@ -48,5 +48,7 @@ extern void iprintf (const char *fmt, ...);
extern int vprintf(const char *fmt, va_list listp);
+extern void safe_gets (char *str, int maxlen);
+
#endif /* _MACH_SA_SYS_PRINTF_H_ */
diff --git a/kern/processor.c b/kern/processor.c
index d645051..718ff3a 100644
--- a/kern/processor.c
+++ b/kern/processor.c
@@ -37,6 +37,7 @@
#include <kern/debug.h>
#include <kern/lock.h>
#include <kern/host.h>
+#include <kern/ipc_tt.h>
#include <kern/processor.h>
#include <kern/sched.h>
#include <kern/task.h>
diff --git a/kern/queue.h b/kern/queue.h
index 97a0a76..1846922 100644
--- a/kern/queue.h
+++ b/kern/queue.h
@@ -84,6 +84,7 @@ void enqueue_tail(queue_t, queue_entry_t);
queue_entry_t dequeue_head(queue_t);
queue_entry_t dequeue_tail(queue_t);
void remqueue(queue_t, queue_entry_t);
+void insque(queue_entry_t, queue_entry_t);
/*
* Macro: queue_init
diff --git a/kern/startup.c b/kern/startup.c
index 6595d61..6468ae2 100644
--- a/kern/startup.c
+++ b/kern/startup.c
@@ -34,6 +34,7 @@
#include <ipc/ipc_init.h>
#include <kern/cpu_number.h>
#include <kern/debug.h>
+#include <kern/mach_factor.h>
#include <kern/mach_clock.h>
#include <kern/printf.h>
#include <kern/processor.h>
@@ -42,6 +43,7 @@
#include <kern/thread.h>
#include <kern/thread_swap.h>
#include <kern/timer.h>
+#include <kern/xpr.h>
#include <kern/time_stamp.h>
#include <kern/zalloc.h>
#include <vm/vm_kern.h>
diff --git a/kern/thread.h b/kern/thread.h
index 18905f5..03522da 100644
--- a/kern/thread.h
+++ b/kern/thread.h
@@ -265,6 +265,31 @@ extern kern_return_t thread_resume(
thread_t thread);
extern kern_return_t thread_abort(
thread_t thread);
+extern void thread_start(
+ thread_t thread,
+ continuation_t start);
+extern thread_t kernel_thread(
+ task_t task,
+ continuation_t start,
+ void *arg);
+extern kern_return_t thread_priority(
+ thread_t thread,
+ int priority,
+ boolean_t set_max);
+extern void thread_set_own_priority(
+ int priority);
+extern kern_return_t thread_max_priority(
+ thread_t thread,
+ processor_set_t pset,
+ int max_priority);
+extern kern_return_t thread_policy(
+ thread_t thread,
+ int policy,
+ int data);
+extern void consider_thread_collect(
+ void);
+extern void stack_privilege(
+ thread_t thread);
extern kern_return_t thread_get_state(
thread_t thread,
int flavor,
diff --git a/kern/timer.h b/kern/timer.h
index 07e46fc..f2efffa 100644
--- a/kern/timer.h
+++ b/kern/timer.h
@@ -131,6 +131,8 @@ extern void timer_switch(timer_t);
extern void timer_read(timer_t, time_value_t *);
extern void thread_read_times(thread_t, time_value_t *, time_value_t *);
extern unsigned timer_delta(timer_t, timer_save_t);
+extern void timer_normalize(timer_t);
+extern void timer_init(timer_t);
#if STAT_TIME
/*
@@ -178,4 +180,6 @@ MACRO_BEGIN \
} \
MACRO_END
+extern void init_timers();
+
#endif /* _KERN_TIMER_H_ */
diff --git a/vm/vm_map.h b/vm/vm_map.h
index 25c0065..40c828a 100644
--- a/vm/vm_map.h
+++ b/vm/vm_map.h
@@ -393,6 +393,9 @@ extern void vm_map_print(vm_map_t);
extern kern_return_t vm_map_lookup(vm_map_t *, vm_offset_t, vm_prot_t,
vm_map_version_t *, vm_object_t *,
vm_offset_t *, vm_prot_t *, boolean_t *);
+/* Find a map entry */
+extern boolean_t vm_map_lookup_entry(vm_map_t, vm_offset_t,
+ vm_map_entry_t *);
/* Verify that a previous lookup is still valid */
extern boolean_t vm_map_verify(vm_map_t, vm_map_version_t *);
/* vm_map_verify_done is now a macro -- see below */
@@ -422,6 +425,9 @@ extern kern_return_t vm_map_machine_attribute(vm_map_t, vm_offset_t,
vm_machine_attribute_t,
vm_machine_attribute_val_t *);
+/* Delete entry from map */
+extern void vm_map_entry_delete(vm_map_t, vm_map_entry_t);
+
/*
* Functions implemented as macros
*/