aboutsummaryrefslogtreecommitdiff
path: root/src/mem.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2024-07-06 23:37:11 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2024-07-06 23:37:11 +0300
commit3fedbb6e1f849c5e0a4033d68201d60c2fc48121 (patch)
treebd219cef69a19938ecf453c3c3bb76fc13bd31a9 /src/mem.c
parent3528f88fc36df6964c0efed784ae223cfe93544e (diff)
downloadkmi-3fedbb6e1f849c5e0a4033d68201d60c2fc48121.tar.gz
kmi-3fedbb6e1f849c5e0a4033d68201d60c2fc48121.zip
core bringup + various warnings
+ dbg_fdt() is apparently broken, possibly due to UB or something, but it causes some issues with optimizations enabled. Remove it temporarily
Diffstat (limited to 'src/mem.c')
-rw-r--r--src/mem.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/mem.c b/src/mem.c
index 4fb9d5a..89657e8 100644
--- a/src/mem.c
+++ b/src/mem.c
@@ -26,6 +26,9 @@ pm_t ram_base;
/** RAM size. */
size_t ram_size;
+/** Load address. */
+pm_t load_addr;
+
enum mm_order nearest_order(size_t size)
{
for (enum mm_order order = max_order(); order >= MM_MIN; --order)
@@ -56,7 +59,7 @@ void init_mem(void *fdt)
}
}
-void set_ram_base(uintptr_t base)
+void set_ram_base(pm_t base)
{
ram_base = base;
}
@@ -66,7 +69,12 @@ void set_ram_size(size_t size)
ram_size = size;
}
-uintptr_t get_ram_base()
+void set_load_addr(pm_t addr)
+{
+ load_addr = addr;
+}
+
+pm_t get_ram_base()
{
return ram_base;
}
@@ -75,3 +83,8 @@ size_t get_ram_size()
{
return ram_size;
}
+
+uintptr_t get_load_addr()
+{
+ return load_addr;
+}