diff options
author | trimill <trimill@trimillxyz.org> | 2024-01-30 10:19:33 -0500 |
---|---|---|
committer | trimill <trimill@trimillxyz.org> | 2024-01-30 10:19:33 -0500 |
commit | 6b8f33c22d41488b88fcd35331867858d8f67763 (patch) | |
tree | 4a62ac9c6136a9e9b94cab0b6838add70accfe31 /src/kmain.c | |
parent | refactor, improve exception message (diff) | |
download | corn-6b8f33c22d41488b88fcd35331867858d8f67763.tar.gz corn-6b8f33c22d41488b88fcd35331867858d8f67763.tar.bz2 corn-6b8f33c22d41488b88fcd35331867858d8f67763.zip |
added backtraces
Diffstat (limited to 'src/kmain.c')
-rw-r--r-- | src/kmain.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/kmain.c b/src/kmain.c index d5bee56..b55b6a5 100644 --- a/src/kmain.c +++ b/src/kmain.c @@ -4,6 +4,30 @@ #include <fb.h> #include <shim.h> +void print_memory() { + size_t WIDTH = 64; + + for(size_t i = 0;; i += WIDTH) { + char buf[20]; + ultoa(i, buf, 16); + serial_out_str("0x"); + for(size_t k = 0; k < 6 - strlen(buf); k++) { + serial_out('0'); + } + serial_out_str(buf); + serial_out_str(": "); + for(size_t j = 0; j < WIDTH; j++) { + char x = *(char *)(i + j); + if(x < 0x20 || x >= 0x7f) { + serial_out('.'); + } else { + serial_out(x); + } + } + serial_out('\n'); + } +} + void kmain(struct boot_info *info) { memory_init(info->map); serial_out_str("entered kmain\n"); |