efi/libstub: Annotate firmware routines as __efiapi
authorArd Biesheuvel <ardb@kernel.org>
Tue, 24 Dec 2019 15:10:12 +0000 (16:10 +0100)
committerIngo Molnar <mingo@kernel.org>
Wed, 25 Dec 2019 09:49:19 +0000 (10:49 +0100)
commit8f24f8c2fc82f701866419dcb594e2cc1d3f46ba
tree78911f8dba19edd090d65649482291b11e10ca1b
parent960a8d01834eabc4549928c60f8ce0300ad08519
efi/libstub: Annotate firmware routines as __efiapi

Annotate all the firmware routines (boot services, runtime services and
protocol methods) called in the boot context as __efiapi, and make
it expand to __attribute__((ms_abi)) on 64-bit x86. This allows us
to use the compiler to generate the calls into firmware that use the
MS calling convention instead of the SysV one.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Cc: Arvind Sankar <nivedita@alum.mit.edu>
Cc: Borislav Petkov <bp@alien8.de>
Cc: James Morse <james.morse@arm.com>
Cc: Matt Fleming <matt@codeblueprint.co.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-efi@vger.kernel.org
Link: https://lkml.kernel.org/r/20191224151025.32482-13-ardb@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/Kconfig
arch/x86/boot/compressed/eboot.h
drivers/firmware/efi/libstub/random.c
include/linux/efi.h