feat(loader, kernel): impl part of loader and initialize kernel structure

This commit is contained in:
2026-04-11 09:42:09 +08:00
parent 1233ae9e9b
commit 34ccf69569
53 changed files with 1743 additions and 777 deletions

View File

@@ -0,0 +1,52 @@
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
};