summaryrefslogtreecommitdiff
path: root/kernel/src/arch/i686/mboot.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/src/arch/i686/mboot.c')
-rw-r--r--kernel/src/arch/i686/mboot.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/src/arch/i686/mboot.c b/kernel/src/arch/i686/mboot.c
index 108812f..9cb8c16 100644
--- a/kernel/src/arch/i686/mboot.c
+++ b/kernel/src/arch/i686/mboot.c
@@ -1,3 +1,4 @@
+#include "print.h"
#include <panic.h>
#include <string.h>
#include <arch/i686/mboot.h>
@@ -11,12 +12,13 @@ static void read_cmdline(struct BootTag *tag, char *data, uint8_t len) {
panic("multiboot2 cmd line to long\nmax is %d but was provided %d\n",
CMDLINE_MAX, len);
memcpy(tag->data.cmdline, data, len);
+ tag->data.cmdline[len] = '\0';
info.tags[ID_CMDLINE] = *tag;
}
static void read_memorymap(struct BootTag *tag, uint32_t *data) {
tag->data.memory_map = (struct MemoryMap *) data;
- info.tags[iD_MEMORYMAP] = *tag;
+ info.tags[ID_MEMORYMAP] = *tag;
}
static void read_rsdp(struct BootTag *tag, char *data) {
@@ -36,7 +38,7 @@ static uint32_t *read_tag(uint32_t *data) {
case ID_CMDLINE:
read_cmdline(&tag, (char *)(data + 2), data_len);
break;
- case iD_MEMORYMAP:
+ case ID_MEMORYMAP:
read_memorymap(&tag, data + 2);
break;
case ID_RSDP: