Files
android_kernel_xiaomi_sm8450/arch/x86/include/asm
Matt Fleming c9f2a9a65e x86/efi: Hoist page table switching code into efi_call_virt()
This change is a prerequisite for pending patches that switch to
a dedicated EFI page table, instead of using 'trampoline_pgd'
which shares PGD entries with 'swapper_pg_dir'. The pending
patches make it impossible to dereference the runtime service
function pointer without first switching %cr3.

It's true that we now have duplicated switching code in
efi_call_virt() and efi_call_phys_{prolog,epilog}() but we are
sacrificing code duplication for a little more clarity and the
ease of writing the page table switching code in C instead of
asm.

Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk>
Reviewed-by: Borislav Petkov <bp@suse.de>
Acked-by: Borislav Petkov <bp@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Dave Jones <davej@codemonkey.org.uk>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>
Cc: Stephen Smalley <sds@tycho.nsa.gov>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Toshi Kani <toshi.kani@hp.com>
Cc: linux-efi@vger.kernel.org
Link: http://lkml.kernel.org/r/1448658575-17029-5-git-send-email-matt@codeblueprint.co.uk
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2015-11-29 09:15:42 +01:00
..
2015-10-23 14:20:47 +01:00
2009-01-29 14:16:51 +01:00
2015-07-27 14:06:23 +02:00
2008-10-22 22:55:23 -07:00
2015-05-13 10:55:42 +02:00
2015-11-01 11:26:23 +01:00
2015-07-31 10:23:23 +02:00
2014-12-11 11:35:02 +01:00
2015-04-14 16:49:06 -07:00
2015-05-28 15:31:53 +02:00
2012-03-28 18:11:12 +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
2009-06-13 15:37:30 +02:00
2010-06-09 11:12:36 +02:00
2015-07-31 13:31:10 +02:00
2015-07-31 13:30:45 +02:00
2008-10-22 22:55:23 -07:00
2014-02-27 08:07:39 -08:00
2015-11-16 22:57:02 +01:00
2015-08-23 13:25:38 +02:00
2008-10-22 22:55:23 -07:00
2014-09-01 10:15:31 +02:00
2011-03-15 15:34:15 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:20 -07:00
2008-10-22 22:55:23 -07:00
2015-05-19 15:47:30 +02:00
2015-02-23 13:44:14 +01:00
2014-06-04 16:53:57 -07:00
2014-04-18 14:20:46 +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
2015-05-19 15:47:30 +02:00
2015-05-19 15:47:30 +02:00
2015-05-19 15:47:30 +02:00