summaryrefslogtreecommitdiff
path: root/arch/x86/boot
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2022-09-26 22:14:23 +0300
committerArd Biesheuvel <ardb@kernel.org>2022-11-18 11:14:08 +0300
commita61962d8e7d3f11f68cbaebd477fbd8e1f7b9f6d (patch)
tree5d7ba2dd59bde17a475e7688f5969f472b9f316f /arch/x86/boot
parent70912985545adc81716164271401c9ffb0acdd0f (diff)
downloadlinux-a61962d8e7d3f11f68cbaebd477fbd8e1f7b9f6d.tar.xz
efi: libstub: Permit mixed mode return types other than efi_status_t
Rework the EFI stub macro wrappers around protocol method calls and other indirect calls in order to allow return types other than efi_status_t. This means the widening should be conditional on whether or not the return type is efi_status_t, and should be omitted otherwise. Also, switch to _Generic() to implement the type based compile time conditionals, which is more concise, and distinguishes between efi_status_t and u64 properly. Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Diffstat (limited to 'arch/x86/boot')
-rw-r--r--arch/x86/boot/compressed/efi_thunk_64.S6
1 files changed, 0 insertions, 6 deletions
diff --git a/arch/x86/boot/compressed/efi_thunk_64.S b/arch/x86/boot/compressed/efi_thunk_64.S
index 67e7edcdfea8..0c988f2a1243 100644
--- a/arch/x86/boot/compressed/efi_thunk_64.S
+++ b/arch/x86/boot/compressed/efi_thunk_64.S
@@ -93,12 +93,6 @@ SYM_FUNC_START(__efi64_thunk)
movl %ebx, %fs
movl %ebx, %gs
- /*
- * Convert 32-bit status code into 64-bit.
- */
- roll $1, %eax
- rorq $1, %rax
-
pop %rbx
pop %rbp
RET