From: Ma Wupeng <mawupeng1(a)huawei.com>
Patch 1: move FDT init out of kaslr_early_init for future use.
Patch 2 to 8: enable feature PBHA for arm64.
Patch 9-18: Control the usage of HBM cache for kernel and task precisely.
Patch 19: Enable feature PBHA for arm64 by default.
James Morse (7):
KVM: arm64: Detect and enable PBHA for stage2
dt-bindings: Rename the description of cpu nodes cpu.yaml
dt-bindings: arm: Add binding for Page Based Hardware Attributes
arm64: cpufeature: Enable PBHA bits for stage1
arm64: mm: Add pgprot_pbha() to allow drivers to request PBHA values
KVM: arm64: Configure PBHA bits for stage2
Documentation: arm64: Describe the support and expectations for PBHA
Ma Wupeng (11):
arm64: cpufeature: Enable PBHA for stage1 early via FDT
arm64: mm: Detect and enable PBHA bit0 at early startup
arm64: mm: Update kernel pte entries if pbha bit0 enabled
arm64: mm: Show PBHA bit 59 as PBHA0 in ptdump
arm64: mm: Introduce VM_PBHA_BIT0 to enable pbha bit0 for single vma
arm64: mm: Set PBHA0 bit for VM_PBHA_BIT0
arm64: mm: Introduce sysfs interface to bypass whole task
arm64: mm: Set flag VM_PBHA_BIT0 for global init task
arm64: mm: Introduce prctl to control pbha behavior
arm64: mm: Introduce kernel param pbha
openeuler: configs: arm64: Enable PBHA by default
Marc Zyngier (1):
arm64: Extract early FDT mapping from kaslr_early_init()
.../admin-guide/kernel-parameters.txt | 8 +
Documentation/arm64/index.rst | 1 +
Documentation/arm64/pbha.rst | 85 +++
.../devicetree/bindings/arm/cpu.yaml | 537 ++++++++++++++++
.../devicetree/bindings/arm/cpus.yaml | 584 +++---------------
arch/arm64/Kconfig | 20 +
arch/arm64/configs/openeuler_defconfig | 1 +
arch/arm64/include/asm/cpucaps.h | 3 +
arch/arm64/include/asm/cpufeature.h | 15 +
arch/arm64/include/asm/kvm_arm.h | 1 +
arch/arm64/include/asm/kvm_pgtable.h | 9 +
arch/arm64/include/asm/mman.h | 10 +
arch/arm64/include/asm/pgtable-hwdef.h | 6 +
arch/arm64/include/asm/pgtable.h | 26 +
arch/arm64/include/asm/setup.h | 3 +
arch/arm64/include/uapi/asm/mman.h | 1 +
arch/arm64/kernel/cpufeature.c | 258 ++++++++
arch/arm64/kernel/head.S | 6 +-
arch/arm64/kernel/image-vars.h | 3 +
arch/arm64/kernel/kaslr.c | 7 +-
arch/arm64/kernel/setup.c | 15 +
arch/arm64/kvm/reset.c | 15 +-
arch/arm64/mm/hugetlbpage.c | 2 +
arch/arm64/mm/mmu.c | 14 +-
arch/arm64/mm/ptdump.c | 5 +
.../firmware/efi/libstub/efi-stub-helper.c | 3 +
drivers/firmware/efi/libstub/fdt.c | 57 ++
drivers/soc/hisilicon/Makefile | 1 +
drivers/soc/hisilicon/pbha.c | 204 ++++++
fs/proc/base.c | 103 +++
fs/proc/task_mmu.c | 3 +
include/linux/mm.h | 8 +-
include/linux/pbha.h | 67 ++
include/uapi/asm-generic/mman-common.h | 1 +
include/uapi/linux/prctl.h | 2 +
kernel/sys.c | 10 +
mm/memory.c | 4 +
mm/vmalloc.c | 5 +
38 files changed, 1580 insertions(+), 523 deletions(-)
create mode 100644 Documentation/arm64/pbha.rst
create mode 100644 Documentation/devicetree/bindings/arm/cpu.yaml
create mode 100644 drivers/soc/hisilicon/pbha.c
create mode 100644 include/linux/pbha.h
--
2.25.1