>>> On 07.12.16 at 16:06, <andrew.coop...@citrix.com> wrote:
> On 06/12/16 14:13, Jan Beulich wrote:
>> @@ -3670,6 +3652,7 @@ x86_emulate(
>>  
>>      case 0xd8: /* FPU 0xd8 */
>>          host_and_vcpu_must_have(fpu);
>> +        get_fpu(X86EMUL_FPU_fpu, &fic);
>>          switch ( modrm )
>>          {
>>          case 0xc0 ... 0xc7: /* fadd %stN,%st */
>> @@ -3715,10 +3698,12 @@ x86_emulate(
>>                  break;
>>              }
>>          }
>> +        put_fpu(&fic);
>>          break;
> 
> This repositioning does mean that we might skip the put_fpu() call,
> although we still retain the catch-all _put_fpu().
> 
> I think this is still safe as we only skip this put_fpu() in cases where
> we didn't emulate an instruction, and there isn't the risk of missing a
> pending FPU exception.

Correct - the catch-all one is sufficient for all cases.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

Reply via email to