| ... | ... | @@ -21,7 +21,7 @@ pub const BootServices = extern struct { |
| 21 | 21 | allocatePages: usize, // TODO |
| 22 | 22 | freePages: usize, // TODO |
| 23 | 23 | getMemoryMap: extern fn (*usize, [*]MemoryDescriptor, *usize, *usize, *u32) usize, |
| 24 | | allocatePool: usize, // TODO |
| 24 | allocatePool: extern fn (MemoryType, usize, *align(8) [*]u8) usize, |
| 25 | 25 | freePool: usize, // TODO |
| 26 | 26 | createEvent: extern fn (u32, usize, ?extern fn (Event, ?*const c_void) void, ?*const c_void, *Event) usize, |
| 27 | 27 | setTimer: extern fn (Event, TimerDelay, u64) usize, |
| ... | ... | @@ -42,7 +42,7 @@ pub const BootServices = extern struct { |
| 42 | 42 | imageStart: usize, // TODO |
| 43 | 43 | exit: extern fn (Handle, usize, usize, ?*const c_void) usize, |
| 44 | 44 | imageUnload: usize, // TODO |
| 45 | | exitBootServices: usize, // TODO |
| 45 | exitBootServices: extern fn (Handle, usize) usize, |
| 46 | 46 | getNextMonotonicCount: usize, // TODO |
| 47 | 47 | stall: extern fn (usize) usize, |
| 48 | 48 | setWatchdogTimer: extern fn (usize, u64, usize, ?[*]const u16) usize, |
| ... | ... | @@ -82,25 +82,27 @@ pub const TimerDelay = extern enum(u32) { |
| 82 | 82 | TimerRelative, |
| 83 | 83 | }; |
| 84 | 84 | |
| 85 | pub const MemoryType = extern enum(u32) { |
| 86 | ReservedMemoryType, |
| 87 | LoaderCode, |
| 88 | LoaderData, |
| 89 | BootServicesCode, |
| 90 | BootServicesData, |
| 91 | RuntimeServicesCode, |
| 92 | RuntimeServicesData, |
| 93 | ConventionalMemory, |
| 94 | UnusableMemory, |
| 95 | ACPIReclaimMemory, |
| 96 | ACPIMemoryNVS, |
| 97 | MemoryMappedIO, |
| 98 | MemoryMappedIOPortSpace, |
| 99 | PalCode, |
| 100 | PersistentMemory, |
| 101 | MaxMemoryType, |
| 102 | }; |
| 103 | |
| 85 | 104 | pub const MemoryDescriptor = extern struct { |
| 86 | | type: extern enum(u32) { |
| 87 | | ReservedMemoryType, |
| 88 | | LoaderCode, |
| 89 | | LoaderData, |
| 90 | | BootServicesCode, |
| 91 | | BootServicesData, |
| 92 | | RuntimeServicesCode, |
| 93 | | RuntimeServicesData, |
| 94 | | ConventionalMemory, |
| 95 | | UnusableMemory, |
| 96 | | ACPIReclaimMemory, |
| 97 | | ACPIMemoryNVS, |
| 98 | | MemoryMappedIO, |
| 99 | | MemoryMappedIOPortSpace, |
| 100 | | PalCode, |
| 101 | | PersistentMemory, |
| 102 | | MaxMemoryType, |
| 103 | | }, |
| 105 | type: MemoryType, |
| 104 | 106 | physical_start: u64, |
| 105 | 107 | virtual_start: u64, |
| 106 | 108 | number_of_pages: usize, |