summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2012-02-19 00:22:03 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2012-02-19 00:22:03 +0000
commit3031bbbf0d127a6cffa0d6de76497b1fa03eb157 (patch)
tree0b3d5543bc6ffe0a7cd10a5fef13a0822e3d70ce
parent1b3ced4f883aae8769b1c6df2111e63f667eb639 (diff)
Fix experimental server
-rw-r--r--debian/patches/70_dde.patch110
1 files changed, 86 insertions, 24 deletions
diff --git a/debian/patches/70_dde.patch b/debian/patches/70_dde.patch
index e1b05ca..d88ce09 100644
--- a/debian/patches/70_dde.patch
+++ b/debian/patches/70_dde.patch
@@ -1,8 +1,16 @@
diff --git a/Makefrag.am b/Makefrag.am
-index 7180093..26558e7 100644
+index 5d22504..64abbe9 100644
--- a/Makefrag.am
+++ b/Makefrag.am
-@@ -285,6 +285,7 @@ libkernel_a_SOURCES += \
+@@ -204,6 +204,7 @@ libkernel_a_SOURCES += \
+ EXTRA_DIST += \
+ kern/mach.srv \
+ kern/mach4.srv \
++ kern/experimental.srv \
+ kern/mach_debug.srv \
+ kern/mach_host.srv
+
+@@ -280,6 +281,7 @@ libkernel_a_SOURCES += \
device/device_types_kernel.h \
device/ds_routines.c \
device/ds_routines.h \
@@ -10,6 +18,40 @@ index 7180093..26558e7 100644
device/if_ether.h \
device/if_hdr.h \
device/io_req.h \
+@@ -348,6 +352,7 @@ include_mach_HEADERS = \
+ include/mach/memory_object_default.defs \
+ include/mach/notify.defs \
+ include/mach/std_types.defs \
++ include/mach/experimental.defs \
+ include/mach/alert.h \
+ include/mach/boolean.h \
+ include/mach/boot.h \
+@@ -478,6 +483,7 @@ nodist_libkernel_a_SOURCES += \
+ nodist_lib_dep_tr_for_defs_a_SOURCES += \
+ kern/mach.server.defs.c \
+ kern/mach4.server.defs.c \
++ kern/experimental.server.defs.c \
+ kern/mach_debug.server.defs.c \
+ kern/mach_host.server.defs.c
+ nodist_libkernel_a_SOURCES += \
+@@ -487,6 +493,9 @@ nodist_libkernel_a_SOURCES += \
+ kern/mach4.server.h \
+ kern/mach4.server.c \
+ kern/mach4.server.msgids \
++ kern/experimental.server.h \
++ kern/experimental.server.c \
++ kern/experimental.server.msgids \
+ kern/mach_debug.server.h \
+ kern/mach_debug.server.c \
+ kern/mach_debug.server.msgids \
+@@ -495,6 +504,7 @@ nodist_libkernel_a_SOURCES += \
+ kern/mach_host.server.msgids
+ # kern/mach.server.defs
+ # kern/mach4.server.defs
++# kern/experimental.server.defs
+ # kern/mach_debug.server.defs
+ # kern/mach_host.server.defs
+
diff --git a/device/ds_routines.c b/device/ds_routines.c
index 5a6fdd2..b89d70f 100644
--- a/device/ds_routines.c
@@ -19,7 +61,7 @@ index 5a6fdd2..b89d70f 100644
}
+io_return_t
-+ds_device_intr_register (ipc_port_t master_port, int line,
++experimental_device_intr_register (ipc_port_t master_port, int line,
+ int id, int flags, ipc_port_t receive_port)
+{
+#ifdef MACH_XEN
@@ -63,7 +105,7 @@ index 5a6fdd2..b89d70f 100644
}
+kern_return_t
-+ds_device_intr_enable(ipc_port_t master_port, int line, char status)
++experimental_device_intr_enable(ipc_port_t master_port, int line, char status)
+{
+#ifdef MACH_XEN
+ return D_INVALID_OPERATION;
@@ -299,12 +341,18 @@ index 0000000..6fca328
+ return TRUE;
+}
+#endif /* MACH_XEN */
+--- /dev/null 2012-02-17 19:11:40.849680975 +0100
++++ b/kern/experimental.srv 2012-02-18 22:56:48.192291483 +0100
+@@ -0,0 +1,3 @@
++#define KERNEL_SERVER 1
++
++#include <mach/experimental.defs>
diff --git a/include/device/intr.defs b/include/device/intr.defs
new file mode 100644
index 0000000..368b96c
--- /dev/null
+++ b/include/mach/experimental.defs
-@@ -0,0 +1,94 @@
+@@ -0,0 +1,100 @@
+/*
+ * Mach Operating System
+ * Copyright (c) 1991,1990,1989 Carnegie Mellon University
@@ -331,20 +379,26 @@ index 0000000..368b96c
+ * the rights to redistribute these changes.
+ */
+
-+subsystem experimental 424242;
++subsystem
++#if KERNEL_USER
++ KernelUser
++#endif /* KERNEL_USER */
++#if KERNEL_SERVER
++ KernelServer
++#endif /* KERNEL_SERVER */
++ experimental 424242;
+
+#include <mach/std_types.defs>
+#include <mach/mach_types.defs>
+
-+serverprefix do_;
-+serverdemux intr_notify_server;
++serverprefix experimental_;
+
+type notify_port_t = MACH_MSG_TYPE_MOVE_SEND_ONCE
-+ ctype: mach_port_t
++ ctype: mach_port_t;
+
-+simpleroutine mach_intr_notify(
++skip; /*simpleroutine mach_intr_notify(
+ notify : notify_port_t;
-+ name : int);
++ name : int);*/
+
+routine device_intr_register(
+ master_port : mach_port_t;
@@ -593,7 +647,7 @@ index 59c2a36..6cd9d77 100644
+ }
+}
+
-+kern_return_t vm_allocate_contiguous(host_priv, map, result_vaddr, result_paddr, size)
++kern_return_t experimental_vm_allocate_contiguous(host_priv, map, result_vaddr, result_paddr, size)
+ host_t host_priv;
+ vm_map_t map;
+ vm_address_t *result_vaddr;
@@ -708,15 +762,23 @@ index 95b499b..c360af6 100644
#endif
#ifndef MACH
console_map_init();
-diff --git a/Makefrag.am b/Makefrag.am
-index be7b4f4..7ecda30 100644
---- a/Makefrag.am
-+++ b/Makefrag.am
-@@ -355,6 +355,7 @@ include_mach_HEADERS = \
- include/mach/memory_object_default.defs \
- include/mach/notify.defs \
- include/mach/std_types.defs \
-+ include/mach/experimental.defs \
- include/mach/alert.h \
- include/mach/boolean.h \
- include/mach/boot.h \
+diff --git a/kern/ipc_kobject.c b/kern/ipc_kobject.c
+index bd171a7..285f90d 100644
+--- a/kern/ipc_kobject.c
++++ b/kern/ipc_kobject.c
+@@ -152,6 +152,7 @@ ipc_kobject_server(request)
+ device_server_routine(),
+ device_pager_server_routine(),
+ mach4_server_routine();
++ experimental_server_routine();
+ #if MACH_DEBUG
+ extern mig_routine_t mach_debug_server_routine();
+ #endif
+@@ -170,6 +171,7 @@ ipc_kobject_server(request)
+ || (routine = mach_debug_server_routine(&request->ikm_header)) != 0
+ #endif /* MACH_DEBUG */
+ || (routine = mach4_server_routine(&request->ikm_header)) != 0
++ || (routine = experimental_server_routine(&request->ikm_header)) != 0
+ #if MACH_MACHINE_ROUTINES
+ || (routine = MACHINE_SERVER_ROUTINE(&request->ikm_header)) != 0
+ #endif /* MACH_MACHINE_ROUTINES */