From f97343c268b0fc19bf93d509a019f3d13c7af5a4 Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Sat, 8 May 2021 19:07:20 +0200 Subject: Better cmdline parsing --- kernel/drivers/serial.c | 2 ++ kernel/main.c | 4 ---- kernel/multiboot.c | 4 +++- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'kernel') diff --git a/kernel/drivers/serial.c b/kernel/drivers/serial.c index e56c91b..06403f6 100644 --- a/kernel/drivers/serial.c +++ b/kernel/drivers/serial.c @@ -20,6 +20,8 @@ CLEAR void serial_enable(void) { outb(PORT + 4, 0x0f); serial_enabled = 1; + + serial_print("Serial connected!\n"); } CLEAR void serial_install(void) diff --git a/kernel/main.c b/kernel/main.c index 023190a..c51adc9 100644 --- a/kernel/main.c +++ b/kernel/main.c @@ -23,13 +23,9 @@ PROTECTED u32 __stack_chk_guard; int kernel_main(u32 magic, u32 addr, u32 esp); // Decl int kernel_main(u32 magic, u32 addr, u32 esp) { - // Serial connection serial_install(); - serial_print("\nKernel was compiled at " __TIME__ " on " __DATE__ "\n"); - serial_print("Serial connected!\n"); gdt_install(esp); - multiboot_init(magic, addr); memory_install(); diff --git a/kernel/multiboot.c b/kernel/multiboot.c index c99959c..12d2475 100644 --- a/kernel/multiboot.c +++ b/kernel/multiboot.c @@ -16,7 +16,7 @@ CLEAR static void multiboot_parse_cmdline(const char *line) if (*p == ' ') start = p + 1; - if (memcmp(start, "log", 3) == 0) { + if (memcmp(start, "log", 3) == 0 && !ALPHANUMERIC(start[3])) { serial_enable(); start += 3; } @@ -30,6 +30,8 @@ CLEAR void multiboot_init(u32 magic, u32 addr) if (info->flags & MULTIBOOT_INFO_CMDLINE) multiboot_parse_cmdline((const char *)info->cmdline); + + serial_print("Kernel was compiled at " __TIME__ " on " __DATE__ "\n"); } CLEAR u32 multiboot_vbe(void) -- cgit v1.2.3