|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v8 04/12] x86emul: support SERIALIZE
On 08.05.2020 15:00, Andrew Cooper wrote:
> On 08/05/2020 08:34, Jan Beulich wrote:
>>>> @@ -5660,6 +5661,18 @@ x86_emulate(
>>>> goto done;
>>>> break;
>>>>
>>>> + case 0xe8:
>>>> + switch ( vex.pfx )
>>>> + {
>>>> + case vex_none: /* serialize */
>>>> + host_and_vcpu_must_have(serialize);
>>>> + asm volatile ( ".byte 0x0f, 0x01, 0xe8" );
>>> There is very little need for an actual implementation here. The VMExit
>>> to get here is good enough.
>>>
>>> The only question is whether pre-unrestricted_guest Intel boxes are
>>> liable to find this in real mode code.
>> Apart from this we also shouldn't assume HVM in the core emulator,
>> I think.
>
> It's not assuming HVM. Its just that there is no way we can end up
> emulating this instruction from PV context.
>
> If we could end up here in PV context, the exception causing us to
> emulate to begin with would be good enough as well.
With the current way of where/how emulation gets involved -
yes. I'd like to remind you though of the 4-insn window
shadow code tries to emulate over for PAE guests. There
is no intervening #VMEXIT there.
So do you want me to drop the asm() then, and switch from
host_and_vcpu_must_have(serialize) to just
vcpu_must_have(serialize)?
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |