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

Andrew Jones
2023-03-04T14:38:37Z

On Fri, Mar 03, 2023 at 04:36:17PM +0100, Andrew Jones wrote:
> 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.
>

Just following up here; as Sunil pointed out in chat, the base is
latest master with the IPI improvement rebased. I was using the
last IPI improvement branch. So that explains the problem I had
applying this and the weirdness I was seeing with the Kconfig
lines (select/default) as compared to v2.

Thanks,
drew