linux/arch/powerpc
Christophe Leroy c8bef10a9f powerpc/8xx: Refactor kernel address boundary comparison
Now that linear and IMMR dedicated TLB handling is gone, kernel
boundary address comparison is similar in ITLB miss handler and
in DTLB miss handler.

Create a macro named compare_to_kernel_boundary.

When TASK_SIZE is strictly below 0x80000000 and PAGE_OFFSET is
above 0x80000000, it is enough to compare to 0x8000000, and this
can be done with a single instruction.

Using not. instruction, we get to use 'blt' conditional branch as
when doing a regular comparison:

0x00000000 <= addr <= 0x7fffffff ==>
0xffffffff >= NOT(addr) >= 0x80000000
The above test corresponds to a 'blt'

Otherwise, do a regular comparison using two instructions.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/6312575d06a8813105e6564a3b12e1d373aa1b2f.1589866984.git.christophe.leroy@csgroup.eu
2020-05-26 22:22:22 +10:00
..
boot powerpc/wrapper: Output linker map file 2020-05-19 00:10:35 +10:00
configs powerpc/8xx: Drop CONFIG_8xx_COPYBACK option 2020-05-26 22:22:20 +10:00
crypto crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN 2020-01-09 11:30:53 +08:00
include powerpc/8xx: Remove now unused TLB miss functions 2020-05-26 22:22:22 +10:00
kernel powerpc/8xx: Refactor kernel address boundary comparison 2020-05-26 22:22:22 +10:00
kexec powerpc updates for 5.7 2020-04-05 11:12:59 -07:00
kvm powerpc/watchpoint: Rename current DAWR macros 2020-05-19 00:11:03 +10:00
lib powerpc sstep: Add support for prefixed fixed-point arithmetic 2020-05-19 00:11:03 +10:00
math-emu
mm powerpc/8xx: Drop special handling of Linear and IMMR mappings in I/D TLB handlers 2020-05-26 22:22:22 +10:00
net
oprofile powerpc updates for 5.6 2020-02-04 13:06:46 +00:00
perf powerpc/8xx: Remove now unused TLB miss functions 2020-05-26 22:22:22 +10:00
platforms powerpc/8xx: Don't set IMMR map anymore at boot 2020-05-26 22:22:21 +10:00
purgatory .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
sysdev powerpc/8xx: Don't set IMMR map anymore at boot 2020-05-26 22:22:21 +10:00
tools powerpc/head_check: Avoid broken pipe 2020-05-19 00:10:35 +10:00
xmon powerpc/watchpoint/xmon: Support 2nd DAWR 2020-05-19 00:14:45 +10:00
Kbuild
Kconfig powerpc/mm: Don't be too strict with _etext alignment on PPC32 2020-05-26 22:22:22 +10:00
Kconfig.debug powerpc/ptdump: Only enable PPC_CHECK_WX with STRICT_KERNEL_RWX 2020-01-23 21:31:13 +11:00
Makefile powerpc: Suppress .eh_frame generation 2020-04-01 14:30:51 +11:00
Makefile.postlink powerpc: Do not consider weak unresolved symbol relocations as bad 2020-01-31 20:17:22 +11:00