|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT early RFC PATCH 07/11] plat/kvm: arm64: Add entry point for APs (secondary cpus)
Signed-off-by: Jia He <justin.he@xxxxxxx>
---
plat/kvm/arm/entry64.S | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/plat/kvm/arm/entry64.S b/plat/kvm/arm/entry64.S
index df59ef6..9c98102 100644
--- a/plat/kvm/arm/entry64.S
+++ b/plat/kvm/arm/entry64.S
@@ -143,3 +143,33 @@ ENTRY(_libkvmplat_newstack)
/* Branch to _libkvmplat_entry2 */
br x1
END(_libkvmplat_newstack)
+
+/*
+ * mpentry(unsigned long)
+ *
+ * Called by a core when it is being brought online.
+ * The data in x0 is passed straight to init_secondary.
+ */
+ENTRY(mpentry)
+ /* Disable interrupts */
+ msr daifset, #2
+
+ /* Set the context id */
+ msr contextidr_el1, xzr
+
+ /* Enable the mmu */
+ mov x7, #1
+ bl start_mmu
+
+ /* Jump to the virtual address space */
+ ldr x15, =mp_virtdone
+ br x15
+
+mp_virtdone:
+ ldr x4, =secondary_stacks
+ mov x5, #(4096 * 4)//TODO
+ mul x5, x0, x5
+ add sp, x4, x5
+
+ b init_secondary
+END(mpentry)
--
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 |