summaryrefslogtreecommitdiff
path: root/src/kmain.c
diff options
context:
space:
mode:
authortrimill <trimill@trimillxyz.org>2024-01-30 10:19:33 -0500
committertrimill <trimill@trimillxyz.org>2024-01-30 10:19:33 -0500
commit6b8f33c22d41488b88fcd35331867858d8f67763 (patch)
tree4a62ac9c6136a9e9b94cab0b6838add70accfe31 /src/kmain.c
parentrefactor, improve exception message (diff)
downloadcorn-6b8f33c22d41488b88fcd35331867858d8f67763.tar.gz
corn-6b8f33c22d41488b88fcd35331867858d8f67763.tar.bz2
corn-6b8f33c22d41488b88fcd35331867858d8f67763.zip
added backtraces
Diffstat (limited to '')
-rw-r--r--src/kmain.c24
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");