diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-02-19 00:22:03 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-02-19 00:22:03 +0000 |
commit | 3031bbbf0d127a6cffa0d6de76497b1fa03eb157 (patch) | |
tree | 0b3d5543bc6ffe0a7cd10a5fef13a0822e3d70ce | |
parent | 1b3ced4f883aae8769b1c6df2111e63f667eb639 (diff) |
Fix experimental server
-rw-r--r-- | debian/patches/70_dde.patch | 110 |
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 */ |