summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2015-09-27 14:42:24 +0200
committerJustus Winter <4winter@informatik.uni-hamburg.de>2015-09-27 14:42:24 +0200
commit2aa383dee5671d2ed42f464aee69810823543c2a (patch)
tree781b3d9e4b022d3307597ebc1e9c06d81489b3b3
parent6f3e40e6c19cde3ce42e4142e223b9e990e23563 (diff)
add patch series
-rw-r--r--debian/patches/random-fixes0001-kern-bootstrap-drop-into-the-debugger.patch40
-rw-r--r--debian/patches/random-fixes0002-Fix-build-with-DDEBUG.patch77
-rw-r--r--debian/patches/series2
3 files changed, 119 insertions, 0 deletions
diff --git a/debian/patches/random-fixes0001-kern-bootstrap-drop-into-the-debugger.patch b/debian/patches/random-fixes0001-kern-bootstrap-drop-into-the-debugger.patch
new file mode 100644
index 0000000..e971491
--- /dev/null
+++ b/debian/patches/random-fixes0001-kern-bootstrap-drop-into-the-debugger.patch
@@ -0,0 +1,40 @@
+From 74cf1713f195ca5f1665a9fc65a6bec9985925b0 Mon Sep 17 00:00:00 2001
+From: Justus Winter <4winter@informatik.uni-hamburg.de>
+Date: Sun, 27 Sep 2015 14:35:27 +0200
+Subject: [PATCH gnumach 1/2] kern/bootstrap: drop into the debugger
+
+* kern/bootstrap.c (boot_script_prompt_task_resume): Drop into the
+debugger instead of merely waiting for return using `safe_gets', which
+disables interrupts, making it impossible to break into the debugger
+using the magic keys.
+---
+ kern/bootstrap.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/kern/bootstrap.c b/kern/bootstrap.c
+index bb6606c..779f913 100644
+--- a/kern/bootstrap.c
++++ b/kern/bootstrap.c
+@@ -823,10 +823,18 @@ boot_script_task_resume (struct cmd *cmd)
+ int
+ boot_script_prompt_task_resume (struct cmd *cmd)
+ {
++#if ! MACH_KDB
+ char xx[5];
++#endif
++
++ printf ("Pausing for %s...\n", cmd->path);
+
+- printf ("Hit return to resume %s...", cmd->path);
++#if ! MACH_KDB
++ printf ("Hit <return> to resume bootstrap.");
+ safe_gets (xx, sizeof xx);
++#else
++ SoftDebugger("Hit `c<return>' to resume bootstrap.");
++#endif
+
+ return boot_script_task_resume (cmd);
+ }
+--
+2.1.4
+
diff --git a/debian/patches/random-fixes0002-Fix-build-with-DDEBUG.patch b/debian/patches/random-fixes0002-Fix-build-with-DDEBUG.patch
new file mode 100644
index 0000000..ceaa59e
--- /dev/null
+++ b/debian/patches/random-fixes0002-Fix-build-with-DDEBUG.patch
@@ -0,0 +1,77 @@
+From a9f892b5fa95d0df6ea501f8fd8ada8dd2e5f494 Mon Sep 17 00:00:00 2001
+From: Justus Winter <4winter@informatik.uni-hamburg.de>
+Date: Sun, 27 Sep 2015 14:40:02 +0200
+Subject: [PATCH gnumach 2/2] Fix build with -DDEBUG
+
+* device/cirbuf.c: Add missing include.
+* i386/i386/debug.h (dump_ss): Hide declaration from assembler.
+* i386/i386/debug_i386.c: Fix include.
+* kern/sched_prim.h: Add missing include, fix declaration.
+---
+ device/cirbuf.c | 2 ++
+ i386/i386/debug.h | 2 ++
+ i386/i386/debug_i386.c | 2 +-
+ kern/sched_prim.h | 4 +++-
+ 4 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/device/cirbuf.c b/device/cirbuf.c
+index dfb06df..391297c 100644
+--- a/device/cirbuf.c
++++ b/device/cirbuf.c
+@@ -42,6 +42,8 @@
+ /* if c_cl == c_cf - 1, buffer is full */
+
+ #if DEBUG
++#include <mach/boolean.h>
++
+ boolean_t cb_check_enable = FALSE;
+ #define CB_CHECK(cb) if (cb_check_enable) cb_check(cb)
+
+diff --git a/i386/i386/debug.h b/i386/i386/debug.h
+index e94649b..84397ba 100644
+--- a/i386/i386/debug.h
++++ b/i386/i386/debug.h
+@@ -23,10 +23,12 @@
+ #ifndef _I386_DEBUG_
+ #define _I386_DEBUG_
+
++#ifndef __ASSEMBLER__
+ /* Dump a saved state.
+ Probably a good idea to have this around
+ even when DEBUG isn't turned on. */
+ void dump_ss(const struct i386_saved_state *st);
++#endif /* __ASSEMBLER__ */
+
+ #ifdef DEBUG
+
+diff --git a/i386/i386/debug_i386.c b/i386/i386/debug_i386.c
+index 7657808..f0fe2ae 100644
+--- a/i386/i386/debug_i386.c
++++ b/i386/i386/debug_i386.c
+@@ -128,7 +128,7 @@ debug_trace_dump(void)
+ splx(s);
+ }
+
+-#include "syscall_sw.h"
++#include <kern/syscall_sw.h>
+
+ int syscall_trace = 0;
+
+diff --git a/kern/sched_prim.h b/kern/sched_prim.h
+index 8b3f14b..4ba45e3 100644
+--- a/kern/sched_prim.h
++++ b/kern/sched_prim.h
+@@ -180,7 +180,9 @@ void do_thread_scan(void);
+ thread_t choose_pset_thread(processor_t myprocessor, processor_set_t pset);
+
+ #if DEBUG
+-void checkrq(run_queue_t rq, char *msg);
++#include <kern/sched.h> /* for run_queue_t */
++
++void checkrq(run_queue_t rq, const char *msg);
+ void thread_check(thread_t th, run_queue_t rq);
+ #endif /* DEBUG */
+
+--
+2.1.4
+
diff --git a/debian/patches/series b/debian/patches/series
index c8a3f31..425c029 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -16,3 +16,5 @@ fix-locking0005-ipc-fix-locking-issues.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
+random-fixes0001-kern-bootstrap-drop-into-the-debugger.patch
+random-fixes0002-Fix-build-with-DDEBUG.patch