From 056481bedb7141cba93a94c5cf5ba205d9916947 Mon Sep 17 00:00:00 2001 From: Matheus Date: Sat, 8 Apr 2023 02:01:58 -0300 Subject: [PATCH] kernel: e9 port output --- kernel-src/arch/x86-64/e9.c | 15 +++++++++++++++ kernel-src/arch/x86-64/main.c | 3 +++ kernel-src/include/arch/e9.h | 7 +++++++ 3 files changed, 25 insertions(+) create mode 100644 kernel-src/arch/x86-64/e9.c create mode 100644 kernel-src/include/arch/e9.h diff --git a/kernel-src/arch/x86-64/e9.c b/kernel-src/arch/x86-64/e9.c new file mode 100644 index 00000000..a292a3a0 --- /dev/null +++ b/kernel-src/arch/x86-64/e9.c @@ -0,0 +1,15 @@ + + +#include + +// TODO compile time options for disabling output to port e9h + +void arch_e9_putc(char c) { + outb(0xe9, c); +} + +void arch_e9_puts(char *c) { + while (*c) { + outb(0xe9, *c++); + } +} diff --git a/kernel-src/arch/x86-64/main.c b/kernel-src/arch/x86-64/main.c index a08edd24..8f164df7 100644 --- a/kernel-src/arch/x86-64/main.c +++ b/kernel-src/arch/x86-64/main.c @@ -1,4 +1,7 @@ +#include + void kernel_entry() { + arch_e9_puts("Hello, world!\n"); asm("cli"); asm("hlt"); } diff --git a/kernel-src/include/arch/e9.h b/kernel-src/include/arch/e9.h new file mode 100644 index 00000000..d67bc789 --- /dev/null +++ b/kernel-src/include/arch/e9.h @@ -0,0 +1,7 @@ +#ifndef _E9_H +#define _E9_H + +void arch_e9_putc(char); +void arch_e9_puts(char *); + +#endif