[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [V12 2/4] x86/xsaves: enable xsaves/xrstors/xsavec in xen
>>> On 25.11.15 at 08:51, <shuai.ruan@xxxxxxxxxxxxxxx> wrote: > @@ -197,20 +373,26 @@ void xrstor(struct vcpu *v, uint64_t mask) > switch ( __builtin_expect(ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET], 8) ) > { > default: > - asm volatile ( "1: .byte 0x48,0x0f,0xae,0x2f\n" > - XRSTOR_FIXUP > - : [ptr] "+&D" (ptr), [lmask_out] "+&a" (lmask) > - : [mem] "m" (*ptr), [lmask_in] "g" (lmask), > - [hmask] "d" (hmask), [size] "m" (xsave_cntxt_size) > - : "ecx" ); > + alternative_io( "1: .byte 0x48,0x0f,0xae,0x2f\n" > + XRSTOR_FIXUP, > + ".byte 0x48,0x0f,0xc7,0x1f\n" > + XRSTOR_FIXUP, > + X86_FEATURE_XSAVES, > + ASM_OUTPUT2([ptr] "+&D" (ptr), [lmask_out] "+&a" > (lmask)), > + [mem] "m" (*ptr), [lmask_in] "g" (lmask), > + [hmask] "d" (hmask), [size] "m" (xsave_cntxt_size) > + : "ecx" ); Mind explaining the point of the second XRSTOR_FIXUP? Alternative patching doesn't deal with multiple sections at a time, and I told you on the previous iteration that no second instance should be necessary. If there is something I overlooked, please tell me (you could and perhaps should have added such as remark after the first --- separator at the top of the patch). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |