|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT early RFC PATCH 06/11] plat/kvm: arm64: Add a parameter to start_mmu
This is to bypass invalidate and clean pgtable D-cache. This is not
required when APs are booting up.
Signed-off-by: Jia He <justin.he@xxxxxxx>
---
plat/kvm/arm/entry64.S | 1 +
plat/kvm/arm/pagetable64.S | 7 ++++++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/plat/kvm/arm/entry64.S b/plat/kvm/arm/entry64.S
index ff63ee0..df59ef6 100644
--- a/plat/kvm/arm/entry64.S
+++ b/plat/kvm/arm/entry64.S
@@ -125,6 +125,7 @@ ENTRY(_libkvmplat_entry)
msr VBAR_EL1, x29
/* Enable the mmu */
+ mov x7, #0
bl start_mmu
/* Load dtb address to x0 as a parameter */
diff --git a/plat/kvm/arm/pagetable64.S b/plat/kvm/arm/pagetable64.S
index 7899c19..abb024f 100644
--- a/plat/kvm/arm/pagetable64.S
+++ b/plat/kvm/arm/pagetable64.S
@@ -36,6 +36,8 @@
#include <uk/asm.h>
#include <kvm-arm/mm.h>
#include <arm/cpu_defs.h>
+#include <uk/config.h>
+
/*
* The following is the Memory Layout of AArch64 Virtual Machine
* | 0 - 0x3FFFFFFF | 0x40000000 - 0x7FFFFFFFFF | 512GB - 1TB |
@@ -234,6 +236,9 @@ ENTRY(start_mmu)
bfi x2, x3, #32, #3
msr tcr_el1, x2
+ cmp x7, #1
+ beq 1f
+
/* save lr */
mov x22, x30
@@ -262,7 +267,7 @@ ENTRY(start_mmu)
/* restore lr */
mov x30, x22
-
+1:
ret
END(start_mmu)
--
2.17.1
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |