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

Re: [Xen-devel] [PATCH 4/7] x86/asm: Remove opencoded uses of altinstruction_entry



On 12/02/18 12:30, Wei Liu wrote:
> On Mon, Feb 12, 2018 at 11:23:04AM +0000, Andrew Cooper wrote:
>> diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
>> index 58f652d..bd3819a 100644
>> --- a/xen/arch/x86/x86_64/entry.S
>> +++ b/xen/arch/x86/x86_64/entry.S
>> @@ -557,23 +557,9 @@ handle_exception_saved:
>>          testb $X86_EFLAGS_IF>>8,UREGS_eflags+1(%rsp)
>>          jz    exception_with_ints_disabled
>>  
>> -.Lcr4_pv32_orig:
>> -        jmp   .Lcr4_pv32_done
>> -        .skip (.Lcr4_pv32_alt_end - .Lcr4_pv32_alt) - (. - 
>> .Lcr4_pv32_orig), 0xcc
>> -        .pushsection .altinstr_replacement, "ax"
>> -.Lcr4_pv32_alt:
>> -        mov   VCPU_domain(%rbx),%rax
>> -.Lcr4_pv32_alt_end:
>> -        .section .altinstructions, "a"
>> -        altinstruction_entry .Lcr4_pv32_orig, .Lcr4_pv32_alt, \
>> -                             X86_FEATURE_XEN_SMEP, \
>> -                             (.Lcr4_pv32_alt_end - .Lcr4_pv32_alt), \
>> -                             (.Lcr4_pv32_alt_end - .Lcr4_pv32_alt)
>> -        altinstruction_entry .Lcr4_pv32_orig, .Lcr4_pv32_alt, \
>> -                             X86_FEATURE_XEN_SMAP, \
>> -                             (.Lcr4_pv32_alt_end - .Lcr4_pv32_alt), \
>> -                             (.Lcr4_pv32_alt_end - .Lcr4_pv32_alt)
>> -        .popsection
>> +        ALTERNATIVE_2 "jmp .Lcr4_pv32_done; .skip 2, 0x90", \
> This changed 0xcc to 0x90 but since it is just padding following an
> unconditional jmp so it shouldn't matter.
>
> Mostly looks fine. I'm a bit hesitant to give my Rb because reviewing
> the diff to assembly is a bit more difficult to than diff to C source.
>
> Do you have a branch somewhere?

http://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=shortlog;h=refs/heads/alternatives-v1

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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