Avi Kivity wrote:
> Anthony Liguori wrote:
>   
>> Anthony Liguori wrote:
>>     
>>> I've tested this with 32-bit and 64-bit guests on a 64-bit host and
>>> with 32-bit guests on a 32-bit host.
>>>
>>> I *think* it's doing the right thing wrt to DEBUGCTL but an extra set
>>> of eyes would be helpful.
>>>       
>> I think the follow patch preserves the current behavior but I'm
>> starting to believe that the current behavior is wrong.
>>
>> The current code assumes that the guest DEBUGCTL gets loaded/saved
>> during vmrun/vmexit.  By my reading of the spec (I finally printed out
>> the new one :-)), DEBUGCTL only gets saved if LBR virtualization is
>> enabled.  LBR virtualization also triggers the save/restore of the
>> other 4 debug registers.  The spec seems to suggest that the host
>> version is saved before the guest is loaded too.
>>
>> I think the right behavior is to do nothing if LBR is available and
>> enabled; hw will do it all for us.  If LBR isn't available, I think we
>> should be saving/restoring not just DEBUGCTL but the other 4.  We can
>> further optimize that path though by doing the same sort of tricks I
>> have below.
>>
>> If that all seems sane, I'll submit another patch to fix that up.
>>
>>     
>
> Some observations from grepping the sources:
>
> - The host never uses the DEBUGCTL msr.  So we only need to restore it
> (to zero) if the guest changes it.
> - The guest never uses the DEBUGCTL msr, as kvm doesn't handle wrmsr to
> DEBUGCTL.
>
> So, doing nothing (in hardware and software) would probably work well
> and be quite fast.  If we ever emulate DEBUGCTL, we can conditionally
> enable hardware or software save/restore (this is fairly similar to lazy
> fpu).  

Okay, so I'll resubmit with DEBUGCTL disabled (including lbr_enable = 
0).  I'll also see if I can find something that uses DEBUGCTL.

Regards,

Anthony Liguori

> If Linux ever gets DEBUGCTL support, we'd just ask for a hook so
> we can conditionally save and restore on the host side.
>
>
>   


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to