diff options
author | Benji Dial <benji6283@gmail.com> | 2020-09-06 00:48:07 -0400 |
---|---|---|
committer | Benji Dial <benji6283@gmail.com> | 2020-09-06 00:48:07 -0400 |
commit | e8c6577617bffa4402c07c7aa20e3c24f03c1c20 (patch) | |
tree | 2fb9230b62d2344a44453117de9e656892219788 /src/kernel/serial.c | |
parent | 7ff724fe8f709440da9c730fdb8dcbaa4f989ed5 (diff) | |
download | portland-os-e8c6577617bffa4402c07c7aa20e3c24f03c1c20.tar.gz |
program loading, others
big kernel additions: paging, elf loading, separate kernel and user page allocation
it now properly loads and runs sd0:bin/init.elf
still need to determine which disk was booted from, and start the init on that disk
Diffstat (limited to 'src/kernel/serial.c')
-rw-r--r-- | src/kernel/serial.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/kernel/serial.c b/src/kernel/serial.c index 9ca8315..c492e1e 100644 --- a/src/kernel/serial.c +++ b/src/kernel/serial.c @@ -52,9 +52,7 @@ static const uint16_t ports[] = { CP_1, CP_2, CP_3, CP_4 }; -static bool error[] = { - false, false, false, false -}; +static bool error[4]; void reset_error(enum serial_port n) { error[n] = false; @@ -62,6 +60,7 @@ void reset_error(enum serial_port n) { void init_serial() { for (enum serial_port i = COM1; i <= COM4; ++i) { + error[i] = false; outb(ports[i] | CP_INT, 0); outb(ports[i] | CP_LINE, CL_BAUD); outb(ports[i] | CP_DIVLOW, 0x03);//38400 |