git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
aa64: finalise context switch, page fault handler and syscall
[lunaix-os.git]
/
lunaix-os
/
arch
/
aarch64
/
boot
/
kremap.c
diff --git
a/lunaix-os/arch/aarch64/boot/kremap.c
b/lunaix-os/arch/aarch64/boot/kremap.c
index a230ece8afba00051b7001d0d49faa677c5c3405..9cddb4d9d1c4a849081844218288200472512028 100644
(file)
--- a/
lunaix-os/arch/aarch64/boot/kremap.c
+++ b/
lunaix-os/arch/aarch64/boot/kremap.c
@@
-1,4
+1,6
@@
#include <lunaix/sections.h>
#include <lunaix/sections.h>
+
+#include <asm/mm_defs.h>
#include <asm-generic/init_pagetable.h>
#include <asm/boot_stage.h>
#include <asm-generic/init_pagetable.h>
#include <asm/boot_stage.h>
@@
-6,7
+8,7
@@
static pte_t kpt[LEVEL_SIZE][32];
static pte_t kpt[LEVEL_SIZE][32];
-ptr_t
+ptr_t
boot_text
kremap()
{
struct pt_alloc alloc;
kremap()
{
struct pt_alloc alloc;
@@
-17,10
+19,10
@@
kremap()
init_pt_alloc(&alloc, to_kphysical(&kpt), sizeof(kpt));
init_ptw_state(&ptw, &alloc, kpt_alloc_table(&alloc));
init_pt_alloc(&alloc, to_kphysical(&kpt), sizeof(kpt));
init_ptw_state(&ptw, &alloc, kpt_alloc_table(&alloc));
- pte = mkpte(boot_start, KERNEL_DATA);
+ pte = mkpte(boot
sec
_start, KERNEL_DATA);
pte = pte_mkexec(pte);
pte = pte_mkexec(pte);
- nr = leaf_count(boot
_end - boot
_start);
- kpt_set_ptes(&ptw, boot_start, pte, LFT_SIZE, nr);
+ nr = leaf_count(boot
sec_end - bootsec
_start);
+ kpt_set_ptes(&ptw, boot
sec
_start, pte, LFT_SIZE, nr);
kpt_mktable_at(&ptw, VMAP, L0T_SIZE);
kpt_mktable_at(&ptw, PMAP, L2T_SIZE);
kpt_mktable_at(&ptw, VMAP, L0T_SIZE);
kpt_mktable_at(&ptw, PMAP, L2T_SIZE);