aboutsummaryrefslogtreecommitdiff
path: root/kernel/bootinfo
diff options
context:
space:
mode:
authorXander <xander@biltopia.org>2023-07-21 22:38:43 +0200
committerXander <xander@biltopia.org>2023-07-21 22:38:43 +0200
commit58096a11ea200d4caf656bac712cde24daa8a697 (patch)
tree41df97b7d352217888804d8b13ae0802beaa5ffd /kernel/bootinfo
parent1d25d9783127c181f79732eb5c20c680444af414 (diff)
downloadats-os-58096a11ea200d4caf656bac712cde24daa8a697.tar.xz
ats-os-58096a11ea200d4caf656bac712cde24daa8a697.zip
Working frame allocator but VERY ugly code
Diffstat (limited to 'kernel/bootinfo')
-rw-r--r--kernel/bootinfo/multiboot.dats2
-rw-r--r--kernel/bootinfo/multiboot.sats8
2 files changed, 8 insertions, 2 deletions
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<uint8>(p.2,p.2->total_size))
+implement get_multiboot_ranges(p) = (p.2, $UN.cast2Ptr1(ptr_add<uint8>(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
+}