Thread (32 messages) 32 messages, 2 authors, 2015-09-29
STALE3913d

[PATCH v4 15/15] KVM: arm: enable trapping of all debug registers

From: Zhichao Huang <hidden>
Date: 2015-09-29 05:41:45
Also in: kvm, kvmarm


On 2015/9/3 0:08, Christoffer Dall wrote:
On Mon, Aug 10, 2015 at 09:26:07PM +0800, Zhichao Huang wrote:
quoted
Enable trapping of the debug registers unconditionally, allowing guests to
use the debug infrastructure.

Signed-off-by: Zhichao Huang <redacted>
Reviewed-by: Christoffer Dall <redacted>
---
 arch/arm/kvm/interrupts_head.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/kvm/interrupts_head.S b/arch/arm/kvm/interrupts_head.S
index 7ad0adf..494991d 100644
--- a/arch/arm/kvm/interrupts_head.S
+++ b/arch/arm/kvm/interrupts_head.S
@@ -792,7 +792,7 @@ ARM_BE8(rev	r6, r6  )
  * (hardware reset value is 0) */
 .macro set_hdcr operation
 	mrc	p15, 4, r2, c1, c1, 1
-	ldr	r3, =(HDCR_TPM|HDCR_TPMCR)
+	ldr	r3, =(HDCR_TPM|HDCR_TPMCR|HDCR_TDRA|HDCR_TDOSA|HDCR_TDA)
eh, but I thought we didn't have to trap accesses to the debug registers
if we switch them, because the guest is likely to be using them?

Maybe I am getting confused, can you repeat for me exactly when we
context-switch the registers and when we trap accesses to them?
Since we don't want to world switch the dangerous register(DBGDSCR), we have
to trap accesses all the time, to prevent the guest to write to the real register.
Thanks,
-Christoffer
quoted
 	.if \operation == vmentry
 	orr	r2, r2, r3		@ Trap some perfmon accesses
 	.else
-- 
1.7.12.4
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help