diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-07-07 07:00:43 +0300 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-07-07 07:00:43 +0300 |
| commit | 122374c362ba8bb9082385da3c82e264ab594f15 (patch) | |
| tree | 0123fad5464aaf64f522d48f5069b35b90207aae /include/arch/vmem.h | |
| parent | 03e12129927b0deba537a11bb5575bef93c57d0f (diff) | |
| download | kmi-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/vmem.h')
| -rw-r--r-- | include/arch/vmem.h | 6 |
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 */ |
