>>> 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