[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 1/7] x86: Add support for STAC/CLAC instructions
>>> On 23.04.14 at 14:11, <feng.wu@xxxxxxxxx> wrote: >> > +#define ASM_AC(op) \ >> > + pushq %rax; \ >> > + leaq boot_cpu_data(%rip), %rax; \ >> > + btl $X86_FEATURE_SMAP-7*32, CPUINFO86_leaf7_features(%rax); \ >> > + jnc 881f; \ >> > + op; \ >> > +881: popq %rax >> >> While it is unlikely to change going forwards, $(X86_FEATURE_SMAP & 31) >> looks more obviously correct. > > Okay. >> >> Also, given that boot_cpu_data(%rip) is an assembler know constant >> value, and CPUINFO86_leaf7_features is a constant offset from that, is >> there any way of persuading the assembler to conjoin the two and forgo >> the push, lea and pop. (I have had a go, but lack sufficient caffeine >> this early in the day) >> >> ~Andrew > > I thought about this idea before posting this version, but I didn't get a > good > solution. I will continue to find a better way to handle this. btl $X86_FEATURE_SMAP & 31, ((X86_FEATURE_SMAP >> 3) & ~3)+CPUINFO86_features+boot_cpu_data(%rip) (at once replacing CPUINFO86_ext_features with CPUINFO86_features, perhaps also changing the [inconsistent] name prefix; likely a suitable macro could be created usable both here and wherever CPUINFO86_ext_features is being used currently) Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |