All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jan Beulich" <JBeulich@suse.com>
To: Julien Grall <julien.grall@arm.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	xen-devel@lists.xen.org, Shannon Zhao <zhaoshenglong@huawei.com>,
	Wei Liu <wei.liu2@citrix.com>,
	Andrii Anisov <andrii.anisov@gmail.com>
Subject: Re: XEN tools for ARM64 build issue
Date: Mon, 28 Nov 2016 01:02:43 -0700	[thread overview]
Message-ID: <583BF2B30200007800122A65@prv-mh.provo.novell.com> (raw)
In-Reply-To: <31e69bd4-94b3-493c-d271-8b8b18b2b6bb@arm.com>

>>> On 25.11.16 at 18:59, <julien.grall@arm.com> wrote:
> 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@arm.com> wrote:
>>>> On 23/11/16 10:47, Jan Beulich wrote:
>>>>>>>> On 23.11.16 at 11:29, <andrii.anisov@gmail.com> 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.

I think we should strive to solve this in a more elegant way, without
(almost) colliding definitions, and without the need to include stuff
we don't really need here. But yes, as a first step just fixing the
build issue without converting to runtime controlled behavior is going
to be fine. We just shouldn't put the issue fully to rest afterwards.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  reply	other threads:[~2016-11-28  8:02 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-23 10:29 XEN tools for ARM64 build issue Andrii Anisov
2016-11-23 10:47 ` Jan Beulich
2016-11-23 10:59   ` Andrii Anisov
2016-11-25 15:30   ` Julien Grall
2016-11-25 15:52     ` Jan Beulich
2016-11-25 17:00       ` Julien Grall
2016-11-25 17:59         ` Julien Grall
2016-11-28  8:02           ` Jan Beulich [this message]
2016-11-28 12:45             ` Julien Grall
2016-11-28 13:00               ` Processed: " xen
2016-11-25 15:55     ` Wei Liu
2016-11-25 17:18       ` Julien Grall

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=583BF2B30200007800122A65@prv-mh.provo.novell.com \
    --to=jbeulich@suse.com \
    --cc=andrii.anisov@gmail.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=julien.grall@arm.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    --cc=zhaoshenglong@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.