summaryrefslogtreecommitdiff
path: root/src/kernel/serial.c
diff options
context:
space:
mode:
authorBenji Dial <benji6283@gmail.com>2020-09-06 00:48:07 -0400
committerBenji Dial <benji6283@gmail.com>2020-09-06 00:48:07 -0400
commite8c6577617bffa4402c07c7aa20e3c24f03c1c20 (patch)
tree2fb9230b62d2344a44453117de9e656892219788 /src/kernel/serial.c
parent7ff724fe8f709440da9c730fdb8dcbaa4f989ed5 (diff)
downloadportland-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.c5
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