提交 4993fdcf 编写于 作者: M Marc Zyngier 提交者: Christoffer Dall

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: NMarc Zyngier <marc.zyngier@arm.com>
Signed-off-by: NChristoffer Dall <cdall@linaro.org>
上级 9bae3ae5
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
#define ARM_EXCEPTION_EL1_SERROR 1 #define ARM_EXCEPTION_EL1_SERROR 1
#define ARM_EXCEPTION_TRAP 2 #define ARM_EXCEPTION_TRAP 2
/* The hyp-stub will return this for any kvm_call_hyp() call */ /* 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_SHIFT 0
#define KVM_ARM64_DEBUG_DIRTY (1 << KVM_ARM64_DEBUG_DIRTY_SHIFT) #define KVM_ARM64_DEBUG_DIRTY (1 << KVM_ARM64_DEBUG_DIRTY_SHIFT)
......
...@@ -39,6 +39,9 @@ ...@@ -39,6 +39,9 @@
*/ */
#define HVC_SOFT_RESTART 2 #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_EL1 (0xe11)
#define BOOT_CPU_MODE_EL2 (0xe12) #define BOOT_CPU_MODE_EL2 (0xe12)
......
...@@ -74,7 +74,7 @@ el1_sync: ...@@ -74,7 +74,7 @@ el1_sync:
br x4 // no return br x4 // no return
/* Someone called kvm_call_hyp() against the hyp-stub... */ /* Someone called kvm_call_hyp() against the hyp-stub... */
3: mov x0, #ARM_EXCEPTION_HYP_GONE 3: ldr x0, =HVC_STUB_ERR
9: eret 9: eret
ENDPROC(el1_sync) ENDPROC(el1_sync)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册