Thread (8 messages) flat view 8 messages, 3 authors, 2015-07-06

Re: [PATCH v7 09/11] KVM: arm64: guest debug, HW assisted debug support

From: Will Deacon <hidden>
Date: 2015-07-02 08:49:01
Also in: kvm, kvmarm, linux-arm-kernel, lkml

Hi Alex,

On Wed, Jul 01, 2015 at 07:29:01PM +0100, Alex Bennée wrote:
This adds support for userspace to control the HW debug registers for
guest debug. In the debug ioctl we copy an IMPDEF registers into a new
register set called host_debug_state.

We use the recently introduced vcpu parameter debug_ptr to select which
register set is copied into the real registers when world switch occurs.

I've made some helper functions from hw_breakpoint.c more widely
available for re-use.

As with single step we need to tweak the guest registers to enable the
exceptions so we need to save and restore those bits.

Two new capabilities have been added to the KVM_EXTENSION ioctl to allow
userspace to query the number of hardware break and watch points
available on the host hardware.

Signed-off-by: Alex Bennée <redacted>
Reviewed-by: Christoffer Dall <redacted>
[...]
quoted hunk ↗ jump to hunk
diff --git a/arch/arm64/kernel/hw_breakpoint.c b/arch/arm64/kernel/hw_breakpoint.c
index e7d934d..ac07f2a 100644
--- a/arch/arm64/kernel/hw_breakpoint.c
+++ b/arch/arm64/kernel/hw_breakpoint.c
@@ -50,13 +50,13 @@ static int core_num_brps;
 static int core_num_wrps;

 /* Determine number of BRP registers available. */
-static int get_num_brps(void)
+int get_num_brps(void)
 {
        return ((read_cpuid(ID_AA64DFR0_EL1) >> 12) & 0xf) + 1;
 }

 /* Determine number of WRP registers available. */
-static int get_num_wrps(void)
+int get_num_wrps(void)
 {
        return ((read_cpuid(ID_AA64DFR0_EL1) >> 20) & 0xf) + 1;
 }
Sorry, just noticed this, but we already have a public interface for
figuring these numbers out as required by perf. Can't you use
hw_breakpoint_slots(...) instead of exposing these internal helpers?

Will
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help