[amd64] Stricter warnings for loader
This commit is contained in:
+17
-2
@@ -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)
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user