[amd64] Stricter warnings for loader

This commit is contained in:
Mark
2019-09-18 11:32:56 +03:00
parent be9eba16ac
commit f5d99d6b2f
2 changed files with 19 additions and 4 deletions
+17 -2
View File
@@ -49,7 +49,16 @@ loader_OBJS+=$(O)/arch/amd64/loader/boot.o \
$(O)/arch/amd64/loader/loader.o \
$(O)/arch/amd64/loader/util.o
loader_LINKER=$(S)/arch/amd64/loader/link.ld
loader_CFLAGS=-ffreestanding -nostdlib -I. -Iinclude -m32
loader_CFLAGS=-ffreestanding \
-nostdlib \
-I. \
-Iinclude \
-m32 \
-Wall \
-Wextra \
-Wpedantic \
-Wno-unused-argument \
-Werror
loader_LDFLAGS=-nostdlib -melf_i386 -T$(loader_LINKER)
$(O)/loader.elf: $(loader_OBJS) $(loader_LINKER)
@@ -64,7 +73,13 @@ $(O)/arch/amd64/loader/%.o: $(S)/arch/amd64/loader/%.c $(HEADERS)
@printf " CC\t%s\n" $@
@$(CROSSCC) $(loader_CFLAGS) -c -o $@ $<
### Debugging and emulation
QEMU_BIN?=qemu-system-x86_64
QEMU_OPTS?=-nographic \
-serial mon:stdio \
-m 512
qemu: all
@$(QEMU_BIN) -kernel $(O)/loader.elf -initrd $(O)/kernel.elf -serial mon:stdio -m 512
@$(QEMU_BIN) \
-kernel $(O)/loader.elf \
-initrd $(O)/kernel.elf $(QEMU_OPTS)
+2 -2
View File
@@ -88,9 +88,9 @@ void loader_main(uint32_t magic, struct multiboot_info *mb_info) {
}
// Setup loader_data
loader_data.multiboot_info_ptr = (uint64_t) mb_info;
loader_data.multiboot_info_ptr = (uintptr_t) mb_info;
struct multiboot_mod_list *mod_list = (struct multiboot_mod_list *) mb_info->mods_addr;
struct multiboot_mod_list *mod_list = (struct multiboot_mod_list *) (uintptr_t) mb_info->mods_addr;
if (mb_info->mods_count != 1) {
panic("Expected 1 module");