52 lines
1.8 KiB
Zig
52 lines
1.8 KiB
Zig
const std = @import("std");
|
|
// // const e820 = @import("e820.zig");
|
|
// const video = @import("video.zig");
|
|
|
|
// pub const SetupHeader = extern struct {
|
|
// _pad1: [15]u8 align(1),
|
|
// jump: u16 align(1),
|
|
// header: u32 align(1),
|
|
// version: u16 align(1),
|
|
// _pad2: [8]u8 align(1),
|
|
// type_of_loader: u8 align(1),
|
|
// loadflags: u8 align(1),
|
|
// _pad3: [22]u8 align(1),
|
|
// cmd_line_ptr: u32 align(1),
|
|
// _pad4: [4]u8 align(1),
|
|
// kernel_alignment: u32 align(1),
|
|
// relocatable_kernel: u8 align(1),
|
|
// min_alignment: u8 align(1),
|
|
// xloadflags: u16 align(1),
|
|
// cmdline_size: u32 align(1),
|
|
// _pad5: [36]u8 align(1),
|
|
// init_size: u32 align(1),
|
|
// _pad6: [8]u8 align(1),
|
|
// };
|
|
|
|
// const E820_MAX_ENTRIES_BP = 128;
|
|
|
|
// pub const BootParams = extern struct {
|
|
// screen_info: video.ScreenInfo align(1), // 0x000
|
|
// _pad1: [0x30]u8 align(1), // 0x040
|
|
// acpi_rsdp_addr: u64 align(1), // 0x070
|
|
// _pad2: [0x50]u8 align(1), // 0x078
|
|
// ext_cmd_line_ptr: u32 align(1), // 0x0c8
|
|
// _pad3: [0x74]u8 align(1), // 0x0cc
|
|
// edid_info: [0x80]u8 align(1), // 0x140 reserve for future use
|
|
// _pad4: [0x28]u8 align(1), // 0x1c0
|
|
// e820_entries: u8 align(1), // 0x1e8
|
|
// _pad5: [0x8]u8 align(1), // 0x1e9
|
|
// hdr: SetupHeader align(1), // 0x1f1
|
|
// _pad6: [0x2d0 - 0x1f1 - @sizeOf(SetupHeader)]u8 align(1),
|
|
// // e820_table: [E820_MAX_ENTRIES_BP]e820.E820Entry align(1), // 0x2d0
|
|
// _pad7: [0x330]u8 align(1), // 0xcd0
|
|
// };
|
|
|
|
// comptime {
|
|
// const assert = std.debug.assert;
|
|
// // assert(@sizeOf(BootParams) == 0x1000);
|
|
// assert(@sizeOf(SetupHeader) == 0x07b);
|
|
// }
|
|
pub const BootParams = struct {
|
|
cmdline: []u8
|
|
}; |