[kernel] Update kernel binary's header structure

The kernel's file header has not been verified for a long time. This
change returns file verification to the bootloader to make sure the ELF
loaded in position 0 is actually the kernel.
This commit is contained in:
Justin C. Miller
2021-05-28 14:44:13 -07:00
parent 910fde3b2c
commit 9fbbd8b954
6 changed files with 78 additions and 17 deletions

View File

@@ -1,16 +1,18 @@
MAGIC equ 0x600db007 ; jsix OS header magic number
MAGIC equ 'j6KERNEL' ; jsix kernel header magic number
section .header
align 4
global _header
_header:
dd MAGIC ; Kernel header magic
dw 1 ; Header version 1
dw 16 ; Kernel header length
db VERSION_MAJOR ; Kernel version
db VERSION_MINOR
align 8
global _kernel_header
_kernel_header:
dq MAGIC ; Kernel header magic
dw 32 ; Kernel header length
dw 2 ; Header version 2
dw VERSION_MAJOR ; Kernel version
dw VERSION_MINOR
dw VERSION_PATCH
dw 0 ; reserved
dd VERSION_GITSHA
dq 0 ; Flags
section .text
align 16