From 58096a11ea200d4caf656bac712cde24daa8a697 Mon Sep 17 00:00:00 2001 From: Xander Date: Fri, 21 Jul 2023 22:38:43 +0200 Subject: Working frame allocator but VERY ugly code --- kernel/bootinfo/multiboot.dats | 2 +- kernel/bootinfo/multiboot.sats | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'kernel/bootinfo') diff --git a/kernel/bootinfo/multiboot.dats b/kernel/bootinfo/multiboot.dats index 96d7f84..4df903e 100644 --- a/kernel/bootinfo/multiboot.dats +++ b/kernel/bootinfo/multiboot.dats @@ -122,7 +122,7 @@ in (the_null_ptr,the_null_ptr) end -implement get_bootinfo_ranges(p) = (p.2, ptr_add(p.2,p.2->total_size)) +implement get_multiboot_ranges(p) = (p.2, $UN.cast2Ptr1(ptr_add(p.2,p.2->total_size))) implement print_elf_headers(p) = let val length = get_elf_headers_n(p) diff --git a/kernel/bootinfo/multiboot.sats b/kernel/bootinfo/multiboot.sats index 963e2e6..0a0dce8 100644 --- a/kernel/bootinfo/multiboot.sats +++ b/kernel/bootinfo/multiboot.sats @@ -59,5 +59,11 @@ fn get_elf_header (p : !bootptr, n : size_t) : elf64_shdr_t fn print_elf_headers (p : !bootptr) : void fn get_kernel_ranges (p : !bootptr) : (Ptr,Ptr) // (kernel start, kernel end) -fn get_bootinfo_ranges (p : !bootptr) : (ptr,ptr) // (bootinfo start, bootinfo end) +fn get_multiboot_ranges (p : !bootptr) : (Ptr0,Ptr0) // (bootinfo start, bootinfo end) +macdef invalid_area = @{ + base_addr = the_null_ptr, + length = i2sz(1), + type = 0u, + reserved = 0u +} -- cgit v1.2.3