add kernel entry
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1 +1 @@
|
|||||||
boot.bin
|
*.bin
|
||||||
5
makefile
5
makefile
@@ -1,6 +1,11 @@
|
|||||||
|
build: src/boot.bin src/kernel_entry.bin
|
||||||
|
|
||||||
src/boot.bin: src/boot.asm
|
src/boot.bin: src/boot.asm
|
||||||
nasm -o src/boot.bin src/boot.asm
|
nasm -o src/boot.bin src/boot.asm
|
||||||
|
|
||||||
|
src/kernel_entry.bin: src/kernel_entry.asm
|
||||||
|
nasm -felf -o src/kernel_entry.bin src/kernel_entry.asm
|
||||||
|
|
||||||
run: src/boot.bin
|
run: src/boot.bin
|
||||||
qemu-system-x86_64 -drive file=src/boot.bin,format=raw,index=0,media=disk
|
qemu-system-x86_64 -drive file=src/boot.bin,format=raw,index=0,media=disk
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ mov al, 0x3
|
|||||||
int 0x10
|
int 0x10
|
||||||
|
|
||||||
CODE_SEG equ gdt_code - gdt_start
|
CODE_SEG equ gdt_code - gdt_start
|
||||||
|
DATA_SEG equ gdt_data - gdt_start
|
||||||
|
|
||||||
cli
|
cli
|
||||||
lgdt [gdt_descriptor]
|
lgdt [gdt_descriptor]
|
||||||
@@ -37,6 +38,8 @@ mov cr0, eax
|
|||||||
jmp CODE_SEG:start_protected_mode
|
jmp CODE_SEG:start_protected_mode
|
||||||
jmp $
|
jmp $
|
||||||
|
|
||||||
|
BOOT_DISK: db 0
|
||||||
|
|
||||||
gdt_start:
|
gdt_start:
|
||||||
gdt_null:
|
gdt_null:
|
||||||
dd 0x0
|
dd 0x0
|
||||||
|
|||||||
Reference in New Issue
Block a user