diff options
Diffstat (limited to 'mirai/kernel/boot.zig')
| -rw-r--r-- | mirai/kernel/boot.zig | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/mirai/kernel/boot.zig b/mirai/kernel/boot.zig deleted file mode 100644 index 4506d11..0000000 --- a/mirai/kernel/boot.zig +++ /dev/null @@ -1,92 +0,0 @@ -//! Boot Parameters -//! -//! This structure matches what Hikari bootloader passes to the kernel. - -pub const boot_params_magic: u64 = 0x494152494D424B41; // "AKBMIRAI" -pub const boot_params_version: u32 = 1; - -pub const BootParams = extern struct { - magic: u64, - version: u32, - size: u32, - - framebuffer: FramebufferInfo, - memory_map: MemoryMapInfo, - kernel: KernelInfo, - acpi: AcpiInfo, - boot_time: u64, - - reserved: [256]u8, - - pub fn is_valid(self: *const BootParams) bool { - return self.magic == boot_params_magic and - self.version == boot_params_version; - } -}; - -pub const FramebufferInfo = extern struct { - base: u64, - size: u64, - width: u32, - height: u32, - stride: u32, - pixel_format: PixelFormat, - red_mask_size: u8, - red_mask_shift: u8, - green_mask_size: u8, - green_mask_shift: u8, - blue_mask_size: u8, - blue_mask_shift: u8, - reserved: [2]u8, -}; - -pub const PixelFormat = enum(u32) { - rgb = 0, - bgr = 1, - bitmask = 2, - unknown = 255, -}; - -pub const MemoryMapInfo = extern struct { - entries: u64, - entry_count: u32, - entry_size: u32, - descriptor_version: u32, - reserved: u32, -}; - -pub const MemoryRegion = extern struct { - base: u64, - size: u64, - region_type: MemoryType, - attributes: u64, -}; - -pub const MemoryType = enum(u32) { - usable = 0, - reserved = 1, - acpi_reclaimable = 2, - acpi_nvs = 3, - bad_memory = 4, - bootloader_reclaimable = 5, - kernel = 6, - framebuffer = 7, -}; - -pub const KernelInfo = extern struct { - physical_base: u64, - virtual_base: u64, - size: u64, - entry_point: u64, - pml4_address: u64, - physmap_base: u64, - physmap_size: u64, - stack_top: u64, - stack_size: u64, -}; - -pub const AcpiInfo = extern struct { - rsdp_address: u64, - rsdp_version: u32, - reserved: u32, -}; |
