diff options
8 files changed, 0 insertions, 298 deletions
diff --git a/debian/patches/series b/debian/patches/series index 0a6e594..029e46a 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -10,13 +10,6 @@ task-load.patch reorder-ipc_port.patch sysenter0001-yyy-sysenter-prototype.patch -upstreamme0001-kern-bootstrap-deallocate-task.patch -upstreamme0002-kern-bootstrap-deallocate-thread.patch -upstreamme0003-Make-sure-the-field-offsets-are-updated-if-needed.patch -upstreamme0004-ipc-space-inline-reference-counting.patch -upstreamme0005-Disable-the-kernel-tracing-system-XPR.patch -upstreamme0006-kern-lock-make-sure-the-macros-are-only-used-on-simp.patch -upstreamme0007-kern-new-function-thread_sleep_lock.patch vm-cache-policy0001-VM-cache-policy-change.patch vm-cache-policy0002-vm-keep-track-of-clean-pages.patch vm-cache-policy0003-vm-evict-clean-pages-first.patch diff --git a/debian/patches/upstreamme0001-kern-bootstrap-deallocate-task.patch b/debian/patches/upstreamme0001-kern-bootstrap-deallocate-task.patch deleted file mode 100644 index 23892b3..0000000 --- a/debian/patches/upstreamme0001-kern-bootstrap-deallocate-task.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 890a2f6228b479fd0a0084d6f7b0d36f43f28b74 Mon Sep 17 00:00:00 2001 -From: Justus Winter <4winter@informatik.uni-hamburg.de> -Date: Sun, 19 Jul 2015 18:50:29 +0200 -Subject: [PATCH gnumach 1/7] kern/bootstrap: deallocate task - -* kern/bootstrap.c (boot_script_free_task): Deallocate task. ---- - kern/bootstrap.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/kern/bootstrap.c b/kern/bootstrap.c -index 50388ad..03f4f0f 100644 ---- a/kern/bootstrap.c -+++ b/kern/bootstrap.c -@@ -836,6 +836,7 @@ boot_script_free_task (task_t task, int aborting) - { - if (aborting) - task_terminate (task); -+ task_deallocate (task); - } - - int --- -2.1.4 - diff --git a/debian/patches/upstreamme0002-kern-bootstrap-deallocate-thread.patch b/debian/patches/upstreamme0002-kern-bootstrap-deallocate-thread.patch deleted file mode 100644 index 02854af..0000000 --- a/debian/patches/upstreamme0002-kern-bootstrap-deallocate-thread.patch +++ /dev/null @@ -1,28 +0,0 @@ -From b96414a4edc81821f84ead68cb936a6315c37a2d Mon Sep 17 00:00:00 2001 -From: Justus Winter <4winter@informatik.uni-hamburg.de> -Date: Mon, 20 Jul 2015 20:23:46 +0200 -Subject: [PATCH gnumach 2/7] kern/bootstrap: deallocate thread - -Previously, killing the thread would fail because of the extra -reference, making task_terminate loop forever. - -* kern/bootstrap.c (boot_script_exec_command): Deallocate thread. ---- - kern/bootstrap.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/kern/bootstrap.c b/kern/bootstrap.c -index 03f4f0f..cb0f976 100644 ---- a/kern/bootstrap.c -+++ b/kern/bootstrap.c -@@ -736,6 +736,7 @@ boot_script_exec_cmd (void *hook, task_t task, char *path, int argc, - simple_lock (&info.lock); - } - simple_unlock (&info.lock); -+ thread_deallocate (thread); - printf ("\n"); - } - --- -2.1.4 - diff --git a/debian/patches/upstreamme0003-Make-sure-the-field-offsets-are-updated-if-needed.patch b/debian/patches/upstreamme0003-Make-sure-the-field-offsets-are-updated-if-needed.patch deleted file mode 100644 index 53af98d..0000000 --- a/debian/patches/upstreamme0003-Make-sure-the-field-offsets-are-updated-if-needed.patch +++ /dev/null @@ -1,26 +0,0 @@ -From fe214c07526a2138cf5f38f6826e6dd82dbc9af8 Mon Sep 17 00:00:00 2001 -From: Justus Winter <4winter@informatik.uni-hamburg.de> -Date: Mon, 20 Jul 2015 20:26:29 +0200 -Subject: [PATCH gnumach 3/7] Make sure the field offsets are updated if needed - -* Makerules.am: Make sure the field offsets are updated if needed. ---- - Makerules.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makerules.am b/Makerules.am -index b1f17d1..5106fef 100644 ---- a/Makerules.am -+++ b/Makerules.am -@@ -21,7 +21,7 @@ EXTRA_DIST += \ - gensym.awk - %.symc: %.sym gensym.awk - $(AWK_V) $(AWK) -f $(word 2,$^) $< > $@ --%.symc.o: %.symc -+%.symc.o: %.symc config.h - $(AM_V_CC) $(COMPILE) -S -x c -o $@ $< - %.h: %.symc.o - $(AM_V_GEN) sed < $< > $@ \ --- -2.1.4 - diff --git a/debian/patches/upstreamme0004-ipc-space-inline-reference-counting.patch b/debian/patches/upstreamme0004-ipc-space-inline-reference-counting.patch deleted file mode 100644 index 651cdd7..0000000 --- a/debian/patches/upstreamme0004-ipc-space-inline-reference-counting.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 48c553a7c0d4cb629ad8198e501959e3e7592309 Mon Sep 17 00:00:00 2001 -From: Justus Winter <4winter@informatik.uni-hamburg.de> -Date: Mon, 20 Jul 2015 21:16:27 +0200 -Subject: [PATCH gnumach 4/7] ipc/space: inline reference counting - -* ipc/ipc_space.h (is_{reference,release}): Use the macro variant. ---- - ipc/ipc_space.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/ipc/ipc_space.h b/ipc/ipc_space.h -index 73c90ef..a2aac40 100644 ---- a/ipc/ipc_space.h -+++ b/ipc/ipc_space.h -@@ -121,8 +121,8 @@ MACRO_END - extern void ipc_space_reference(struct ipc_space *space); - extern void ipc_space_release(struct ipc_space *space); - --#define is_reference(is) ipc_space_reference(is) --#define is_release(is) ipc_space_release(is) -+#define is_reference(is) ipc_space_reference_macro(is) -+#define is_release(is) ipc_space_release_macro(is) - - kern_return_t ipc_space_create(ipc_space_t *); - kern_return_t ipc_space_create_special(struct ipc_space **); --- -2.1.4 - diff --git a/debian/patches/upstreamme0005-Disable-the-kernel-tracing-system-XPR.patch b/debian/patches/upstreamme0005-Disable-the-kernel-tracing-system-XPR.patch deleted file mode 100644 index e543000..0000000 --- a/debian/patches/upstreamme0005-Disable-the-kernel-tracing-system-XPR.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 45096a75e86dafba5647291b065d44b78bd11f9f Mon Sep 17 00:00:00 2001 -From: Justus Winter <4winter@informatik.uni-hamburg.de> -Date: Tue, 21 Jul 2015 19:29:44 +0200 -Subject: [PATCH gnumach 5/7] Disable the kernel tracing system XPR - -* configfrag.ac (XPR_DEBUG): Disable tracing system. ---- - configfrag.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configfrag.ac b/configfrag.ac -index 5df6239..e41a3a1 100644 ---- a/configfrag.ac -+++ b/configfrag.ac -@@ -101,7 +101,7 @@ AC_DEFINE([SIMPLE_CLOCK], [0], [SIMPLE_CLOCK]) - AC_DEFINE([STAT_TIME], [1], [STAT_TIME]) - - # Kernel tracing. --AC_DEFINE([XPR_DEBUG], [1], [XPR_DEBUG]) -+AC_DEFINE([XPR_DEBUG], [0], [XPR_DEBUG]) - - # Slab allocator debugging facilities. - AC_DEFINE([SLAB_VERIFY], [0], [SLAB_VERIFY]) --- -2.1.4 - diff --git a/debian/patches/upstreamme0006-kern-lock-make-sure-the-macros-are-only-used-on-simp.patch b/debian/patches/upstreamme0006-kern-lock-make-sure-the-macros-are-only-used-on-simp.patch deleted file mode 100644 index 6d1112d..0000000 --- a/debian/patches/upstreamme0006-kern-lock-make-sure-the-macros-are-only-used-on-simp.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 08a14e0f6c0e93ee5e72b6892683582facfd231e Mon Sep 17 00:00:00 2001 -From: Justus Winter <4winter@informatik.uni-hamburg.de> -Date: Sat, 25 Jul 2015 00:53:44 +0200 -Subject: [PATCH gnumach 6/7] kern/lock: make sure the macros are only used on - simple locks - -* kern/lock.h (struct slock, simple_lock_data_empty): Add field -`is_a_simple_lock'. -(simple_lock_assert): New macro that tests for `is_a_simple_lock'. -Use this macro to assert that the argument to various other macros are -indeed simple locks. ---- - kern/lock.h | 35 ++++++++++++++++++++++++----------- - 1 file changed, 24 insertions(+), 11 deletions(-) - -diff --git a/kern/lock.h b/kern/lock.h -index a6d286a..435ee1d 100644 ---- a/kern/lock.h -+++ b/kern/lock.h -@@ -49,8 +49,15 @@ - - struct slock { - volatile natural_t lock_data; /* in general 1 bit is sufficient */ -+ struct {} is_a_simple_lock; - }; - -+/* -+ * Used by macros to assert that the given argument is a simple -+ * lock. -+ */ -+#define simple_lock_assert(l) (void) &(l)->is_a_simple_lock -+ - typedef struct slock simple_lock_data_t; - typedef struct slock *simple_lock_t; - -@@ -62,7 +69,8 @@ typedef struct slock *simple_lock_t; - #define decl_simple_lock_data(class,name) \ - class simple_lock_data_t name; - --#define simple_lock_addr(lock) (&(lock)) -+#define simple_lock_addr(lock) (simple_lock_assert(&(lock)), \ -+ &(lock)) - - #if (NCPUS > 1) - -@@ -70,7 +78,8 @@ class simple_lock_data_t name; - * The single-CPU debugging routines are not valid - * on a multiprocessor. - */ --#define simple_lock_taken(lock) (1) /* always succeeds */ -+#define simple_lock_taken(lock) (simple_lock_assert(lock), \ -+ 1) /* always succeeds */ - #define check_simple_locks() - - #else /* NCPUS > 1 */ -@@ -84,7 +93,8 @@ extern void simple_unlock(simple_lock_t); - extern boolean_t simple_lock_try(simple_lock_t); - - #define simple_lock_pause() --#define simple_lock_taken(lock) ((lock)->lock_data) -+#define simple_lock_taken(lock) (simple_lock_assert(lock), \ -+ (lock)->lock_data) - - extern void check_simple_locks(void); - -@@ -94,19 +104,22 @@ extern void check_simple_locks(void); - /* - * Do not allocate storage for locks if not needed. - */ --struct simple_lock_data_empty {}; --#define decl_simple_lock_data(class,name) \ -+struct simple_lock_data_empty { struct {} is_a_simple_lock; }; -+#define decl_simple_lock_data(class,name) \ - class struct simple_lock_data_empty name; --#define simple_lock_addr(lock) ((simple_lock_t)0) -+#define simple_lock_addr(lock) (simple_lock_assert(&(lock)), \ -+ (simple_lock_t)0) - - /* - * No multiprocessor locking is necessary. - */ --#define simple_lock_init(l) --#define simple_lock(l) --#define simple_unlock(l) ((void)(l)) --#define simple_lock_try(l) (TRUE) /* always succeeds */ --#define simple_lock_taken(l) (1) /* always succeeds */ -+#define simple_lock_init(l) simple_lock_assert(l) -+#define simple_lock(l) simple_lock_assert(l) -+#define simple_unlock(l) simple_lock_assert(l) -+#define simple_lock_try(l) (simple_lock_assert(l), \ -+ TRUE) /* always succeeds */ -+#define simple_lock_taken(l) (simple_lock_assert(l), \ -+ 1) /* always succeeds */ - #define check_simple_locks() - #define simple_lock_pause() - --- -2.1.4 - diff --git a/debian/patches/upstreamme0007-kern-new-function-thread_sleep_lock.patch b/debian/patches/upstreamme0007-kern-new-function-thread_sleep_lock.patch deleted file mode 100644 index 5497650..0000000 --- a/debian/patches/upstreamme0007-kern-new-function-thread_sleep_lock.patch +++ /dev/null @@ -1,59 +0,0 @@ -From b19e79ad919eb62aefba7372b37267feffbbeeaf Mon Sep 17 00:00:00 2001 -From: Justus Winter <4winter@informatik.uni-hamburg.de> -Date: Sat, 25 Jul 2015 01:46:53 +0200 -Subject: [PATCH gnumach 7/7] kern: new function `thread_sleep_lock' - -* kern/sched_prim.c (thread_sleep_lock): New function. -* kern/sched_prim.h (thread_sleep_lock): New delcaration. ---- - kern/sched_prim.c | 18 ++++++++++++++++++ - kern/sched_prim.h | 4 ++++ - 2 files changed, 22 insertions(+) - -diff --git a/kern/sched_prim.c b/kern/sched_prim.c -index e8f260e..e354a21 100644 ---- a/kern/sched_prim.c -+++ b/kern/sched_prim.c -@@ -458,6 +458,24 @@ void thread_sleep( - } - - /* -+ * thread_sleep_lock: -+ * -+ * Cause the current thread to wait until the specified event -+ * occurs. The specified lock is unlocked before releasing -+ * the cpu. (This is a convenient way to sleep without manually -+ * calling assert_wait). -+ */ -+void thread_sleep_lock( -+ event_t event, -+ lock_t lock, -+ boolean_t interruptible) -+{ -+ assert_wait(event, interruptible); /* assert event */ -+ lock_done(lock); /* release the lock */ -+ thread_block((void (*)()) 0); /* block ourselves */ -+} -+ -+/* - * thread_bind: - * - * Force a thread to execute on the specified processor. -diff --git a/kern/sched_prim.h b/kern/sched_prim.h -index 62698dc..83d4594 100644 ---- a/kern/sched_prim.h -+++ b/kern/sched_prim.h -@@ -69,6 +69,10 @@ extern void thread_sleep( - event_t event, - simple_lock_t lock, - boolean_t interruptible); -+extern void thread_sleep_lock( -+ event_t event, -+ lock_t lock, -+ boolean_t interruptible); - extern void thread_wakeup(void); /* for function pointers */ - extern void thread_wakeup_prim( - event_t event, --- -2.1.4 - |