diff --git a/.cache/clangd/index/kmain.c.9B04FE5F8A3537CE.idx b/.cache/clangd/index/kmain.c.9B04FE5F8A3537CE.idx index ef1136d..d0e39c9 100644 Binary files a/.cache/clangd/index/kmain.c.9B04FE5F8A3537CE.idx and b/.cache/clangd/index/kmain.c.9B04FE5F8A3537CE.idx differ diff --git a/compile_commands.json b/compile_commands.json index bb46126..11ded02 100644 --- a/compile_commands.json +++ b/compile_commands.json @@ -2,6 +2,6 @@ { "directory": "/home/rami/rk", "file": "kmain.c", - "command": "i686-elf-gcc -Wall -Wextra -Werror -ffreestanding -I./ -c kmain.c -o build/kmain.o" + "command": "i686-elf-gcc -Wall -Wextra -Werror -ffreestanding -I./include -c kmain.c -o build/kmain.o" } ] diff --git a/include/ide.h b/include/ide.h index 5d68f4f..926aa0c 100644 --- a/include/ide.h +++ b/include/ide.h @@ -12,4 +12,6 @@ enum IDE_MODE { PCI_CAN_SWITCH_BUS_MASTERING = 0x8f, }; + + #endif diff --git a/kmain.c b/kmain.c index 8015ef3..4c55917 100644 --- a/kmain.c +++ b/kmain.c @@ -84,6 +84,10 @@ void kmain(struct multiboot_info *info) { printf("Found FADT at 0x%x\n", fadt); if (fadt->Flags & 1) printf("Legacy devices are supported.\n"); + else { + printf("Legacy devices are not supported. I'm too lazy to support modern devices, bye bye.\n"); + goto halt; + } pic_remap(PIC_1_START, PIC_2_START); // ACPI version 1.0 is so old that we assume that our PC supports the 8042 ps/2 controller initialize_8042ps2(); diff --git a/multiboot.asm b/multiboot.asm index a1d0275..9eb1e4f 100644 --- a/multiboot.asm +++ b/multiboot.asm @@ -48,6 +48,7 @@ ps2_isr: extern ps2_handler pushad cld + and esp, 0xFFFFFFF0 call ps2_handler popad iret diff --git a/vga.c b/vga.c index a60ddee..a4f65f8 100644 --- a/vga.c +++ b/vga.c @@ -55,7 +55,7 @@ void _putchar(char character) { set_cursor_pos(next_line); } else { video_memory[0] = character; - //video_memory[1] = WHITE_ON_BLACK; + video_memory[1] = WHITE_ON_BLACK; set_cursor_pos(pos + 1); } }