Files
android_kernel_xiaomi_sm8450/arch/x86/include/asm
Lukas Wunner 3552fdf29f 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>
2016-11-13 08:23:16 +01:00
..
2016-07-25 13:41:01 +02:00
2014-12-11 11:35:02 +01:00
2015-05-28 15:31:53 +02:00
2012-03-28 18:11:12 +01:00
2016-01-20 11:39:14 +01:00
2014-03-04 21:47:51 +01:00
2011-04-18 09:26:48 -07:00
2015-10-21 11:17:32 +02:00
2009-08-27 00:35:56 +02:00
2015-04-24 15:36:55 +02:00
2010-10-26 16:52:08 -07:00
2012-06-25 13:48:30 +02:00
2016-08-18 18:41:27 +02:00
2009-06-13 15:37:30 +02:00
2016-01-12 12:17:28 +01:00
2010-06-09 11:12:36 +02:00
2015-07-31 13:31:10 +02:00
2016-09-09 13:02:27 +02:00
2008-10-22 22:55:23 -07:00
2014-02-27 08:07:39 -08:00
2015-12-19 11:53:40 +01:00
2008-10-22 22:55:23 -07:00
2016-09-22 12:14:29 -04:00
2014-09-01 10:15:31 +02:00
2016-09-05 11:47:31 +02:00
2011-03-15 15:34:15 -07:00
2016-09-20 09:26:15 +02:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2015-05-19 15:47:30 +02:00
2016-01-30 11:22:17 +01:00
2016-09-05 11:47:31 +02:00
2016-06-16 00:04:31 +02:00
2015-07-31 13:31:10 +02:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2016-06-16 00:04:31 +02:00
2016-07-23 11:04:23 -07:00
2015-05-19 15:47:30 +02:00