xen/arch/arm/arm32/mmu/mm.c | 1 + xen/arch/arm/arm64/smpboot.c | 3 ++- xen/arch/arm/domain_build.c | 1 - xen/arch/arm/gic-v2.c | 1 - xen/arch/arm/gic-v3.c | 2 -- xen/arch/arm/include/asm/acpi.h | 1 - xen/arch/arm/mmu/setup.c | 1 + xen/arch/arm/psci.c | 1 + xen/arch/arm/smpboot.c | 1 + xen/arch/arm/traps.c | 3 ++- xen/common/sched/boot-cpupool.c | 2 +- xen/include/xen/acpi.h | 8 ++++++-- 12 files changed, 15 insertions(+), 10 deletions(-)
Conditionalize xen/acpi.h's inclusion of acpi/acpi.h and asm/acpi.h on
CONFIG_ACPI and import ARM's !CONFIG_ACPI stub for acpi_disabled() so
that the header can be included on architectures without ACPI support,
like ppc.
This change revealed some missing #includes across the ARM tree, so fix
those as well.
Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
xen/arch/arm/arm32/mmu/mm.c | 1 +
xen/arch/arm/arm64/smpboot.c | 3 ++-
xen/arch/arm/domain_build.c | 1 -
xen/arch/arm/gic-v2.c | 1 -
xen/arch/arm/gic-v3.c | 2 --
xen/arch/arm/include/asm/acpi.h | 1 -
xen/arch/arm/mmu/setup.c | 1 +
xen/arch/arm/psci.c | 1 +
xen/arch/arm/smpboot.c | 1 +
xen/arch/arm/traps.c | 3 ++-
xen/common/sched/boot-cpupool.c | 2 +-
xen/include/xen/acpi.h | 8 ++++++--
12 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/xen/arch/arm/arm32/mmu/mm.c b/xen/arch/arm/arm32/mmu/mm.c
index cb441ca87c..0ab6ae52a6 100644
--- a/xen/arch/arm/arm32/mmu/mm.c
+++ b/xen/arch/arm/arm32/mmu/mm.c
@@ -3,6 +3,7 @@
#include <xen/init.h>
#include <xen/lib.h>
#include <xen/libfdt/libfdt-xen.h>
+#include <xen/mm.h>
#include <xen/param.h>
#include <xen/pfn.h>
#include <asm/fixmap.h>
diff --git a/xen/arch/arm/arm64/smpboot.c b/xen/arch/arm/arm64/smpboot.c
index bf81d018b3..a225fae64d 100644
--- a/xen/arch/arm/arm64/smpboot.c
+++ b/xen/arch/arm/arm64/smpboot.c
@@ -1,4 +1,6 @@
+#include <xen/acpi.h>
#include <xen/cpu.h>
+#include <xen/device_tree.h>
#include <xen/lib.h>
#include <xen/init.h>
#include <xen/errno.h>
@@ -7,7 +9,6 @@
#include <xen/vmap.h>
#include <asm/io.h>
#include <asm/psci.h>
-#include <asm/acpi.h>
struct smp_enable_ops {
int (*prepare_cpu)(int cpu);
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 085d88671e..54232ed4cb 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -18,7 +18,6 @@
#include <xen/acpi.h>
#include <xen/vmap.h>
#include <xen/warning.h>
-#include <acpi/actables.h>
#include <asm/device.h>
#include <asm/kernel.h>
#include <asm/setup.h>
diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c
index 5d6885e389..02043c0d4b 100644
--- a/xen/arch/arm/gic-v2.c
+++ b/xen/arch/arm/gic-v2.c
@@ -22,7 +22,6 @@
#include <xen/libfdt/libfdt.h>
#include <xen/sizes.h>
#include <xen/acpi.h>
-#include <acpi/actables.h>
#include <asm/p2m.h>
#include <asm/domain.h>
#include <asm/platform.h>
diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index 1cb1360606..cd3e1acf79 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -25,8 +25,6 @@
#include <xen/sched.h>
#include <xen/sizes.h>
-#include <acpi/actables.h>
-
#include <asm/cpufeature.h>
#include <asm/device.h>
#include <asm/gic.h>
diff --git a/xen/arch/arm/include/asm/acpi.h b/xen/arch/arm/include/asm/acpi.h
index e53973e054..13756dd341 100644
--- a/xen/arch/arm/include/asm/acpi.h
+++ b/xen/arch/arm/include/asm/acpi.h
@@ -74,7 +74,6 @@ static inline void enable_acpi(void)
acpi_disabled = false;
}
#else
-#define acpi_disabled (true)
#define disable_acpi()
#define enable_acpi()
#endif
diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
index 57f1b46499..c0cb17ca2e 100644
--- a/xen/arch/arm/mmu/setup.c
+++ b/xen/arch/arm/mmu/setup.c
@@ -10,6 +10,7 @@
#include <xen/sizes.h>
#include <xen/vmap.h>
+#include <asm/setup.h>
#include <asm/fixmap.h>
/* Override macros from asm/page.h to make them work with mfn_t */
diff --git a/xen/arch/arm/psci.c b/xen/arch/arm/psci.c
index 695d2fa1f1..b6860a7760 100644
--- a/xen/arch/arm/psci.c
+++ b/xen/arch/arm/psci.c
@@ -9,6 +9,7 @@
*/
+#include <xen/acpi.h>
#include <xen/types.h>
#include <xen/init.h>
#include <xen/mm.h>
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index a84e706d77..6efed87678 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -7,6 +7,7 @@
* Copyright (c) 2011 Citrix Systems.
*/
+#include <xen/acpi.h>
#include <xen/cpu.h>
#include <xen/cpumask.h>
#include <xen/delay.h>
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 9cffe7f790..083157d6f2 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -7,6 +7,7 @@
* Copyright (c) 2011 Citrix Systems.
*/
+#include <xen/acpi.h>
#include <xen/domain_page.h>
#include <xen/errno.h>
#include <xen/hypercall.h>
@@ -30,7 +31,6 @@
#include <public/sched.h>
#include <public/xen.h>
-#include <asm/acpi.h>
#include <asm/cpuerrata.h>
#include <asm/cpufeature.h>
#include <asm/event.h>
@@ -38,6 +38,7 @@
#include <asm/mem_access.h>
#include <asm/mmio.h>
#include <asm/regs.h>
+#include <asm/setup.h>
#include <asm/smccc.h>
#include <asm/traps.h>
#include <asm/vgic.h>
diff --git a/xen/common/sched/boot-cpupool.c b/xen/common/sched/boot-cpupool.c
index 5955e6f9a9..feeac3b704 100644
--- a/xen/common/sched/boot-cpupool.c
+++ b/xen/common/sched/boot-cpupool.c
@@ -7,8 +7,8 @@
* Copyright (C) 2022 Arm Ltd.
*/
+#include <xen/acpi.h>
#include <xen/sched.h>
-#include <asm/acpi.h>
/*
* pool_cpu_map: Index is logical cpu number, content is cpupool id, (-1) for
diff --git a/xen/include/xen/acpi.h b/xen/include/xen/acpi.h
index 6a2f5983fd..73ca4ad75c 100644
--- a/xen/include/xen/acpi.h
+++ b/xen/include/xen/acpi.h
@@ -37,10 +37,10 @@
#ifndef __ASSEMBLY__
+#include <xen/errno.h>
#include <xen/list.h>
-#include <acpi/acpi.h>
-#include <asm/acpi.h>
+#include <public/xen.h>
#define ACPI_MADT_GET_(fld, x) (((x) & ACPI_MADT_##fld##_MASK) / \
(ACPI_MADT_##fld##_MASK & -ACPI_MADT_##fld##_MASK))
@@ -54,6 +54,9 @@
#ifdef CONFIG_ACPI
+#include <acpi/acpi.h>
+#include <asm/acpi.h>
+
extern acpi_physical_address rsdp_hint;
extern bool opt_acpi_verbose;
@@ -118,6 +121,7 @@ extern u32 pci_mmcfg_base_addr;
#else /*!CONFIG_ACPI*/
#define acpi_mp_config 0
+#define acpi_disabled (true)
static inline int acpi_boot_init(void)
{
--
2.30.2
On 05/04/2024 7:20 pm, Shawn Anastasio wrote: > Conditionalize xen/acpi.h's inclusion of acpi/acpi.h and asm/acpi.h on > CONFIG_ACPI and import ARM's !CONFIG_ACPI stub for acpi_disabled() so > that the header can be included on architectures without ACPI support, > like ppc. > > This change revealed some missing #includes across the ARM tree, so fix > those as well. > > Suggested-by: Jan Beulich <jbeulich@suse.com> > Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com> > --- > xen/arch/arm/arm32/mmu/mm.c | 1 + > xen/arch/arm/arm64/smpboot.c | 3 ++- > xen/arch/arm/domain_build.c | 1 - > xen/arch/arm/gic-v2.c | 1 - > xen/arch/arm/gic-v3.c | 2 -- > xen/arch/arm/include/asm/acpi.h | 1 - > xen/arch/arm/mmu/setup.c | 1 + > xen/arch/arm/psci.c | 1 + > xen/arch/arm/smpboot.c | 1 + > xen/arch/arm/traps.c | 3 ++- > xen/common/sched/boot-cpupool.c | 2 +- > xen/include/xen/acpi.h | 8 ++++++-- > 12 files changed, 15 insertions(+), 10 deletions(-) Pre-push testing found a randconfig error caused by this: https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/6602857882 Henry diagnosed this as "arm asm/acpi.h includes the arm asm/setup.h then asm/p2m.h then finally asm/current.h". pt.c uses smp_processor_id() explicitly, so should include asm/current.h. I've folded the following delta in to fix the issue, diff --git a/xen/arch/arm/mmu/pt.c b/xen/arch/arm/mmu/pt.c index a7755728aeda..da28d669e796 100644 --- a/xen/arch/arm/mmu/pt.c +++ b/xen/arch/arm/mmu/pt.c @@ -11,6 +11,7 @@ #include <xen/sizes.h> #include <xen/vmap.h> +#include <asm/current.h> #include <asm/fixmap.h> #ifdef NDEBUG But I suspect this may not be the only instance. ~Andrew
Hi Andrew, On 4/11/2024 9:15 PM, Andrew Cooper wrote: > On 05/04/2024 7:20 pm, Shawn Anastasio wrote: >> Conditionalize xen/acpi.h's inclusion of acpi/acpi.h and asm/acpi.h on >> CONFIG_ACPI and import ARM's !CONFIG_ACPI stub for acpi_disabled() so >> that the header can be included on architectures without ACPI support, >> like ppc. >> >> This change revealed some missing #includes across the ARM tree, so fix >> those as well. >> >> Suggested-by: Jan Beulich <jbeulich@suse.com> >> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com> >> --- >> xen/arch/arm/arm32/mmu/mm.c | 1 + >> xen/arch/arm/arm64/smpboot.c | 3 ++- >> xen/arch/arm/domain_build.c | 1 - >> xen/arch/arm/gic-v2.c | 1 - >> xen/arch/arm/gic-v3.c | 2 -- >> xen/arch/arm/include/asm/acpi.h | 1 - >> xen/arch/arm/mmu/setup.c | 1 + >> xen/arch/arm/psci.c | 1 + >> xen/arch/arm/smpboot.c | 1 + >> xen/arch/arm/traps.c | 3 ++- >> xen/common/sched/boot-cpupool.c | 2 +- >> xen/include/xen/acpi.h | 8 ++++++-- >> 12 files changed, 15 insertions(+), 10 deletions(-) > > Pre-push testing found a randconfig error caused by this: > https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/6602857882 > > Henry diagnosed this as "arm asm/acpi.h includes the arm asm/setup.h > then asm/p2m.h then finally asm/current.h". > > pt.c uses smp_processor_id() explicitly, so should include > asm/current.h. I've folded the following delta in to fix the issue, I tried to build with below diff locally and confirm below diff will fix the build error reported by the randconfig job of gitlab-ci. Kind regards, Henry > diff --git a/xen/arch/arm/mmu/pt.c b/xen/arch/arm/mmu/pt.c > index a7755728aeda..da28d669e796 100644 > --- a/xen/arch/arm/mmu/pt.c > +++ b/xen/arch/arm/mmu/pt.c > @@ -11,6 +11,7 @@ > #include <xen/sizes.h> > #include <xen/vmap.h> > > +#include <asm/current.h> > #include <asm/fixmap.h> > > #ifdef NDEBUG > > > But I suspect this may not be the only instance. > > ~Andrew >
Hi Shawn, On 05/04/2024 20:20, Shawn Anastasio wrote: > > > Conditionalize xen/acpi.h's inclusion of acpi/acpi.h and asm/acpi.h on > CONFIG_ACPI and import ARM's !CONFIG_ACPI stub for acpi_disabled() so > that the header can be included on architectures without ACPI support, > like ppc. > > This change revealed some missing #includes across the ARM tree, so fix > those as well. > > Suggested-by: Jan Beulich <jbeulich@suse.com> > Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com> Reviewed-by: Michal Orzel <michal.orzel@amd.com> ~Michal
On 05.04.2024 20:20, Shawn Anastasio wrote: > Conditionalize xen/acpi.h's inclusion of acpi/acpi.h and asm/acpi.h on > CONFIG_ACPI and import ARM's !CONFIG_ACPI stub for acpi_disabled() so > that the header can be included on architectures without ACPI support, > like ppc. > > This change revealed some missing #includes across the ARM tree, so fix > those as well. > > Suggested-by: Jan Beulich <jbeulich@suse.com> > Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com> Acked-by: Jan Beulich <jbeulich@suse.com> albeit preferably with ... > @@ -118,6 +121,7 @@ extern u32 pci_mmcfg_base_addr; > #else /*!CONFIG_ACPI*/ > > #define acpi_mp_config 0 > +#define acpi_disabled (true) ... the unnecessary parentheses avoided here. Jan
On 4/8/24 1:54 AM, Jan Beulich wrote: > On 05.04.2024 20:20, Shawn Anastasio wrote: >> Conditionalize xen/acpi.h's inclusion of acpi/acpi.h and asm/acpi.h on >> CONFIG_ACPI and import ARM's !CONFIG_ACPI stub for acpi_disabled() so >> that the header can be included on architectures without ACPI support, >> like ppc. >> >> This change revealed some missing #includes across the ARM tree, so fix >> those as well. >> >> Suggested-by: Jan Beulich <jbeulich@suse.com> >> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com> > > Acked-by: Jan Beulich <jbeulich@suse.com> Thanks. > albeit preferably with ... > >> @@ -118,6 +121,7 @@ extern u32 pci_mmcfg_base_addr; >> #else /*!CONFIG_ACPI*/ >> >> #define acpi_mp_config 0 >> +#define acpi_disabled (true) > > ... the unnecessary parentheses avoided here. > If you'd like to handle this durring commit, that would be fine with me. Otherwise let me know if you'd like a v2 to be sent. > Jan Thanks, Shawn
On 09/04/2024 11:16 pm, Shawn Anastasio wrote: > On 4/8/24 1:54 AM, Jan Beulich wrote: >> On 05.04.2024 20:20, Shawn Anastasio wrote: >>> Conditionalize xen/acpi.h's inclusion of acpi/acpi.h and asm/acpi.h on >>> CONFIG_ACPI and import ARM's !CONFIG_ACPI stub for acpi_disabled() so >>> that the header can be included on architectures without ACPI support, >>> like ppc. >>> >>> This change revealed some missing #includes across the ARM tree, so fix >>> those as well. >>> >>> Suggested-by: Jan Beulich <jbeulich@suse.com> >>> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com> >> Acked-by: Jan Beulich <jbeulich@suse.com> > Thanks. > >> albeit preferably with ... >> >>> @@ -118,6 +121,7 @@ extern u32 pci_mmcfg_base_addr; >>> #else /*!CONFIG_ACPI*/ >>> >>> #define acpi_mp_config 0 >>> +#define acpi_disabled (true) >> ... the unnecessary parentheses avoided here. >> > If you'd like to handle this durring commit, that would be fine with me. > Otherwise let me know if you'd like a v2 to be sent. I've fixed on commit. No need to send a v2. Thanks. ~Andrew
© 2016 - 2024 Red Hat, Inc.