diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile | 2 | ||||
-rw-r--r-- | src/kernel.cpp (renamed from src/kernel.c) | 25 |
2 files changed, 16 insertions, 11 deletions
diff --git a/src/Makefile b/src/Makefile index de59cfb..637f9a1 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,6 +1,6 @@ include ../Makefile.config -kernel.SRCS := multiboot2.c mmap.c kernel.c mem/vmm.c +kernel.SRCS := multiboot2.c mmap.c kernel.cpp mem/vmm.c kernel.OBJS := conf.h include ../rules.mk diff --git a/src/kernel.c b/src/kernel.cpp index b8432a8..751bcb0 100644 --- a/src/kernel.c +++ b/src/kernel.cpp @@ -4,24 +4,29 @@ // description: kernel entry point //===================================================================== +extern "C" { #include "conf.h" -#include "devices/keyboard.h" -#include "devices/mouse.h" -#include "devices/pic.h" -#include "devices/ps2_controller.h" -#include "devices/uart.h" -#include "devices/vga.h" #include "mem.h" +#include <devices/keyboard.h> +#include <devices/mouse.h> +#include <devices/pic.h> +#include <devices/ps2_controller.h> #include <stdio.h> #include <sys/cpuid.h> +} +#include <devices/uart.hpp> +#include <devices/vga.hpp> FILE *stdin; FILE *stdout; FILE *stderr; -void kmain() { - stderr = uart_init(COM1); - stdout = vga_init(vmm_map(0xb8000, 0xc03ff000)); +extern "C" void +kmain() +{ + stderr = uart_init<COM1>(); + vmm_map(0xb8000, 0xc03ff000); + stdout = vga_init((void *)0xc03ff000); printf("glitch [version " VERSION "] [" CC "]\n"); fprintf(stderr, "glitch [version " VERSION "] [" CC "]\n"); @@ -42,7 +47,7 @@ void kmain() { mouse_init(); pic_enable(); - printf("interrupts enabled\n"); + fprintf(stderr, "interrupts enabled\n"); /* alloc4M(); |