Go to file
Christophe Leroy f76c8f6d25 powerpc/8xx: Add function to set pinned TLBs
Pinned TLBs cannot be modified when the MMU is enabled.

Create a function to rewrite the pinned TLB entries with MMU off.

To set pinned TLB, we have to turn off MMU, disable pinning,
do a TLB flush (Either with tlbie and tlbia) then reprogam
the TLB entries, enable pinning and turn on MMU.

If using tlbie, it cleared entries in both instruction and data
TLB regardless whether pinning is disabled or not.
If using tlbia, it clears all entries of the TLB which has
disabled pinning.

To make it easy, just clear all entries in both TLBs, and
reprogram them.

The function takes two arguments, the top of the memory to
consider and whether data is RO under _sinittext.
When DEBUG_PAGEALLOC is set, the top is the end of kernel rodata.
Otherwise, that's the top of physical RAM.

Everything below _sinittext is set RX, over _sinittext that's RW.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/c17806014bb1c06513ad1e1d510faea31984b177.1589866984.git.christophe.leroy@csgroup.eu
2020-05-26 22:22:21 +10:00
arch powerpc/8xx: Add function to set pinned TLBs 2020-05-26 22:22:21 +10:00
block
certs
crypto
Documentation Documentation: Document sysfs interfaces purr, spurr, idle_purr, idle_spurr 2020-04-30 12:35:27 +10:00
drivers ps3disk: use the default segment boundary 2020-05-19 00:10:35 +10:00
fs An update for the proc interface of time namespaces: Use symbolic names 2020-04-19 11:46:21 -07:00
include mm: change pmdp_huge_get_and_clear_full take vm_area_struct as arg 2020-05-05 21:20:13 +10:00
init
ipc
kernel powerpc/watchpoint: Don't allow concurrent perf and ptrace events 2020-05-19 00:14:45 +10:00
lib
LICENSES
mm mm: change pmdp_huge_get_and_clear_full take vm_area_struct as arg 2020-05-05 21:20:13 +10:00
net
samples
scripts
security
sound drivers/powerpc: Replace _ALIGN_UP() by ALIGN() 2020-05-11 23:15:15 +10:00
tools selftests/powerpc: Add a test of counting larx/stcx 2020-05-15 11:58:55 +10:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS powerpc/8xx: Update email address in MAINTAINERS 2020-05-11 23:15:15 +10:00
Makefile Linux 5.7-rc2 2020-04-19 14:35:30 -07:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.