summaryrefslogtreecommitdiffstats
path: root/arch/x86/boot/compressed/eboot.c
diff options
context:
space:
mode:
authorLukas Wunner <lukas@wunner.de>2016-11-12 21:32:35 +0000
committerIngo Molnar <mingo@kernel.org>2016-11-13 08:23:16 +0100
commit3552fdf29f01e5a889e88202dc55b67aa6766620 (patch)
tree9056eaf32ecad1662fd1cd2af9c1762e0fba1f81 /arch/x86/boot/compressed/eboot.c
parent46cd4b75cd0edee76e0096225c2d31f8d90e92a2 (diff)
downloadlinux-0-day-3552fdf29f01e5a889e88202dc55b67aa6766620.tar.gz
linux-0-day-3552fdf29f01e5a889e88202dc55b67aa6766620.tar.xz
efi: Allow bitness-agnostic protocol calls
We already have a macro to invoke boot services which on x86 adapts automatically to the bitness of the EFI firmware: efi_call_early(). The macro allows sharing of functions across arches and bitness variants as long as those functions only call boot services. However in practice functions in the EFI stub contain a mix of boot services calls and protocol calls. Add an efi_call_proto() macro for bitness-agnostic protocol calls to allow sharing more code across arches as well as deduplicating 32 bit and 64 bit code paths. On x86, implement it using a new efi_table_attr() macro for bitness- agnostic table lookups. Refactor efi_call_early() to make use of the same macro. (The resulting object code remains identical.) Signed-off-by: Lukas Wunner <lukas@wunner.de> Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk> Cc: Andreas Noever <andreas.noever@gmail.com> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Jones <pjones@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-efi@vger.kernel.org Link: http://lkml.kernel.org/r/20161112213237.8804-8-matt@codeblueprint.co.uk Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/boot/compressed/eboot.c')
0 files changed, 0 insertions, 0 deletions