hulk inclusion
category: feature
bugzilla: 28055
CVE: NA
------------------------------
MPAM driver temporarily force initializing cache/memory
unwillingly, Futher We should make it compatible with P2,
P4, P6 machine in the future, it's eager to introduce new
method to get MSCs' info from BIOS/DT.
Note arm hasn't reached a final conclusion about MPAM ACPI
Description, BIOS implemented one temporary version according
to v1 spec.
MPAM ACPI Table organized as follow:
*******Address increased by raw********
[DIE0] Memory node: mc[proximity:0]
[DIE1] Memory node: mc[proximity:1]
[DIE0] Memory node: mc[proximity:0]
[DIE2] Memory node: mc[proximity:2]
[DIE3] Memory node: mc[proximity:3]
[DIE0] Cache node: cache[PPTT_ref:$a]
[PARTITION0] Cache node: cache[PPTT_ref:$a]
[PARTITION1] Cache node: cache[PPTT_ref:$a]
[PARTITION2] Cache node: cache[PPTT_ref:$a]
[PARTITION3] Cache node: cache[PPTT_ref:$a]
[PARTITION4] Cache node: cache[PPTT_ref:$a]
[PARTITION5] Cache node: cache[PPTT_ref:$a]
[PARTITION6] Cache node: cache[PPTT_ref:$a]
[PARTITION7] Cache node: cache[PPTT_ref:$a]
[DIE1] Cache node: cache[PPTT_ref:$b]
[PARTITION0] Cache node: cache[PPTT_ref:$b]
[PARTITION1] Cache node: cache[PPTT_ref:$b]
...
We use PPTT_ref to decide which DIE the cache node belongs to,
and use proximity to decide memory node. it is tricky, but still
usefull.
James Morse (3):
ACPI / processor: Add helper to convert acpi_id to a phys_cpuid
ACPI / PPTT: Add helper to validate cache nodes from an offset [dead]
ACPI / PPTT: Filthy hack to find _a_ backwards reference in the PPTT
[ROTTEN]
Wang ShaoBo (3):
ACPI / PPTT: cacheinfo: Label caches based on fw_token
ACPI 6.x: Add definitions for MPAM table
MPAM / ACPI: Refactoring MPAM init process and set MPAM ACPI as
entrance
arch/arm64/Kconfig | 2 +
arch/arm64/include/asm/acpi.h | 4 +
arch/arm64/include/asm/mpam_resource.h | 15 +-
arch/arm64/include/asm/mpam_sched.h | 8 +-
arch/arm64/kernel/mpam.c | 246 ++++++++++++++++++------
drivers/acpi/arm64/Kconfig | 3 +
drivers/acpi/arm64/Makefile | 1 +
drivers/acpi/arm64/mpam.c | 249 +++++++++++++++++++++++++
drivers/acpi/pptt.c | 143 ++++++++++++++
drivers/acpi/processor_core.c | 16 ++
include/acpi/actbl2.h | 58 ++++++
include/acpi/processor.h | 1 +
include/linux/acpi.h | 8 +
13 files changed, 698 insertions(+), 56 deletions(-)
create mode 100644 drivers/acpi/arm64/mpam.c
--
2.20.1