linux_dsm_epyc7002/arch/arm64
Ard Biesheuvel 8439e62a15 arm64: mm: use bit ops rather than arithmetic in pa/va translations
Since PAGE_OFFSET is chosen such that it cuts the kernel VA space right
in half, and since the size of the kernel VA space itself is always a
power of 2, we can treat PAGE_OFFSET as a bitmask and replace the
additions/subtractions with 'or' and 'and-not' operations.

For the comparison against PAGE_OFFSET, a mov/cmp/branch sequence ends
up getting replaced with a single tbz instruction. For the additions and
subtractions, we save a mov instruction since the mask is folded into the
instruction's immediate field.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2016-02-23 17:43:25 +00:00
..
boot ARM: SoC fixes for v4.5-rc 2016-02-07 15:23:20 -08:00
configs arm64: defconfig: updates for 4.5 2016-01-26 11:24:41 +00:00
crypto arm64: crypto: reduce priority of core AES cipher 2015-11-18 12:09:08 +00:00
include arm64: mm: use bit ops rather than arithmetic in pa/va translations 2016-02-23 17:43:25 +00:00
kernel arm64: allow kernel Image to be loaded anywhere in physical memory 2016-02-18 18:16:53 +00:00
kvm arm64: kvm: deal with kernel symbols outside of linear mapping 2016-02-18 18:16:40 +00:00
lib arm64: kernel: Don't toggle PAN on systems with UAO 2016-02-18 17:27:05 +00:00
mm arm64: User die() instead of panic() in do_page_fault() 2016-02-19 14:28:58 +00:00
net arm64: bpf: add extra pass to handle faulty codegen 2016-01-17 19:15:26 -05:00
xen xen/arm: introduce HYPERVISOR_platform_op on arm and arm64 2015-12-21 14:40:56 +00:00
Kconfig arm64: add support for ioremap() block mappings 2016-02-18 18:16:16 +00:00
Kconfig.debug arch: consolidate CONFIG_STRICT_DEVM in lib/Kconfig.debug 2016-01-09 06:30:49 -08:00
Kconfig.platforms ARM: SoC support for Tegra platforms for v4.5 2016-01-22 17:30:52 -08:00
Makefile arm64: errata: Add -mpc-relative-literal-loads to build flags 2016-01-26 11:17:23 +00:00