Page MenuHomeFreeBSD

D46082.diff
No OneTemporary

D46082.diff

diff --git a/sys/arm64/vmm/vmm_hyp_exception.S b/sys/arm64/vmm/vmm_hyp_exception.S
--- a/sys/arm64/vmm/vmm_hyp_exception.S
+++ b/sys/arm64/vmm/vmm_hyp_exception.S
@@ -183,6 +183,7 @@
.macro handle_el2_excp type
+#ifndef VMM_VHE
/* Save registers before modifying so we can restore them */
str x9, [sp, #-16]!
@@ -193,15 +194,18 @@
/* We got the exception while the guest was running */
ldr x9, [sp], #16
+#endif /* !VMM_VHE */
do_world_switch_to_host
mov x0, \type
ret
+#ifndef VMM_VHE
1:
/* We got the exception while the host was running */
ldr x9, [sp], #16
mov x0, \type
ERET
+#endif /* !VMM_VHE */
.endm
@@ -223,6 +227,7 @@
LENTRY(handle_el2_el1_sync64)
+#ifndef VMM_VHE
/* Save registers before modifying so we can restore them */
str x9, [sp, #-16]!
@@ -245,7 +250,9 @@
ldr lr, [sp], #16
ERET
-1: /* Guest exception taken to EL2 */
+1:
+#endif
+ /* Guest exception taken to EL2 */
do_world_switch_to_host
mov x0, #EXCP_TYPE_EL1_SYNC
ret

File Metadata

Mime Type
text/plain
Expires
Sun, Oct 12, 1:28 AM (19 h, 58 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
23601718
Default Alt Text
D46082.diff (1007 B)

Event Timeline