]> git.dujemihanovic.xyz Git - nameless-os.git/commitdiff
Fix various warnings
authorDuje Mihanović <duje.mihanovic@skole.hr>
Sat, 18 Jun 2022 08:55:25 +0000 (10:55 +0200)
committerDuje Mihanović <duje.mihanovic@skole.hr>
Wed, 22 Jun 2022 16:03:18 +0000 (18:03 +0200)
Makefile
boot/x86/stage3/loader.s
boot/x86/vbr-fat32.s
include/arch/x86/tty.h
kernel/kernel.c

index c823fc4d53015e5c1e7e9f783f4ebf2be3b7af80..bff97e5db3072b6832148e6e3cf900c098d2d30f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@ QEMU = qemu-system-i386 -monitor stdio
 
 export GIT_REV = $(shell git describe --long HEAD)
 
-CFLAGS = -g -Iinclude/arch/x86 -ffreestanding -DGIT_COMMIT=\"$(GIT_REV)\"
+CFLAGS = -g -fgnu89-inline -Iinclude/arch/x86 -ffreestanding -DGIT_COMMIT=\"$(GIT_REV)\"
 
 KERNEL_OBJ = kernel/entry.o kernel/arch/x86/tty/tty.o kernel/drivers/irq/i8259a.o kernel/arch/x86/irq/idt.o kernel/arch/x86/irq/sample_handler.o kernel/kernel.o
 
index 0ca0ea6012591eaea6b0c573bfb7edb961b65eb1..747905d704ef8bc0ae3c50921d996c3bc5ac000e 100644 (file)
@@ -167,9 +167,8 @@ bits 32
        call load_paging_structs
        call enable_paging
 
-       call 0xc0000000
-       hlt
-       jmp $-1
+       jmp 0x8:0xc0000000
+       nop
 
 kernel_name: db "KERNEL  BIN"
 begin: db "Nameless Bootloader revision ", GIT_REVISION, 0xd, 0xa, 0
index 439157f3c4299b6f7bf116f3f519fcbb0d860deb..7af11562331bec8bd2727fd14418addd251f8da2 100644 (file)
@@ -72,8 +72,8 @@ real_start:
        mov di, STAGE3_OFFSET
        call read_cluster_chain ; read stage 3
        mov dl, [BOOT_DRIVE]
-       call STAGE3_ADDRESS ; call stage 3
-       jmp .halt ; halt in case we return, which should never happen
+       jmp 0:STAGE3_ADDRESS ; call stage 3
+       nop
 
 .stage3_missing:
        print stage3_missing
index ce49da9b178e10f98495accdaeef8f2c2da91b8f..3ddd6b5c81c0dbc607bce4a3993c2f86027c50a4 100644 (file)
@@ -22,6 +22,7 @@
 
 extern void screen_clear(void);
 extern void kprint(const char *string, uint8_t color);
+extern void kprintc(const char character, uint8_t color);
 extern void kprintb(const uint8_t byte);
 extern void kprintw(const uint16_t word);
 extern void kprintd(const uint32_t dword);
index 0aa8fc260ddfd604789fa6e2ff0050cb2f4a8970..9257a0e9cdedc7a251d84912414f5591c9c87976 100644 (file)
@@ -5,6 +5,9 @@
 #include <stdint.h>
 #include <mm/paging.h>
 
+struct abort_frame;
+struct interrupt_frame;
+struct fault_frame;
 extern void double_fault(struct abort_frame *frame);
 extern void keyb_handler(struct interrupt_frame *frame);
 extern void pf_handler(struct fault_frame *frame);