On 09/05/2012 06:23 PM, Scott Wood wrote:
> On 08/21/2012 08:52 AM, Bharat Bhushan wrote:
>> This patch adds the debug stub support on booke/bookehv.
>> Now QEMU debug stub can use hw breakpoint, watchpoint and
>> software breakpoint to debug guest.
>>
>> Signed-off-by: Bharat Bhushan <bharat.bhus...@freescale.com>
>> ---
>>  arch/powerpc/include/asm/kvm.h        |   29 ++++++-
>>  arch/powerpc/include/asm/kvm_host.h   |    5 +
>>  arch/powerpc/kernel/asm-offsets.c     |   26 ++++++
>>  arch/powerpc/kvm/booke.c              |  144 
>> +++++++++++++++++++++++++++++----
>>  arch/powerpc/kvm/booke_interrupts.S   |  110 +++++++++++++++++++++++++
>>  arch/powerpc/kvm/bookehv_interrupts.S |  141 
>> +++++++++++++++++++++++++++++++-
>>  arch/powerpc/kvm/e500mc.c             |    3 +-
>>  7 files changed, 435 insertions(+), 23 deletions(-)
>>
>> diff --git a/arch/powerpc/include/asm/kvm.h b/arch/powerpc/include/asm/kvm.h
>> index 61b197e..53479ea 100644
>> --- a/arch/powerpc/include/asm/kvm.h
>> +++ b/arch/powerpc/include/asm/kvm.h
>> @@ -25,6 +25,7 @@
>>  /* Select powerpc specific features in <linux/kvm.h> */
>>  #define __KVM_HAVE_SPAPR_TCE
>>  #define __KVM_HAVE_PPC_SMT
>> +#define __KVM_HAVE_GUEST_DEBUG
>>  
>>  struct kvm_regs {
>>      __u64 pc;
>> @@ -264,7 +265,31 @@ struct kvm_fpu {
>>      __u64 fpr[32];
>>  };
>>  
>> +
>> +/*
>> + * Defines for h/w breakpoint, watchpoint (read, write or both) and
>> + * software breakpoint.
>> + * These are used as "type" in KVM_SET_GUEST_DEBUG ioctl and "status"
>> + * for KVM_DEBUG_EXIT.
>> + */
>> +#define KVMPPC_DEBUG_NONE           0x0
>> +#define KVMPPC_DEBUG_BREAKPOINT             (1UL << 1)
>> +#define KVMPPC_DEBUG_WATCH_WRITE    (1UL << 2)
>> +#define KVMPPC_DEBUG_WATCH_READ             (1UL << 3)
>>  struct kvm_debug_exit_arch {
> 
> That says "arch", but it's not in an arch-specific file.

Sigh, I can't read today apparently.

>> +    __u64 pc;
>> +    /*
>> +     * exception -> returns the exception number. If the KVM_DEBUG_EXIT
>> +     * exit is not handled (say not h/w breakpoint or software breakpoint
>> +     * set for this address) by qemu then it is supposed to inject this
>> +     * exception to guest.
>> +     */
>> +    __u32 exception;
>> +    /*
>> +     * exiting to userspace because of h/w breakpoint, watchpoint
>> +     * (read, write or both) and software breakpoint.
>> +     */
>> +    __u32 status;
>>  };
> 
> What does "exception number" mean in a generic API?

Still, "exception number" is not a well-defined concept powerpc-wide.

-Scott


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to