linux/arch/powerpc
Christophe Leroy 4ad274502f powerpc/8xx: Rework CONFIG_PIN_TLB handling
On recent kernels, with some debug options like for instance
CONFIG_LOCKDEP, the BSS requires more than 8M memory, allthough
the kernel code fits in the first 8M.
Today, it is necessary to activate CONFIG_PIN_TLB to get more than 8M
at startup, allthough pinning TLB is not necessary for that.

We could have inconditionaly mapped 16 or 24M bytes at startup
but some old hardware only have 8M and mapping non-existing RAM
would be an issue due to speculative accesses.

With the preceding patch however, the TLB entries are populated on
demand. By setting up the TLB miss handler to handle up to 24M until
the handler is patched for the entire memory space, it is possible
to allow access up to more memory without mapping non-existing RAM.

It is therefore not needed anymore to map memory data at all
at startup. It will be handled by the TLB miss handler.

One might still want to PIN the IMMR and the first 24M of RAM.
It is now possible to do it in the C memory initialisation
functions. In addition, we now know how much memory we have
when we do it, so we are able to adapt the pining to the
real amount of memory available. So boards with less than 24M
can now also benefit from PIN_TLB.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Scott Wood <oss@buserror.net>
2016-07-09 02:02:48 -05:00
..
boot T104xQDS: Add qe node to t104xqds 2016-07-09 01:12:04 -05:00
configs powerpc: disable IDE subsystem in pq2fads_defconfig 2016-07-08 20:14:20 -05:00
crypto powerpc: Various typo fixes 2016-06-14 13:58:26 +10:00
include powerpc/8xx: Fix vaddr for IMMR early remap 2016-07-09 02:02:48 -05:00
kernel powerpc/8xx: Rework CONFIG_PIN_TLB handling 2016-07-09 02:02:48 -05:00
kvm powerpc: Define and use PPC64_ELF_ABI_v2/v1 2016-06-14 13:58:27 +10:00
lib powerpc: Introduce asm-prototypes.h 2016-06-16 22:39:54 +10:00
math-emu
mm powerpc/8xx: Rework CONFIG_PIN_TLB handling 2016-07-09 02:02:48 -05:00
net powerpc/ebpf/jit: Implement JIT compiler for extended BPF 2016-06-24 15:17:57 +10:00
oprofile powerpc: Various typo fixes 2016-06-14 13:58:26 +10:00
perf powerpc/perf: Export Power9 generic and cache events to sysfs 2016-07-05 23:49:48 +10:00
platforms powerpc32: provide VIRT_CPU_ACCOUNTING 2016-07-09 01:43:50 -05:00
scripts powerpc/ftrace: Add Kconfig & Make glue for mprofile-kernel 2016-03-07 14:53:56 +11:00
sysdev powerpc/8xx: Fix vaddr for IMMR early remap 2016-07-09 02:02:48 -05:00
xmon powerpc32: provide VIRT_CPU_ACCOUNTING 2016-07-09 01:43:50 -05:00
Kconfig powerpc32: provide VIRT_CPU_ACCOUNTING 2016-07-09 01:43:50 -05:00
Kconfig.debug powerpc/8xx: CONFIG_PIN_TLB unneeded for CONFIG_PPC_EARLY_DEBUG_CPM 2016-07-09 02:02:48 -05:00
Makefile powerpc: Avoid -maltivec when using clang integrated assembler 2016-07-05 23:58:53 +10:00
relocs_check.sh powerpc: Convert relocs_check to a shell script using grep 2015-03-23 14:47:39 +11:00