diff options
Diffstat (limited to 'kernel.cpp')
-rw-r--r-- | kernel.cpp | 47 |
1 files changed, 20 insertions, 27 deletions
@@ -40,35 +40,28 @@ void kernel_main(void) tasking_initialize(); term.write("Tasking enabled.\n"); - //tasking_spawn([] { - // for (;;) { - // do pit_delay_ms(1); - // while (termBusy); - - // termBusy = true; - // term.write('B'); - // termBusy = false; - // } - //}, 256); - - //tasking_spawn([] { - // for (;;) { - // do pit_delay_ms(1); - // while (termBusy); - - // termBusy = true; - // term.write('C'); - // termBusy = false; - // } - //}, 256); - for (;;) { - pit_delay_ms(100); - //while (termBusy); + const auto ch = keyboard_read(); + if (ch) + term.write(*ch); - //termBusy = true; - //term.write('A'); - //termBusy = false; + pit_delay_ms(10); } } +extern "C" +void abort() +{ + term.write("!!! abort() called !!!"); + asm volatile("cli"); + for (;;); +} + +extern "C" +int __cxa_atexit(void (*func)(void *), void *arg, void *dso_handle) +{ + return 0; +} + +int __dso_handle = 0; + |