aboutsummaryrefslogtreecommitdiff
path: root/include/arch
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2024-07-07 07:00:43 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2024-07-07 07:00:43 +0300
commit122374c362ba8bb9082385da3c82e264ab594f15 (patch)
tree0123fad5464aaf64f522d48f5069b35b90207aae /include/arch
parent03e12129927b0deba537a11bb5575bef93c57d0f (diff)
downloadkmi-122374c362ba8bb9082385da3c82e264ab594f15.tar.gz
kmi-122374c362ba8bb9082385da3c82e264ab594f15.zip
smp now seems to work
+ Had some minor issues with a wraparound of size_t that effectively meant that some regions were allocated twice. Also, booting should be a bit more reliable now, turned out that the previous iteration of the booting was just accidentally working due to the kernel being placed 'close enough' in RAM to where it was linked to. Fixed by allocating a vmem of O1 that maps the kernel to a 2MiB boundary at boot, pretty nifty.
Diffstat (limited to 'include/arch')
-rw-r--r--include/arch/vmem.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/include/arch/vmem.h b/include/arch/vmem.h
index 3daf232..e62c112 100644
--- a/include/arch/vmem.h
+++ b/include/arch/vmem.h
@@ -151,7 +151,7 @@ vm_t setup_kernel_io(struct vmem *b, vm_t paddr);
* @return The vmem node used to build the address space. Probably statically
* allocated.
*/
-struct vmem *direct_mapping();
+struct vmem *init_mapping();
/**
* Create new virtual memory space.
@@ -190,11 +190,9 @@ void clone_uvmem(struct vmem * restrict r, struct vmem * restrict b);
* @param load_addr Address where kernel was loaded to.
* @param direct_mapping Direct mapping vmem.
* @param ram_base Physical base address of ram.
- * @param dmap \ref VM_DMAP.
*/
__noreturn void to_kernelspace(void *fdt,
uintptr_t load_addr,
struct vmem *direct_mapping,
- pm_t ram_base,
- pm_t dmap);
+ pm_t ram_base);
#endif /* KMI_ARCH_PAGES_H */