From d617de6a0c4e695450a183a78999e00d5cdc52f0 Mon Sep 17 00:00:00 2001 From: Xnoe Date: Thu, 23 Sep 2021 15:09:06 +0100 Subject: [PATCH] Moved some files around in preparation for completely changing the way that booting works --- Makefile | 6 +-- hello.asm | 20 -------- kernel32.ld | 1 + print.asm | 46 ------------------- atapio.c => src/kernel/atapio.c | 0 atapio.h => src/kernel/atapio.h | 0 idt.c => src/kernel/idt.c | 0 idt.h => src/kernel/idt.h | 0 io.c => src/kernel/io.c | 0 io.h => src/kernel/io.h | 0 kernel32.c => src/kernel/kernel32.c | 0 .../kernel/kernel32_strap.asm | 0 keyboard.c => src/kernel/keyboard.c | 0 keyboard.h => src/kernel/keyboard.h | 0 screenstuff.c => src/kernel/screenstuff.c | 0 screenstuff.h => src/kernel/screenstuff.h | 0 strings.c => src/kernel/strings.c | 0 strings.h => src/kernel/strings.h | 0 types.h => src/kernel/types.h | 0 19 files changed, 4 insertions(+), 69 deletions(-) delete mode 100644 hello.asm delete mode 100644 print.asm rename atapio.c => src/kernel/atapio.c (100%) rename atapio.h => src/kernel/atapio.h (100%) rename idt.c => src/kernel/idt.c (100%) rename idt.h => src/kernel/idt.h (100%) rename io.c => src/kernel/io.c (100%) rename io.h => src/kernel/io.h (100%) rename kernel32.c => src/kernel/kernel32.c (100%) rename kernel32_strap.asm => src/kernel/kernel32_strap.asm (100%) rename keyboard.c => src/kernel/keyboard.c (100%) rename keyboard.h => src/kernel/keyboard.h (100%) rename screenstuff.c => src/kernel/screenstuff.c (100%) rename screenstuff.h => src/kernel/screenstuff.h (100%) rename strings.c => src/kernel/strings.c (100%) rename strings.h => src/kernel/strings.h (100%) rename types.h => src/kernel/types.h (100%) diff --git a/Makefile b/Makefile index cb436b1..64ceedb 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ CFLAGS = -m32 -mgeneral-regs-only -nostdlib -fno-builtin -fno-exceptions -fno-leading-underscore -fno-pie -fno-stack-protector -Wno-pointer-to-int-cast LDFLAGS = -DISK_IMG_FILES = kernel.bin hello.bin print.bin boot32.bin kernel32.bin +DISK_IMG_FILES = kernel.bin boot32.bin kernel32.bin KERNEL32_OBJS = screenstuff.o io.o idt.o keyboard.o strings.o atapio.o kernel32_strap.o kernel32.o run: disk.img @@ -28,8 +28,8 @@ boot.sector: boot.asm kernel32.bin: kernel32.ld $(KERNEL32_OBJS) ld $(LDFLAGS) -T $< $(KERNEL32_OBJS) -%.o: %.asm +%.o: src/kernel/%.asm nasm -felf32 $< -o $@ -%.o: %.c +%.o: src/kernel/%.c gcc $(CFLAGS) -o $@ -c $< \ No newline at end of file diff --git a/hello.asm b/hello.asm deleted file mode 100644 index 8ac6a38..0000000 --- a/hello.asm +++ /dev/null @@ -1,20 +0,0 @@ -push bp -mov bp, sp - -mov ax, [bp + 6] -mov ds, ax - -mov si, hello_world_str -mov ah, 01h -int 22h - -pop bp -retf - -hello_world_str db "Hello, World!", 13, 10, 13, 10, 0 -new_line db 13, 10, 0 - -buffer: - times 32 db 0 - -program_segment dw 0 \ No newline at end of file diff --git a/kernel32.ld b/kernel32.ld index cf9fd04..98b8250 100644 --- a/kernel32.ld +++ b/kernel32.ld @@ -10,5 +10,6 @@ SECTIONS { kernel32_strap.o(.text) kernel32.o(.text) *(.text) + heap_section = .; } } \ No newline at end of file diff --git a/print.asm b/print.asm deleted file mode 100644 index 22181b7..0000000 --- a/print.asm +++ /dev/null @@ -1,46 +0,0 @@ - push bp - mov bp, sp - - mov ax, [bp+6] - mov ds, ax - mov word [program_segment], ax - - mov si, filename - mov ah, 4 - int 22h - - cmp ax, 0 - je error - - mov si, ax - mov di, 0 - mov bx, word [program_segment] - add bx, 1000h - mov ah, 3 - int 22h - - push word [program_segment] - mov ax, word [program_segment] - add ax, 1000h - mov ds, ax - mov si, 0 - mov ah, 1 - int 22h - - pop ax - mov ds, ax - - jmp exit - -error: - mov si, err_msg - mov ah, 1 - int 22h - -exit: - pop bp - retf - -filename db "HELLO TXT" -err_msg db "HELLO.TXT Missing!" -program_segment dw 0 \ No newline at end of file diff --git a/atapio.c b/src/kernel/atapio.c similarity index 100% rename from atapio.c rename to src/kernel/atapio.c diff --git a/atapio.h b/src/kernel/atapio.h similarity index 100% rename from atapio.h rename to src/kernel/atapio.h diff --git a/idt.c b/src/kernel/idt.c similarity index 100% rename from idt.c rename to src/kernel/idt.c diff --git a/idt.h b/src/kernel/idt.h similarity index 100% rename from idt.h rename to src/kernel/idt.h diff --git a/io.c b/src/kernel/io.c similarity index 100% rename from io.c rename to src/kernel/io.c diff --git a/io.h b/src/kernel/io.h similarity index 100% rename from io.h rename to src/kernel/io.h diff --git a/kernel32.c b/src/kernel/kernel32.c similarity index 100% rename from kernel32.c rename to src/kernel/kernel32.c diff --git a/kernel32_strap.asm b/src/kernel/kernel32_strap.asm similarity index 100% rename from kernel32_strap.asm rename to src/kernel/kernel32_strap.asm diff --git a/keyboard.c b/src/kernel/keyboard.c similarity index 100% rename from keyboard.c rename to src/kernel/keyboard.c diff --git a/keyboard.h b/src/kernel/keyboard.h similarity index 100% rename from keyboard.h rename to src/kernel/keyboard.h diff --git a/screenstuff.c b/src/kernel/screenstuff.c similarity index 100% rename from screenstuff.c rename to src/kernel/screenstuff.c diff --git a/screenstuff.h b/src/kernel/screenstuff.h similarity index 100% rename from screenstuff.h rename to src/kernel/screenstuff.h diff --git a/strings.c b/src/kernel/strings.c similarity index 100% rename from strings.c rename to src/kernel/strings.c diff --git a/strings.h b/src/kernel/strings.h similarity index 100% rename from strings.h rename to src/kernel/strings.h diff --git a/types.h b/src/kernel/types.h similarity index 100% rename from types.h rename to src/kernel/types.h