From: Joerg Roedel on
On Sun, Feb 21, 2010 at 11:53:14AM +0200, Avi Kivity wrote:
> On 02/19/2010 05:23 PM, Joerg Roedel wrote:
>> There is an intercept for WBINVD and INVD in SVM so we don't
>> need the instruction emulator. The primary reason is that
>> the current instruction emulator fails to emulate these
>> instructions and the rip is not advanced.
>>
>
> The bios (at least bochs bios) does have wbinvd, so this ought to work.

Weird. For some reason the Windows 7 XP emulation was executing wbinvd
which caused an nested intercept for the host level and the rip was not
advanced. So the nested guest did not advance and just produces wbinvd
intercepts all the time.

Joerg

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Joerg Roedel on
On Sun, Feb 21, 2010 at 02:00:29PM +0200, Avi Kivity wrote:
> On 02/21/2010 01:37 PM, Joerg Roedel wrote:
>> Weird. For some reason the Windows 7 XP emulation was executing wbinvd
>> which caused an nested intercept for the host level and the rip was not
>> advanced. So the nested guest did not advance and just produces wbinvd
>> intercepts all the time.
>>
>
> Has the guest enabled wbinvd interception? Perhaps not, so kvm has to
> emulate wbinvd in the nested guest context, which is likely the only
> case that we're called to do this. So the problem might be in emulating
> within the nested guest.

Probably, but this was running on nested-shadow where gva_to_gpa is
expected to work even when the vcpu is running in nested mode. I'll
check this again.

Joerg

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/