summaryrefslogtreecommitdiff
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/series4
-rw-r--r--debian/patches/upstreamme0001-kern-bootstrap-deallocate-task.patch25
-rw-r--r--debian/patches/upstreamme0002-kern-bootstrap-deallocate-thread.patch28
-rw-r--r--debian/patches/upstreamme0003-Make-sure-the-field-offsets-are-updated-if-needed.patch26
-rw-r--r--debian/patches/upstreamme0004-ipc-space-inline-reference-counting.patch28
5 files changed, 111 insertions, 0 deletions
diff --git a/debian/patches/series b/debian/patches/series
index e532dda..a9a2272 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -13,3 +13,7 @@ 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
+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
diff --git a/debian/patches/upstreamme0001-kern-bootstrap-deallocate-task.patch b/debian/patches/upstreamme0001-kern-bootstrap-deallocate-task.patch
new file mode 100644
index 0000000..b563bb8
--- /dev/null
+++ b/debian/patches/upstreamme0001-kern-bootstrap-deallocate-task.patch
@@ -0,0 +1,25 @@
+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/4] 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
new file mode 100644
index 0000000..715c779
--- /dev/null
+++ b/debian/patches/upstreamme0002-kern-bootstrap-deallocate-thread.patch
@@ -0,0 +1,28 @@
+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/4] 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
new file mode 100644
index 0000000..48f9f3e
--- /dev/null
+++ b/debian/patches/upstreamme0003-Make-sure-the-field-offsets-are-updated-if-needed.patch
@@ -0,0 +1,26 @@
+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/4] 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
new file mode 100644
index 0000000..fe6ae5f
--- /dev/null
+++ b/debian/patches/upstreamme0004-ipc-space-inline-reference-counting.patch
@@ -0,0 +1,28 @@
+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/4] 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
+