linux/arch/x86/mm
Feng Tang 05ab1d8a4b x86/mm: Expand static page table for fixmap space
We met a kernel panic when enabling earlycon, which is due to the fixmap
address of earlycon is not statically setup.

Currently the static fixmap setup in head_64.S only covers 2M virtual
address space, while it actually could be in 4M space with different
kernel configurations, e.g. when VSYSCALL emulation is disabled.

So increase the static space to 4M for now by defining FIXMAP_PMD_NUM to 2,
and add a build time check to ensure that the fixmap is covered by the
initial static page tables.

Fixes: 1ad83c858c ("x86_64,vsyscall: Make vsyscall emulation configurable")
Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Feng Tang <feng.tang@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: kernel test robot <rong.a.chen@intel.com>
Reviewed-by: Juergen Gross <jgross@suse.com> (Xen parts)
Cc: H Peter Anvin <hpa@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Andy Lutomirsky <luto@kernel.org>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20180920025828.23699-1-feng.tang@intel.com
2018-09-20 23:17:22 +02:00
..
amdtopology.c
cpu_entry_area.c x86: Add entry trampolines to kcore 2018-08-14 19:13:26 -03:00
debug_pagetables.c
dump_pagetables.c x86/mm/pti: Move user W+X check into pti_finalize() 2018-08-10 21:12:45 +02:00
extable.c
fault.c x86/dumpstack: Don't dump kernel memory based on usermode RIP 2018-08-31 17:08:22 +02:00
highmem_32.c
hugetlbpage.c
ident_map.c
init_32.c treewide: use PHYS_ADDR_MAX to avoid type casting ULLONG_MAX 2018-06-15 07:55:25 +09:00
init_64.c Merge branch 'x86/pti-urgent' into x86/pti 2018-08-06 20:56:34 +02:00
init.c x86/mm: Add .bss..decrypted section to hold shared variables 2018-09-15 20:48:45 +02:00
iomap_32.c
ioremap.c
kasan_init_64.c
kaslr.c
kmmio.c x86/mm/kmmio: Make the tracer robust against L1TF 2018-08-08 22:28:34 +02:00
Makefile
mem_encrypt_boot.S
mem_encrypt_identity.c
mem_encrypt.c x86/mm: Add .bss..decrypted section to hold shared variables 2018-09-15 20:48:45 +02:00
mm_internal.h
mmap.c x86/speculation/l1tf: Fix off-by-one error when warning that system has too much RAM 2018-08-24 09:51:14 +02:00
mmio-mod.c
mpx.c
numa_32.c
numa_64.c
numa_emulation.c x86/numa_emulation: Introduce uniform split capability 2018-07-06 18:48:58 +02:00
numa_internal.h
numa.c
pageattr-test.c
pageattr.c x86/mce: Fix set_mce_nospec() to avoid #GP fault 2018-09-01 14:59:19 +02:00
pat_internal.h
pat_rbtree.c
pat.c x86/mm/pat: Prepare {reserve, free}_memtype() for "decoy" addresses 2018-08-20 09:22:45 -07:00
pf_in.c
pf_in.h
pgtable_32.c
pgtable.c x86/mm: Expand static page table for fixmap space 2018-09-20 23:17:22 +02:00
physaddr.c
physaddr.h
pkeys.c
pti.c x86/pti: Fix section mismatch warning/error 2018-09-02 11:24:41 +02:00
setup_nx.c
srat.c
testmmiotrace.c
tlb.c x86/nmi: Fix NMI uaccess race against CR3 switching 2018-08-31 17:08:22 +02:00