2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-25 05:34:00 +08:00
linux-next/arch
Mike Rapoport 88107d330d x86/mm: simplify init_trampoline() and surrounding logic
There are three cases for the trampoline initialization:
* 32-bit does nothing
* 64-bit with kaslr disabled simply copies a PGD entry from the direct map
  to the trampoline PGD
* 64-bit with kaslr enabled maps the real mode trampoline at PUD level

These cases are currently differentiated by a bunch of ifdefs inside
asm/include/pgtable.h and the case of 64-bits with kaslr on uses
pgd_index() helper.

Replacing the ifdefs with a static function in arch/x86/mm/init.c gives
clearer code and allows moving pgd_index() to the generic implementation
in include/linux/pgtable.h

[rppt@linux.ibm.com: take CONFIG_RANDOMIZE_MEMORY into account in kaslr_enabled()]
  Link: http://lkml.kernel.org/r/20200525104045.GB13212@linux.ibm.com

Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Cain <bcain@codeaurora.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Chris Zankel <chris@zankel.net>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Greentime Hu <green.hu@gmail.com>
Cc: Greg Ungerer <gerg@linux-m68k.org>
Cc: Guan Xuetao <gxt@pku.edu.cn>
Cc: Guo Ren <guoren@kernel.org>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Ley Foon Tan <ley.foon.tan@intel.com>
Cc: Mark Salter <msalter@redhat.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Nick Hu <nickhu@andestech.com>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Rich Felker <dalias@libc.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Stafford Horne <shorne@gmail.com>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Vincent Chen <deanbo422@gmail.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Will Deacon <will@kernel.org>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Link: http://lkml.kernel.org/r/20200514170327.31389-8-rppt@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-06-09 09:39:13 -07:00
..
alpha mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
arc mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
arm mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
arm64 mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
c6x mm: introduce include/linux/pgtable.h 2020-06-09 09:39:13 -07:00
csky csky: replace definitions of __pXd_offset() with pXd_index() 2020-06-09 09:39:13 -07:00
h8300 mm: introduce include/linux/pgtable.h 2020-06-09 09:39:13 -07:00
hexagon mm: introduce include/linux/pgtable.h 2020-06-09 09:39:13 -07:00
ia64 mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
m68k m68k/mm: move {cache,nocahe}_page() definitions close to their user 2020-06-09 09:39:13 -07:00
microblaze mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
mips mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
nds32 mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
nios2 mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
openrisc mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
parisc mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
powerpc mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
riscv mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
s390 mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
sh mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
sparc mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
um mm: introduce include/linux/pgtable.h 2020-06-09 09:39:13 -07:00
unicore32 mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
x86 x86/mm: simplify init_trampoline() and surrounding logic 2020-06-09 09:39:13 -07:00
xtensa mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
Kconfig scs: Remove references to asm/scs.h from core code 2020-05-18 17:47:45 +01:00