summaryrefslogtreecommitdiff
path: root/Mach
diff options
context:
space:
mode:
authorOgnyan Kulev <ogi@fmi.uni-sofia.bg>2003-08-02 08:01:00 +0000
committerOgnyan Kulev <ogi@fmi.uni-sofia.bg>2003-08-02 08:01:00 +0000
commitf25a113230a3e4eb1d4c89497f0c527eda9e6939 (patch)
tree3acad6410a00e3c1e5c7a2ffe1edf5084be58dd6 /Mach
parentc2ab2fd0c4802197b71c7e2196fe7ee1c9cb51a3 (diff)
none
Diffstat (limited to 'Mach')
-rw-r--r--Mach/RemoteDebugOskitMach.mdwn4
1 files changed, 4 insertions, 0 deletions
diff --git a/Mach/RemoteDebugOskitMach.mdwn b/Mach/RemoteDebugOskitMach.mdwn
index 9f4c9ce5..5e4a099b 100644
--- a/Mach/RemoteDebugOskitMach.mdwn
+++ b/Mach/RemoteDebugOskitMach.mdwn
@@ -95,10 +95,14 @@ Last you need to follow the instructions given below.
This way you can catch any kernel panics (except for the really nasty ones and try to debug them).
I've noticed that once Mach is running under GDB, pressing C-c from GDB will not suspend it, this makes it hard to set additional breakpoints after the kernel is running. So optionally you can modify Mach to add a dummy system call that will be used only for setting breakpoints, and make a small program that calls it, you can use it whenever you want to pause the kernel and examine something under GDB. An example of how to do this is attached in Appendix A.
+TODO: OSKit overrides interrupts 1 and 3 in kern/x86/gate\_init.c:gate\_init. A patch that skips src-&gt;vector `= 1 || =` 3 have to be prepared and attached to this page. More robust solution is to make OSKit/GNUMach recognize when it's debugged and change vector table accordingly.
+
Now you're all set to do some serious kernel hacking. I hope more people will take advantage of this opportunity.
## <a name="Appendix_A"> Appendix A </a>
+TODO: Move inline diff and code into 2 attached files: one for patching GNU Mach, and one for gdb-break.c.
+
Apply this patch to oskit-mach to add a dummy system call:
--- gdb-stub.diff ---