summaryrefslogtreecommitdiff
path: root/microkernel/mach/gnu_mach/debugging.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'microkernel/mach/gnu_mach/debugging.mdwn')
-rw-r--r--microkernel/mach/gnu_mach/debugging.mdwn68
1 files changed, 0 insertions, 68 deletions
diff --git a/microkernel/mach/gnu_mach/debugging.mdwn b/microkernel/mach/gnu_mach/debugging.mdwn
deleted file mode 100644
index fa2a9d42..00000000
--- a/microkernel/mach/gnu_mach/debugging.mdwn
+++ /dev/null
@@ -1,68 +0,0 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
-id="license" text="Permission is granted to copy, distribute and/or modify this
-document under the terms of the GNU Free Documentation License, Version 1.2 or
-any later version published by the Free Software Foundation; with no Invariant
-Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
-is included in the section entitled
-[[GNU_Free_Documentation_License|/fdl]]."]]"""]]
-
-Mach has a built-in kernel debugger.
-[Manual](http://www.gnu.org/software/hurd/gnumach-doc/Kernel-Debugger.html).
-
-
-When you're [[running_a_system_in_QEMU|hurd/running/qemu]] you can directly
-[use GDB on the running
-kernel](http://fabrice.bellard.free.fr/qemu/qemu-doc.html#SEC36).
-
-
-Alternatively you can use an approach like this one: add the following code
-snippet to `device/ds_routines.c`'s `ds_device_open` function, right at the top
-of the function, and modify the code as needed.
-
- void D (char *s)
- {
- switch (s[0] - '0')
- {
- case 0:
- printf ("Hello from %s!\n", __FUNCTION__);
- break;
- case 1:
- printf ("%s: Invoking task_collect_scan.\n", __FUNCTION__);
- extern void task_collect_scan (void);
- task_collect_scan ();
- break;
- default:
- printf ("No idea what you want me to do.\n");
- break;
- }
- }
-
- if (name && name[0] == 'D')
- D (name + 1);
-
-Then boot your system and do something like this:
-
- # devprobe D0
- Hello from D!
- # devprobe D1
- D: Invoking task_collect_scan.
- # devprobe D2
- No idea what you want me to do.
-
-This is especially useful if you need to manually trigger some stuff inside the
-running kernel, as with the *D1* example.
-
-
-If you're doing real low level debugging, you might want to put variations of
-the following snipped into the code, this code will write a `#` character at
-line `[LINE]`, column `[COLUMN]` on the screen:
-
- *((char *) 0xb8000 + 2 * ([LINE] * 80 + [COLUMN])) = '#';
- halt_cpu ();
-
-The call of `halt_cpu` will -- as the name suggests -- halt the system
-afterwards. This might be what you want or it might not, but it is needed at
-some place when running the kernel inside QEMU, as QEMU somehow decides not to
-update its display buffer anymore under certain conditions.