Re: [PATCH] x86/sgx: Use ENCLS mnemonic in <kernel/cpu/sgx/encls.h>
From: Jarkko Sakkinen
Date: Tue Jun 17 2025 - 10:53:11 EST
On Mon, Jun 16, 2025 at 10:56:30AM +0200, Uros Bizjak wrote:
> Current minimum required version of binutils is 2.30,
> which supports ENCLS instruction mnemonic.
>
> Replace the byte-wise specification of ENCLS with
> this proper mnemonic.
>
> No functional change intended.
>
> Signed-off-by: Uros Bizjak <ubizjak@xxxxxxxxx>
> Cc: Jarkko Sakkinen <jarkko@xxxxxxxxxx>
> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Borislav Petkov <bp@xxxxxxxxx>
> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
> ---
> arch/x86/kernel/cpu/sgx/encls.h | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/sgx/encls.h b/arch/x86/kernel/cpu/sgx/encls.h
> index 99004b02e2ed..42a088a337c5 100644
> --- a/arch/x86/kernel/cpu/sgx/encls.h
> +++ b/arch/x86/kernel/cpu/sgx/encls.h
> @@ -68,7 +68,7 @@ static inline bool encls_failed(int ret)
> ({ \
> int ret; \
> asm volatile( \
> - "1: .byte 0x0f, 0x01, 0xcf;\n\t" \
> + "1: encls\n" \
> "2:\n" \
> _ASM_EXTABLE_TYPE(1b, 2b, EX_TYPE_FAULT_SGX) \
> : "=a"(ret) \
> @@ -111,8 +111,8 @@ static inline bool encls_failed(int ret)
> ({ \
> int ret; \
> asm volatile( \
> - "1: .byte 0x0f, 0x01, 0xcf;\n\t" \
> - " xor %%eax,%%eax;\n" \
> + "1: encls\n\t" \
> + "xor %%eax,%%eax\n" \
> "2:\n" \
> _ASM_EXTABLE_TYPE(1b, 2b, EX_TYPE_FAULT_SGX) \
> : "=a"(ret), "=b"(rbx_out) \
> --
> 2.49.0
>
I don't really see how this is that useful. That said, f a bug fix or
feature used encls mnemonic, I'd had no problems with acking it.
BR, Jarkko