Re: [RFC PATCH 28/38] arm64: mpam: Select ARCH_HAS_CPU_RESCTRL

Ben Horgan
2025-12-09T16:33:16Z

Hi James,

On 12/5/25 21:58, James Morse wrote:
> Enough MPAM support is present to enable ARCH_HAS_CPU_RESCTRL.
> Let it rip^Wlink!
>
> ARCH_HAS_CPU_RESCTRL indicates resctrl can be enabled. It is enabled
> by the arch code sipmly because it has 'arch' in its name.
>
> This removes ARM_CPU_RESCTRL as a mimic of X86_CPU_RESCTRL.
> While here, move the ACPI dependency to the driver's Kconfig file.

Mention we're know longer hiding behind CONFIG_EXPERT.

>
> Signed-off-by: James Morse <james.morse@arm.com>
> ---
> arch/arm64/Kconfig | 4 ++--
> arch/arm64/include/asm/resctrl.h | 2 ++
> drivers/resctrl/Kconfig | 9 ++++++++-
> drivers/resctrl/Makefile | 2 +-
> 4 files changed, 13 insertions(+), 4 deletions(-)
> create mode 100644 arch/arm64/include/asm/resctrl.h
>
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 558baa9e7c08..e67885ac7717 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -2025,8 +2025,8 @@ config ARM64_TLB_RANGE
>
> config ARM64_MPAM
> bool "Enable support for MPAM"
> - select ARM64_MPAM_DRIVER if EXPERT # does nothing yet
> - select ACPI_MPAM if ACPI
> + select ARM64_MPAM_DRIVER
> + select ARCH_HAS_CPU_RESCTRL
> help
> Memory System Resource Partitioning and Monitoring (MPAM) is an
> optional extension to the Arm architecture that allows each
> diff --git a/arch/arm64/include/asm/resctrl.h b/arch/arm64/include/asm/resctrl.h
> new file mode 100644
> index 000000000000..b506e95cf6e3
> --- /dev/null
> +++ b/arch/arm64/include/asm/resctrl.h
> @@ -0,0 +1,2 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +#include <linux/arm_mpam.h>
> diff --git a/drivers/resctrl/Kconfig b/drivers/resctrl/Kconfig
> index c808e0470394..672abea3b03c 100644
> --- a/drivers/resctrl/Kconfig
> +++ b/drivers/resctrl/Kconfig
> @@ -1,6 +1,7 @@
> menuconfig ARM64_MPAM_DRIVER
> bool "MPAM driver"
> - depends on ARM64 && ARM64_MPAM && EXPERT
> + depends on ARM64 && ARM64_MPAM
> + select ACPI_MPAM if ACPI
> help
> Memory System Resource Partitioning and Monitoring (MPAM) driver for
> System IP, e.g. caches and memory controllers.
> @@ -22,3 +23,9 @@ config MPAM_KUNIT_TEST
> If unsure, say N.
>
> endif
> +
> +config ARM64_MPAM_RESCTRL_FS
> + bool
> + default y if ARM64_MPAM_DRIVER && RESCTRL_FS
> + select RESCTRL_RMID_DEPENDS_ON_CLOSID
> + select RESCTRL_ASSIGN_FIXED
> diff --git a/drivers/resctrl/Makefile b/drivers/resctrl/Makefile
> index 40beaf999582..4f6d0e81f9b8 100644
> --- a/drivers/resctrl/Makefile
> +++ b/drivers/resctrl/Makefile
> @@ -1,5 +1,5 @@
> obj-$(CONFIG_ARM64_MPAM_DRIVER) += mpam.o
> mpam-y += mpam_devices.o
> -mpam-$(CONFIG_ARM_CPU_RESCTRL) += mpam_resctrl.o
> +mpam-$(CONFIG_ARM64_MPAM_RESCTRL_FS) += mpam_resctrl.o
>
> ccflags-$(CONFIG_ARM64_MPAM_DRIVER_DEBUG) += -DDEBUG

Thanks,

Ben