StupidOS/kernel/sys/bootinfo.inc
d0p1 5c2c3bb348 chore: sync repo
- add various comments
- add stpd.file.mk
- etc
2025-10-30 16:36:18 +01:00

57 lines
1.2 KiB
PHP

;; File: bootinfo.inc
;; StupidOS Boot protocol constants and structs
;; Define: BOOT_HEADER_MAGIC
BOOT_HEADER_MAGIC = 0x44505453
;; Define: BOOT_BOOTLOADER_MAGIC
BOOT_BOOTLOADER_MAGIC = 0x53545044
;; Struc: BootHeader
;;
;; .magic - Must be <BOOT_HEADER_MAGIC>
;; .load_end_addr - TODO
;; .bss_end_addr - TODO
;; .entry_addr - Kernel entry point
struc BootHeader {
.magic dd ?
.entry_addr dd ?
.load_end_addr dd ?
.bss_end_addr dd ?
}
;; Struc: BootMMapEntry
;; Memory map entry
;;
;; .base - TODO
;; .length - TODO
struc BootMMapEntry {
.base dq ?
.length dq ?
}
DEFN BootMMapEntry
;; Define: BOOT_MAX_MMAP_ENTRY
BOOT_MAX_MMAP_ENTRY = 16
;; Struc: BootInfoRange
struc BootInfoRange {
.base dd ?
.length dd ?
}
;; Struc: BootInfo
;; StupidOS boot protocol structure
;;
;; .mmap - Free memory map
;; .kernel_start - Kernel start address
;; .kernel_size - Kernel size in bytes
;; .high_mem - Free memory under 1MB
;; .low_mem - Free memory upper 1MB
struc BootInfo {
.mmap dd 4*2*20 dup(0)
.kernel_start dd ?
.kernel_size dd ?
.high_mem dd ?
.low_mem dd ?
}
DEFN BootInfo