Re: [PATCH 4/4] kvmppc/booke: exit_nr fixup for guest debug single step

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Liu Yu-B13201 wrote:
>  
>
>   
>> -----Original Message-----
>> From: kvm-ppc-owner@xxxxxxxxxxxxxxx 
>> [mailto:kvm-ppc-owner@xxxxxxxxxxxxxxx] On Behalf Of Alexander Graf
>> Sent: Wednesday, February 03, 2010 5:03 PM
>> To: Liu Yu-B13201
>> Cc: hollis@xxxxxxxxxxxxxx; kvm-ppc@xxxxxxxxxxxxxxx; 
>> kvm@xxxxxxxxxxxxxxx; Liu Yu-B13201
>> Subject: Re: [PATCH 4/4] kvmppc/booke: exit_nr fixup for 
>> guest debug single step
>>
>>
>> Am 03.02.2010 um 08:53 schrieb Liu Yu <yu.liu@xxxxxxxxxxxxx>:
>>
>>     
>>> As BOOKE doesn't have hardware support for virtualization,
>>> hardware never know who's guest and host.
>>>
>>> When enable hardware single step in guest,
>>> we cannot disabled it at the point we switch back to host.
>>>       
>> Why not? We directly arrive in our code. So we can just 
>> disable it, no?
>>
>> Or does that break when you'd try to debug the guest 
>> interrupt handlers?
>>     
>
> That's the hardware limitition.
> Assume received itlb miss interrupt, but it doesn't clear MSR_DE in MSR,
> so on the exit path single step still work and then debug interrupt is
> triggled.
>   

MSRDE is set to 0 by critical class interrupts
unless Category E.ED is supported, by Debug                   
interrupts, and by Machine Check interrupts,                  
and is left unchanged by all other interrupts.                

Great.

So when single stepping is enabled, you jump into the guest, get an itlb
miss, get out, still have DE set, get in KVM's own DE handler and can
process things from there.

Could you check if the debug instruction was on PR=0? If so, you can
just rfi and be good, right?


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

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux