xen: arm: Fix guest mode for 64-bit

Need to check for the 64-bit EL2 modes, not 32-bit HYP mode.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Tim Deegan <tim@xen.org>
This commit is contained in:
Ian Campbell committed 2013-02-22 12:14:56 +00:00
1 parent 8292f7f101
commit 75c3b4097c
1 file changed
+7 -1
+7 -1
View File
@@ -13,10 +13,16 @@
#define svc_mode(r) psr_mode((r)->cpsr,PSR_MODE_SVC)
#define mon_mode(r) psr_mode((r)->cpsr,PSR_MODE_MON)
#define abt_mode(r) psr_mode((r)->cpsr,PSR_MODE_ABT)
#define hyp_mode(r) psr_mode((r)->cpsr,PSR_MODE_HYP)
#define und_mode(r) psr_mode((r)->cpsr,PSR_MODE_UND)
#define sys_mode(r) psr_mode((r)->cpsr,PSR_MODE_SYS)
#ifdef CONFIG_ARM_32
#define hyp_mode(r) psr_mode((r)->cpsr,PSR_MODE_HYP)
#else
#define hyp_mode(r) (psr_mode((r)->cpsr,PSR_MODE_EL2h) || \
psr_mode((r)->cpsr,PSR_MODE_EL2t))
#endif
#define guest_mode(r) \
({ \
unsigned long diff = (char *)guest_cpu_user_regs() - (char *)(r); \
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.