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@xxxxxxxxxxxxxxxx> > > Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > > Reviewed-by: Andrew Jones <ajones@xxxxxxxxxxxxxxxx> > > --- > > 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