[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3] libacpi: Don't build x86-only AML for ARM64 mk_dsdt
On Wed, 21 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@xxxxxxxxxx> This works. Tested-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> > v3: > * Hide dm_version from ARM64 to prevent compiler from complaining > that it is never read (although it is written). > > FWFW, this passes a "pseudo-ARM64" build on x86 > > rm -f a.out; gcc -Wall -Werror -Wstrict-prototypes -fomit-frame-pointer > -fno-strict-aliasing -Wdeclaration-after-statement -DCONFIG_ARM_64 > -I/data/armxen/tools/libacpi/../../tools/include -D__XEN_TOOLS__ mk_dsdt.c; > ls -l a.out > -rwxrwxr-x 1 ostr ostr 9384 Dec 21 16:02 a.out > > > > tools/libacpi/mk_dsdt.c | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) > > diff --git a/tools/libacpi/mk_dsdt.c b/tools/libacpi/mk_dsdt.c > index 9421f3f..935770d 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,20 +100,23 @@ static void decision_tree( > decision_tree(s, (s+e)/2, var, leaf); > pop_block(); > } > +#endif > > static struct option options[] = { > { "maxcpu", 1, 0, 'c' }, > +#if defined(CONFIG_X86) > { "dm-version", 1, 0, 'q' }, > +#endif > { "debug", 1, 0, 'd' }, > { 0, 0, 0, 0 } > }; > > int main(int argc, char **argv) > { > - unsigned int slot, dev, intx, link, cpu, max_cpus; > - dm_version dm_version = QEMU_XEN_TRADITIONAL; > - > + unsigned int cpu, max_cpus; > #if defined(CONFIG_X86) > + dm_version dm_version = QEMU_XEN_TRADITIONAL; > + unsigned int slot, dev, intx, link; > max_cpus = HVM_MAX_VCPUS; > #elif defined(CONFIG_ARM_64) > max_cpus = GUEST_MAX_VCPUS; > @@ -142,6 +146,7 @@ int main(int argc, char **argv) > } > break; > } > +#if defined(CONFIG_X86) > case 'q': > if (strcmp(optarg, "qemu-xen") == 0) { > dm_version = QEMU_XEN; > @@ -154,6 +159,7 @@ int main(int argc, char **argv) > return -1; > } > break; > +#endif > case 'd': > if (*optarg == 'y') > debug = true; > @@ -242,7 +248,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 +530,7 @@ int main(int argc, char **argv) > /**** DSDT DefinitionBlock end ****/ > > return 0; > +#endif > } > > /* > -- > 2.7.4 > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |