summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2013-12-17 18:44:50 +0100
committerJustus Winter <4winter@informatik.uni-hamburg.de>2013-12-17 18:44:50 +0100
commit0ca6e7b2768b5a0461f75fd0ef3b0764ef952250 (patch)
tree8fbe4abc5c0d6c92fa58630be75c3511d4dbaa6c
parentacf62d04bc2ad8bc4fe4ee92bf6ea398c8199153 (diff)
add fast-demuxers.patch
-rw-r--r--debian/patches/fast-demuxers.patch253
-rw-r--r--debian/patches/series1
2 files changed, 254 insertions, 0 deletions
diff --git a/debian/patches/fast-demuxers.patch b/debian/patches/fast-demuxers.patch
new file mode 100644
index 00000000..a96340a2
--- /dev/null
+++ b/debian/patches/fast-demuxers.patch
@@ -0,0 +1,253 @@
+diff --git a/auth/auth.c b/auth/auth.c
+index a395e79..e69c4f8 100644
+--- a/auth/auth.c
++++ b/auth/auth.c
+@@ -464,18 +464,16 @@ S_auth_server_authenticate (struct authhandle *serverauth,
+ }
+
+
++#include "../libports/notify_S.h"
++#include "../libports/interrupt_S.h"
+
+ static int
+ auth_demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp)
+ {
+- mig_routine_t auth_server_routine (mach_msg_header_t *);
+- mig_routine_t ports_notify_server_routine (mach_msg_header_t *);
+- mig_routine_t ports_interrupt_server_routine (mach_msg_header_t *);
+-
+ mig_routine_t routine;
+ if ((routine = auth_server_routine (inp)) ||
+- (routine = ports_notify_server_routine (inp)) ||
+- (routine = ports_interrupt_server_routine (inp)))
++ (routine = ports_interrupt_server_routine (inp)) ||
++ (routine = ports_notify_server_routine (inp)))
+ {
+ (*routine) (inp, outp);
+ return TRUE;
+diff --git a/exec/main.c b/exec/main.c
+index 41b1db4..c1f347c 100644
+--- a/exec/main.c
++++ b/exec/main.c
+@@ -46,12 +46,12 @@ struct trivfs_control *fsys;
+ char **save_argv;
+
+
++#include "exec_S.h"
++#include "exec_startup_S.h"
++
+ static int
+ exec_demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp)
+ {
+- mig_routine_t exec_server_routine (mach_msg_header_t *);
+- mig_routine_t exec_startup_server_routine (mach_msg_header_t *);
+-
+ mig_routine_t routine;
+ if ((routine = exec_server_routine (inp)) ||
+ (routine = NULL, trivfs_demuxer (inp, outp)) ||
+diff --git a/libdiskfs/demuxer.c b/libdiskfs/demuxer.c
+index 5412f26..4a1c4fb 100644
+--- a/libdiskfs/demuxer.c
++++ b/libdiskfs/demuxer.c
+@@ -17,19 +17,19 @@
+
+ #include "priv.h"
+
++#include "io_S.h"
++#include "fs_S.h"
++#include "../libports/notify_S.h"
++#include "fsys_S.h"
++#include "../libports/interrupt_S.h"
++#include "ifsock_S.h"
++#include "startup_notify_S.h"
++#include "exec_startup_S.h"
++
+ int
+ diskfs_demuxer (mach_msg_header_t *inp,
+ mach_msg_header_t *outp)
+ {
+- mig_routine_t diskfs_io_server_routine (mach_msg_header_t *);
+- mig_routine_t diskfs_fs_server_routine (mach_msg_header_t *);
+- mig_routine_t ports_notify_server_routine (mach_msg_header_t *);
+- mig_routine_t diskfs_fsys_server_routine (mach_msg_header_t *);
+- mig_routine_t ports_interrupt_server_routine (mach_msg_header_t *);
+- mig_routine_t diskfs_ifsock_server_routine (mach_msg_header_t *);
+- mig_routine_t diskfs_exec_startup_server_routine (mach_msg_header_t *);
+- mig_routine_t diskfs_startup_notify_server_routine (mach_msg_header_t *);
+-
+ mig_routine_t routine;
+ if ((routine = diskfs_io_server_routine (inp)) ||
+ (routine = diskfs_fs_server_routine (inp)) ||
+diff --git a/libnetfs/demuxer.c b/libnetfs/demuxer.c
+index 8ef4d86..4c20ab6 100644
+--- a/libnetfs/demuxer.c
++++ b/libnetfs/demuxer.c
+@@ -20,17 +20,17 @@
+
+ #include "netfs.h"
+
++#include "io_S.h"
++#include "fs_S.h"
++#include "../libports/notify_S.h"
++#include "fsys_S.h"
++#include "../libports/interrupt_S.h"
++#include "ifsock_S.h"
++
+ int
+ netfs_demuxer (mach_msg_header_t *inp,
+ mach_msg_header_t *outp)
+ {
+- mig_routine_t netfs_io_server_routine (mach_msg_header_t *);
+- mig_routine_t netfs_fs_server_routine (mach_msg_header_t *);
+- mig_routine_t ports_notify_server_routine (mach_msg_header_t *);
+- mig_routine_t netfs_fsys_server_routine (mach_msg_header_t *);
+- mig_routine_t ports_interrupt_server_routine (mach_msg_header_t *);
+- mig_routine_t netfs_ifsock_server_routine (mach_msg_header_t *);
+-
+ mig_routine_t routine;
+ if ((routine = netfs_io_server_routine (inp)) ||
+ (routine = netfs_fs_server_routine (inp)) ||
+diff --git a/libtrivfs/demuxer.c b/libtrivfs/demuxer.c
+index 411699f..306cd11 100644
+--- a/libtrivfs/demuxer.c
++++ b/libtrivfs/demuxer.c
+@@ -21,17 +21,16 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+ #include "priv.h"
+
++#include "trivfs_io_S.h"
++#include "trivfs_fs_S.h"
++#include "../libports/notify_S.h"
++#include "trivfs_fsys_S.h"
++#include "../libports/interrupt_S.h"
++
+ int
+ trivfs_demuxer (mach_msg_header_t *inp,
+ mach_msg_header_t *outp)
+ {
+- mig_routine_t trivfs_io_server_routine (mach_msg_header_t *);
+- mig_routine_t trivfs_fs_server_routine (mach_msg_header_t *);
+- mig_routine_t ports_notify_server_routine (mach_msg_header_t *);
+- mig_routine_t trivfs_fsys_server_routine (mach_msg_header_t *);
+- mig_routine_t ports_interrupt_server_routine (mach_msg_header_t *);
+- mig_routine_t trivfs_ifsock_server_routine (mach_msg_header_t *);
+-
+ mig_routine_t routine;
+ if ((routine = trivfs_io_server_routine (inp)) ||
+ (routine = trivfs_fs_server_routine (inp)) ||
+diff --git a/pfinet/main.c b/pfinet/main.c
+index dce1600..a596e18 100644
+--- a/pfinet/main.c
++++ b/pfinet/main.c
+@@ -72,16 +72,17 @@ const char *argp_program_version = STANDARD_HURD_VERSION (pfinet);
+ /* Option parser. */
+ extern struct argp pfinet_argp;
+
++#include "io_S.h"
++#include "socket_S.h"
++#include "pfinet_S.h"
++#include "iioctl_S.h"
++#include "startup_notify_S.h"
++
+ int
+ pfinet_demuxer (mach_msg_header_t *inp,
+ mach_msg_header_t *outp)
+ {
+ struct port_info *pi;
+- mig_routine_t io_server_routine (mach_msg_header_t *);
+- mig_routine_t socket_server_routine (mach_msg_header_t *);
+- mig_routine_t pfinet_server_routine (mach_msg_header_t *);
+- mig_routine_t iioctl_server_routine (mach_msg_header_t *);
+- mig_routine_t startup_notify_server_routine (mach_msg_header_t *);
+
+ /* We have several classes in one bucket, which need to be demuxed
+ differently. */
+diff --git a/pflocal/pflocal.c b/pflocal/pflocal.c
+index d51f721..fcb62d1 100644
+--- a/pflocal/pflocal.c
++++ b/pflocal/pflocal.c
+@@ -46,13 +46,12 @@ int trivfs_protid_nportclasses = 1;
+ int trivfs_cntl_nportclasses = 1;
+
+ /* ---------------------------------------------------------------- */
++#include "socket_S.h"
+
+ /* A demuxer to separate out pf-level operations on our node. */
+ static int
+ pf_demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp)
+ {
+- mig_routine_t socket_server_routine (mach_msg_header_t *);
+-
+ mig_routine_t routine;
+ if ((routine = socket_server_routine (inp)) ||
+ (routine = NULL, trivfs_demuxer (inp, outp)))
+diff --git a/pflocal/sserver.c b/pflocal/sserver.c
+index 4ce26b1..7df69a4 100644
+--- a/pflocal/sserver.c
++++ b/pflocal/sserver.c
+@@ -32,15 +32,15 @@ struct port_bucket *sock_port_bucket;
+ static int sock_server_active = 0;
+ static pthread_spinlock_t sock_server_active_lock = PTHREAD_SPINLOCK_INITIALIZER;
+
++#include "io_S.h"
++#include "socket_S.h"
++#include "../libports/interrupt_S.h"
++#include "../libports/notify_S.h"
++
+ /* A demuxer for socket operations. */
+ static int
+ sock_demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp)
+ {
+- mig_routine_t io_server_routine (mach_msg_header_t *);
+- mig_routine_t socket_server_routine (mach_msg_header_t *);
+- mig_routine_t ports_interrupt_server_routine (mach_msg_header_t *);
+- mig_routine_t ports_notify_server_routine (mach_msg_header_t *);
+-
+ mig_routine_t routine;
+ if ((routine = io_server_routine (inp)) ||
+ (routine = socket_server_routine (inp)) ||
+diff --git a/proc/main.c b/proc/main.c
+index 5d6dc21..73742ed 100644
+--- a/proc/main.c
++++ b/proc/main.c
+@@ -34,15 +34,15 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+ const char *argp_program_version = STANDARD_HURD_VERSION (proc);
+
++#include "process_S.h"
++#include "notify_S.h"
++#include "../libports/interrupt_S.h"
++#include "proc_exc_S.h"
++
+ int
+ message_demuxer (mach_msg_header_t *inp,
+ mach_msg_header_t *outp)
+ {
+- mig_routine_t process_server_routine (mach_msg_header_t *);
+- mig_routine_t notify_server_routine (mach_msg_header_t *);
+- mig_routine_t ports_interrupt_server_routine (mach_msg_header_t *);
+- mig_routine_t proc_exc_server_routine (mach_msg_header_t *);
+-
+ mig_routine_t routine;
+ if ((routine = process_server_routine (inp)) ||
+ (routine = notify_server_routine (inp)) ||
+diff --git a/utils/fakeauth.c b/utils/fakeauth.c
+index 2c72c89..660295f 100644
+--- a/utils/fakeauth.c
++++ b/utils/fakeauth.c
+@@ -299,13 +299,11 @@ S_interrupt_operation (mach_port_t port, mach_port_seqno_t seqno)
+ return interrupt_operation (real_auth_port, 0);
+ }
+
++#include "../libports/notify_S.h"
++
+ static int
+ auth_demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp)
+ {
+- mig_routine_t auth_server_routine (mach_msg_header_t *);
+- mig_routine_t interrupt_server_routine (mach_msg_header_t *);
+- mig_routine_t ports_notify_server_routine (mach_msg_header_t *);
+-
+ mig_routine_t routine;
+ if ((routine = auth_server_routine (inp)) ||
+ (routine = interrupt_server_routine (inp)) ||
diff --git a/debian/patches/series b/debian/patches/series
index 652c23b9..a7ce7502 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -35,6 +35,7 @@ libdde_pr_cont.patch
libdde_rx_queue.patch
libdde_rcu.patch
libmachdev.patch
+fast-demuxers.patch
exec_filename_exec.patch
exec_filename_fs.patch
exec_filename_use.patch