Message ID | 1482260723-6193-1-git-send-email-boris.ostrovsky@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, 20 Dec 2016, Boris Ostrovsky wrote: > Commit d6ac8e22c7c5 ("acpi/x86: define ACPI IO registers for > PVH guests") broke ARM64 build of mk_dsdt.c due to introduction > of XEN_ACPI_CPU_MAP[_LEN] macros that are needed only for x86 > guests. > > We could fix the build by dealing specifically with those macros > but since post-MADT code is not executed on ARM64 anyway we can > compile it for x86 only. > > Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> Thanks for the patch. I don't see the previous error anymore, but now I get: gcc -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -Wdeclaration-after-statement -DCONFIG_ARM_64 -I/users/stefanos/xen/tools/libacpi/../../tools/include -D__XEN_TOOLS__ -o ../../dist/install/mk_dsdt mk_dsdt.c mk_dsdt.c: In function ‘main’: mk_dsdt.c:115:16: error: variable ‘dm_version’ set but not used [-Werror=unused-but-set-variable] dm_version dm_version = QEMU_XEN_TRADITIONAL; ^ cc1: all warnings being treated as errors make: *** [../../dist/install/mk_dsdt] Error 1 > v2: #ifdef for pci_hotplug_notify() and decision_tree() > that are used by x86-only code. > > > tools/libacpi/mk_dsdt.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/tools/libacpi/mk_dsdt.c b/tools/libacpi/mk_dsdt.c > index 9421f3f..7bb5aa0 100644 > --- a/tools/libacpi/mk_dsdt.c > +++ b/tools/libacpi/mk_dsdt.c > @@ -78,6 +78,7 @@ static void pop_block(void) > printf("}\n"); > } > > +#ifdef CONFIG_X86 > static void pci_hotplug_notify(unsigned int slt) > { > stmt("Notify", "\\_SB.PCI0.S%02X, EVT", slt); > @@ -99,6 +100,7 @@ static void decision_tree( > decision_tree(s, (s+e)/2, var, leaf); > pop_block(); > } > +#endif > > static struct option options[] = { > { "maxcpu", 1, 0, 'c' }, > @@ -109,10 +111,10 @@ static struct option options[] = { > > int main(int argc, char **argv) > { > - unsigned int slot, dev, intx, link, cpu, max_cpus; > + unsigned int cpu, max_cpus; > dm_version dm_version = QEMU_XEN_TRADITIONAL; > - > #if defined(CONFIG_X86) > + unsigned int slot, dev, intx, link; > max_cpus = HVM_MAX_VCPUS; > #elif defined(CONFIG_ARM_64) > max_cpus = GUEST_MAX_VCPUS; > @@ -242,7 +244,7 @@ int main(int argc, char **argv) > pop_block(); > /**** DSDT DefinitionBlock end ****/ > return 0; > -#endif > +#else > > /* Operation Region 'PRST': bitmask of online CPUs. */ > stmt("OperationRegion", "PRST, SystemIO, %#x, %d", > @@ -524,6 +526,7 @@ int main(int argc, char **argv) > /**** DSDT DefinitionBlock end ****/ > > return 0; > +#endif > } > > /* > -- > 2.7.4 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > https://lists.xen.org/xen-devel >
diff --git a/tools/libacpi/mk_dsdt.c b/tools/libacpi/mk_dsdt.c index 9421f3f..7bb5aa0 100644 --- a/tools/libacpi/mk_dsdt.c +++ b/tools/libacpi/mk_dsdt.c @@ -78,6 +78,7 @@ static void pop_block(void) printf("}\n"); } +#ifdef CONFIG_X86 static void pci_hotplug_notify(unsigned int slt) { stmt("Notify", "\\_SB.PCI0.S%02X, EVT", slt); @@ -99,6 +100,7 @@ static void decision_tree( decision_tree(s, (s+e)/2, var, leaf); pop_block(); } +#endif static struct option options[] = { { "maxcpu", 1, 0, 'c' }, @@ -109,10 +111,10 @@ static struct option options[] = { int main(int argc, char **argv) { - unsigned int slot, dev, intx, link, cpu, max_cpus; + unsigned int cpu, max_cpus; dm_version dm_version = QEMU_XEN_TRADITIONAL; - #if defined(CONFIG_X86) + unsigned int slot, dev, intx, link; max_cpus = HVM_MAX_VCPUS; #elif defined(CONFIG_ARM_64) max_cpus = GUEST_MAX_VCPUS; @@ -242,7 +244,7 @@ int main(int argc, char **argv) pop_block(); /**** DSDT DefinitionBlock end ****/ return 0; -#endif +#else /* Operation Region 'PRST': bitmask of online CPUs. */ stmt("OperationRegion", "PRST, SystemIO, %#x, %d", @@ -524,6 +526,7 @@ int main(int argc, char **argv) /**** DSDT DefinitionBlock end ****/ return 0; +#endif } /*
Commit d6ac8e22c7c5 ("acpi/x86: define ACPI IO registers for PVH guests") broke ARM64 build of mk_dsdt.c due to introduction of XEN_ACPI_CPU_MAP[_LEN] macros that are needed only for x86 guests. We could fix the build by dealing specifically with those macros but since post-MADT code is not executed on ARM64 anyway we can compile it for x86 only. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> --- v2: #ifdef for pci_hotplug_notify() and decision_tree() that are used by x86-only code. tools/libacpi/mk_dsdt.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)