Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4993fdcf authored by Marc Zyngier's avatar Marc Zyngier Committed by Christoffer Dall
Browse files

arm64: hyp-stub: Define a return value for failed stub calls



Define a standard return value to be returned when a hyp stub
call fails, and make KVM use it for ARM_EXCEPTION_HYP_GONE
(instead of using a KVM-specific value).

Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
Signed-off-by: default avatarChristoffer Dall <cdall@linaro.org>
parent 9bae3ae5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@
#define ARM_EXCEPTION_EL1_SERROR  1
#define ARM_EXCEPTION_TRAP	  2
/* The hyp-stub will return this for any kvm_call_hyp() call */
#define ARM_EXCEPTION_HYP_GONE	  3
#define ARM_EXCEPTION_HYP_GONE	  HVC_STUB_ERR

#define KVM_ARM64_DEBUG_DIRTY_SHIFT	0
#define KVM_ARM64_DEBUG_DIRTY		(1 << KVM_ARM64_DEBUG_DIRTY_SHIFT)
+3 −0
Original line number Diff line number Diff line
@@ -39,6 +39,9 @@
 */
#define HVC_SOFT_RESTART 2

/* Error returned when an invalid stub number is passed into x0 */
#define HVC_STUB_ERR	0xbadca11

#define BOOT_CPU_MODE_EL1	(0xe11)
#define BOOT_CPU_MODE_EL2	(0xe12)

+1 −1
Original line number Diff line number Diff line
@@ -74,7 +74,7 @@ el1_sync:
	br	x4				// no return

	/* Someone called kvm_call_hyp() against the hyp-stub... */
3:	mov	x0, #ARM_EXCEPTION_HYP_GONE
3:	ldr	x0, =HVC_STUB_ERR

9:	eret
ENDPROC(el1_sync)