diff options
author | Thomas Schwinge <tschwinge@gnu.org> | 2007-10-24 17:48:48 +0200 |
---|---|---|
committer | Thomas Schwinge <tschwinge@gnu.org> | 2007-10-24 17:50:00 +0200 |
commit | 0363bd70e9fc4d7270008f5d082b5c61c9e24e4e (patch) | |
tree | 2626a46c077b79e6e6920c78b632b22693d24321 /microkernel/mach/gnumach/debugging.mdwn | |
parent | 470e56257595b99d19e918cf23357ecdac571b00 (diff) |
Low-level Mach debugging.
Diffstat (limited to 'microkernel/mach/gnumach/debugging.mdwn')
-rw-r--r-- | microkernel/mach/gnumach/debugging.mdwn | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/microkernel/mach/gnumach/debugging.mdwn b/microkernel/mach/gnumach/debugging.mdwn index 7f4fc6ad..94fdb461 100644 --- a/microkernel/mach/gnumach/debugging.mdwn +++ b/microkernel/mach/gnumach/debugging.mdwn @@ -51,3 +51,16 @@ Then boot your system and do something like this: 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. |