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

Re: [Xen-devel] XEN tools for ARM64 build issue



Hi,

On 25/11/16 17:00, Julien Grall wrote:
On 25/11/16 15:52, Jan Beulich wrote:
On 25.11.16 at 16:30, <julien.grall@xxxxxxx> wrote:
On 23/11/16 10:47, Jan Beulich wrote:
On 23.11.16 at 11:29, <andrii.anisov@xxxxxxxxx> wrote:
Building latest XEN master branch
(58bd0c7985890e0292212f94a56235228a3445c3) for salvator-x platform
using
the same yocto as here
https://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions/Salvator-X

I've
faced following issue:

Maximum error count (200) exceeded

/home/aanisov/DEV/salvatorx-new/build/tmp/work/aarch64-poky-linux/xen/4.8.0+

gitAUTOINC+58bd0c7985-r0/git/tools/libxl/dsdt_anycpu_arm.asl
     3:         OperationRegion ( MSUM, SystemMemory, \_SB.MSUA, 1 )
Error    4084 -

                         Object does not exist ^  (\_SB.MSUA)

Looking at the source I see that this statement gets included for
x86 only. Are you perhaps doing a cross build of the ARM tools
on an x86 host? If so, it looks like some work would be needed to
make that work (again? not sure if it ever worked), as there are
various build host architecture conditionals in mk_dsdt.c.

I gave a look at this error, I had in mind to replace all the #if
defined(__*__) by the CONFIG_* equivalent.

However, the CONFIG_* are not available for the tools. I guess we need
to add them in the tools config.h. Any opinions?

The CONFIG_* values are available in the Makefile (from
config/arm*.mk). I think it would be better if the tool was told
via command line option what architecture to build tables for.
That would imply converting the problematic #if-s to if()s. Of
course the per-arch #include-s at the top may be a problem
here, but then again I'm not convinced the full xen/arch-arm.h
is really needed here (I'm pretty sure including
xen/hvm/hvm_info_table.h would cause no issue for ARM, the
more that nominally this is an arch-independent header anyway).

FYI, I am only planning to fix the compilation issue as this is a
problem for some user.

Regarding hvm/hvm_info_table.h, It contains few things that are x86
specific (such as the PFN).

Furthermore, I don't think this header should be included on ARM because
it defines HVM_MAX_VCPUS and may cause confusion with GUEST_MAX_VCPUS
the correct value for ARM guests.

I forgot to mention that xen/arch-arm.h is necessary in order to get GUEST_MAX_VCPUS.

Regards,

--
Julien Grall

_______________________________________________
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®.