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?

Wei.

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

Reply via email to