[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2] libacpi: Don't build x86-only AML for ARM64 mk_dsdt



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@xxxxxxxxxx>

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@xxxxxxxxxxxxx
> https://lists.xen.org/xen-devel
> 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.