[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 3/3] x86: Use alternative mechanism to define CLAC/STAC



>>> On 26.05.14 at 17:49, <andrew.cooper3@xxxxxxxxxx> wrote:
> On 26/05/2014 08:27, Feng Wu wrote:
>> @@ -166,26 +168,34 @@ void ret_from_intr(void);
>>  #define __ASM_STAC      .byte 0x0f,0x01,0xcb
>>  
>>  #ifdef __ASSEMBLY__
>> -#define ASM_AC(op)                                       \
>> -        btl $X86_FEATURE_SMAP & 31,                      \
>> -        CPUINFO_FEATURE_OFFSET(X86_FEATURE_SMAP)+boot_cpu_data(%rip); \
>> -        jnc 881f;                                        \
>> -        __ASM_##op;                                      \
>> -881:
>> -
>> -#define ASM_STAC ASM_AC(STAC)
>> -#define ASM_CLAC ASM_AC(CLAC)
>> +#define ASM_CLAC                                                       \
>> +        661: ASM_NOP3;                                                 \
>> +        .pushsection .altinstr_replacement, "ax";                      \
> 
> The altinstr_replacement section doesn't need to be executable.  The
> data inside it is copied out into the .text section.

But having it executable allows easily disassembling their contents -
reasonable disassemblers don't disassemble non-executable sections
by default.

Jan


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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.