summaryrefslogtreecommitdiffstats
path: root/arch/x86_64/hal/serial_com.c
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2026-10-16 16:42:22 -0400
committerJon Santmyer <jon@jonsantmyer.com>2026-10-16 16:42:22 -0400
commitd8aca3ff2501f9a77e22e5afb7a30380aed205af (patch)
treea27db1749a35aea07317406f170a2d9b2a799ce7 /arch/x86_64/hal/serial_com.c
parent548506392b789f58b1556a6ffca917441e1d89fd (diff)
downloadjove-kernel-d8aca3ff2501f9a77e22e5afb7a30380aed205af.tar.gz
jove-kernel-d8aca3ff2501f9a77e22e5afb7a30380aed205af.tar.bz2
jove-kernel-d8aca3ff2501f9a77e22e5afb7a30380aed205af.zip
remove explicit framebuffer in kernel. reduce locking in syscalls
Diffstat (limited to 'arch/x86_64/hal/serial_com.c')
-rw-r--r--arch/x86_64/hal/serial_com.c26
1 files changed, 6 insertions, 20 deletions
diff --git a/arch/x86_64/hal/serial_com.c b/arch/x86_64/hal/serial_com.c
index 372a433..c571057 100644
--- a/arch/x86_64/hal/serial_com.c
+++ b/arch/x86_64/hal/serial_com.c
@@ -1,10 +1,8 @@
+#ifdef DEBUG_SERIAL
+
#include "serial_com.h"
#include "port.h"
#include "jove.h"
-#include "hal/obj.h"
-#include "proc/init.h"
-#include "lib/printf.h"
-#include "sys/objdir.h"
static int
serial_com_recv(uint16_t port)
@@ -67,27 +65,15 @@ serial_com_init(void)
if(serial_com_init_port(SERIAL_COM1, 3)) {
return;
}
-
- {
- jove_owned_obj_t *com_obj = objdir_getlocal(_rootdir_obj, INIT_ROOTDIR_SERIAL_COM_I);
- obj_settype(com_obj, JOVE_OBJ_SERIAL_COM);
- obj_setvalue(com_obj, SERIAL_COM1);
- obj_release(com_obj);
- }
-
- kprintf("Initialized COM1 on port %X for obj %X\n", SERIAL_COM1, INIT_ROOTDIR_SERIAL_COM_I);
}
int
-serial_com_write(
- jove_owned_obj_t *obj,
- const char *s, size_t len)
+serial_com_write(uint16_t port, const char *s, size_t len)
{
- if(obj_gettype(obj) != JOVE_OBJ_SERIAL_COM) {
- reterr(EBADOBJ);
- }
for(size_t i = 0; i < len; i++) {
- serial_com_putc((uint16_t)obj_getvalue(obj), s[i]);
+ serial_com_putc(port, s[i]);
}
return len;
}
+
+#endif