Re: [PATCH V3 06/20] RISC-V: Add support to build the ACPI core

Andrew Jones
2023-03-03T15:36:25Z

On Fri, Mar 03, 2023 at 07:06:33PM +0530, Sunil V L wrote:
> Enable ACPI core for RISC-V after adding architecture-specific
> interfaces and header files required to build the ACPI core.
>
> 1) Couple of header files are required unconditionally by the ACPI
> core. Add empty acenv.h and cpu.h header files.
>
> 2) If CONFIG_PCI is enabled, a few PCI related interfaces need to
> be provided by the architecture. Define dummy interfaces for now
> so that build succeeds. Actual implementation will be added when
> PCI support is added for ACPI along with external interrupt
> controller support.
>
> 3) A few globals and memory mapping related functions specific
> to the architecture need to be provided.
>
> Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
> ---
> arch/riscv/Kconfig | 5 +++
> arch/riscv/include/asm/acenv.h | 11 +++++
> arch/riscv/include/asm/acpi.h | 61 ++++++++++++++++++++++++++
> arch/riscv/include/asm/cpu.h | 8 ++++
> arch/riscv/kernel/Makefile | 2 +
> arch/riscv/kernel/acpi.c | 80 ++++++++++++++++++++++++++++++++++
> 6 files changed, 167 insertions(+)
> create mode 100644 arch/riscv/include/asm/acenv.h
> create mode 100644 arch/riscv/include/asm/acpi.h
> create mode 100644 arch/riscv/include/asm/cpu.h
> create mode 100644 arch/riscv/kernel/acpi.c
>
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 71754eb32ee6..f3108c7e19d8 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -12,6 +12,8 @@ config 32BIT
>
> config RISCV
> def_bool y
> + select ACPI_GENERIC_GSI if ACPI
> + select ACPI_REDUCED_HARDWARE_ONLY if ACPI
> select ARCH_ENABLE_HUGEPAGE_MIGRATION if HUGETLB_PAGE && MIGRATION
> select ARCH_ENABLE_SPLIT_PMD_PTLOCK if PGTABLE_LEVELS > 2
> select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE
> @@ -617,6 +619,7 @@ config EFI
> depends on OF && !XIP_KERNEL
> depends on MMU
> default y
> + select ARCH_SUPPORTS_ACPI if 64BIT
> select EFI_GENERIC_STUB
> select EFI_PARAMS_FROM_FDT
> select EFI_RUNTIME_WRAPPERS
> @@ -720,3 +723,5 @@ source "drivers/cpufreq/Kconfig"
> endmenu # "CPU Power Management"
>
> source "arch/riscv/kvm/Kconfig"
> +
> +source "drivers/acpi/Kconfig"

The above Kconfig hunks don't apply on the IPI improvement base. The
second hunk also looks weird with the select under the default.

Thanks,
drew