And it happens only when I call the C part of my kernel:APIC register 00000ff0 not implemented
Code: Select all
void KernelEntry(){
for(;;);
}
Code: Select all
[BITS 32]
global Start
Start:
mov BYTE [0B8000h], 'H'
mov BYTE [0B8001h], 0x0A
;call _KernelEntry
jmp $
extern _KernelEntry
Code: Select all
REM Build Kernel
nasm KernelEntryAsm.asm -o Object\KernelEntry.bin -f coff
gcc -c -ffreestanding -Wall -O Kernel\Kernel.c -o Object\Main.o
REM Link Kernel
ld -e Start -Ttext 0x110000 -o Object\kernel.o Object\KernelEntry.bin Object\Main.o
ld -i -e Start -Ttext 0x110000 -o Object\kernel.o Object\KernelEntry.bin Object\Main.o
objcopy -S -O binary Object\Kernel.o Object\kernel.KRNL
Also, my enviroment on leaving the bootloader:
0x110000 - Location of data loaded,
In protected mode, 08h=Code, 16h=Data seg.
I have also verified my bootloader is getting the file contents correctly. If you would like to see the bootloaders, just ask, but they seem completly irrevelant to this. And they are over 1000 lines total all ASM .