From da094d011f52a8f1ce879810cd1a4bbbe34f08d4 Mon Sep 17 00:00:00 2001 From: Tyler Murphy <=> Date: Sat, 22 Jul 2023 11:05:30 -0400 Subject: paging is not very fun --- kernel/src/arch/i686/idt.c | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) (limited to 'kernel/src/arch/i686/idt.c') diff --git a/kernel/src/arch/i686/idt.c b/kernel/src/arch/i686/idt.c index 04fd5f8..3ec32b0 100644 --- a/kernel/src/arch/i686/idt.c +++ b/kernel/src/arch/i686/idt.c @@ -2,7 +2,7 @@ #include #include #include -#include +#include #include #include #include @@ -10,8 +10,7 @@ #include #include #include - -#include "tty/term.h" +#include struct IdtEntry { uint16_t isr_low; @@ -41,31 +40,18 @@ enum IDTFlags { IDT_FLAG_PRESENT = 0x80, }; -#define WIDTH 30 -static char buf[WIDTH]; -static int timer = -1; +static size_t timer = 0; void idt_pic_eoi(uint8_t exception) { pic_eoi(exception - PIC_REMAP_OFFSET); } void idt_pic_timer(void) { - timer += 1; - if (timer % 20 != 0) return; - - uint32_t state = term_save(); - - term_setfg(VGA_LIGHT_GREEN); - term_setpos(TERM_W - WIDTH - 1, 0); - for (size_t i = 0; i < WIDTH; i++) putchar(' '); - term_setpos(TERM_W - WIDTH - 1, 0); - - struct Time t = get_localtime(); - timetostr(&t, "%a %b %d %Y %H:%M:%S", buf, WIDTH); - printk("%s", buf); +} - term_load(state); +size_t get_systemtime(void) { + return timer; } void idt_pic_keyboard(void) { -- cgit v1.2.3-freya