From: Ian Campbell Date: Mon, 30 Mar 2015 12:26:13 +0000 (+0100) Subject: xen: arm: Annotate trap handler for HCR_EL2.{TWI,TWE,TSC} X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~3307 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=204cd4924d018ce156163106268e946367022fe1;p=xen.git xen: arm: Annotate trap handler for HCR_EL2.{TWI,TWE,TSC} Reference the bit which enables the trap and the section/page which describes what that bit enables. These ones are pretty trivial, included for completeness. Signed-off-by: Ian Campbell Reviewed-by: Julien Grall --- diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c index f8598ad8c6..ff80326935 100644 --- a/xen/arch/arm/traps.c +++ b/xen/arch/arm/traps.c @@ -2155,6 +2155,12 @@ asmlinkage void do_trap_hypervisor(struct cpu_user_regs *regs) switch (hsr.ec) { case HSR_EC_WFI_WFE: + /* + * HCR_EL2.TWI, HCR_EL2.TWE + * + * ARMv7 (DDI 0406C.b): B1.14.9 + * ARMv8 (DDI 0487A.d): D1-1505 Table D1-51 + */ if ( !check_conditional_instr(regs, hsr) ) { advance_pc(regs, hsr); @@ -2197,6 +2203,12 @@ asmlinkage void do_trap_hypervisor(struct cpu_user_regs *regs) do_cp(regs, hsr); break; case HSR_EC_SMC32: + /* + * HCR_EL2.TSC + * + * ARMv7 (DDI 0406C.b): B1.14.8 + * ARMv8 (DDI 0487A.d): D1-1501 Table D1-44 + */ GUEST_BUG_ON(!psr_mode_is_32bit(regs->cpsr)); perfc_incr(trap_smc32); inject_undef32_exception(regs); @@ -2225,6 +2237,11 @@ asmlinkage void do_trap_hypervisor(struct cpu_user_regs *regs) do_trap_hypercall(regs, ®s->x16, hsr.iss); break; case HSR_EC_SMC64: + /* + * HCR_EL2.TSC + * + * ARMv8 (DDI 0487A.d): D1-1501 Table D1-44 + */ GUEST_BUG_ON(psr_mode_is_32bit(regs->cpsr)); perfc_incr(trap_smc64); inject_undef64_exception(regs, hsr.len);