diff options
author | dzwdz | 2022-08-01 21:23:46 +0200 |
---|---|---|
committer | dzwdz | 2022-08-01 21:23:46 +0200 |
commit | e9a64093e2187fa858a0bf792d11cb5e7c67064d (patch) | |
tree | 99edc23a5d3318402e41d819dfc1e9e8d7820cdd /src/kernel/arch/amd64/tty | |
parent | 89e59c1c56ca37163ea1629c1c11e9bc48727746 (diff) |
amd64: remove the VGA text mode driver
Diffstat (limited to 'src/kernel/arch/amd64/tty')
-rw-r--r-- | src/kernel/arch/amd64/tty/tty.c | 6 | ||||
-rw-r--r-- | src/kernel/arch/amd64/tty/tty.h | 3 | ||||
-rw-r--r-- | src/kernel/arch/amd64/tty/vga.c | 33 |
3 files changed, 1 insertions, 41 deletions
diff --git a/src/kernel/arch/amd64/tty/tty.c b/src/kernel/arch/amd64/tty/tty.c index fcd4675..6730800 100644 --- a/src/kernel/arch/amd64/tty/tty.c +++ b/src/kernel/arch/amd64/tty/tty.c @@ -4,15 +4,11 @@ #include <shared/printf.h> void tty_init(void) { - vga_clear(); serial_preinit(); - - vga_write("\x03 ", 2); // cp437 heart serial_write("<3 ", 3); } -static void backend(void __attribute__((unused)) *arg, const char *buf, size_t len) { - vga_write(buf, len); +static void backend(void __attribute__((unused)) *arg, const char *buf, size_t len) { serial_write(buf, len); } diff --git a/src/kernel/arch/amd64/tty/tty.h b/src/kernel/arch/amd64/tty/tty.h index b96003d..a8f594c 100644 --- a/src/kernel/arch/amd64/tty/tty.h +++ b/src/kernel/arch/amd64/tty/tty.h @@ -1,7 +1,4 @@ #pragma once #include <stddef.h> -void vga_write(const char *buf, size_t len); -void vga_clear(void); - void tty_init(void); diff --git a/src/kernel/arch/amd64/tty/vga.c b/src/kernel/arch/amd64/tty/vga.c deleted file mode 100644 index e5f2274..0000000 --- a/src/kernel/arch/amd64/tty/vga.c +++ /dev/null @@ -1,33 +0,0 @@ -#include <kernel/arch/amd64/tty/tty.h> - -struct vga_cell { - unsigned char c; - unsigned char style; -} __attribute__((__packed__)); - -static const size_t vga_len = 80 * 25; -static struct vga_cell *vga = (void*) 0xB8000; -static size_t vga_pos = 0; - -static void vga_scroll(void) { - for (size_t i = 0; i < vga_len - 80; i++) - vga[i] = vga[i + 80]; - vga_pos -= 80; -} - -static void vga_putchar(char c) { - if (vga_pos >= vga_len - 80) - vga_scroll(); - vga[vga_pos++].c = c; -} - -void vga_write(const char *buf, size_t len) { - for (size_t i = 0; i < len; i++) - vga_putchar(buf[i]); -} - -void vga_clear(void) { - for (size_t i = 0; i < vga_len; i++) - vga[i].c = ' '; - vga_pos = 0; -} |