From: Julien Grall <julien.grall@citrix.com>
To: Ian Campbell <ian.campbell@citrix.com>,
Julien Grall <julien.grall@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>,
tim@xen.org, Julien Grall <julien.grall@linaro.org>,
Ian Jackson <ian.jackson@eu.citrix.com>,
stefano.stabellini@citrix.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v8 1/6] tools/libxl: Check if fdt_{first, next}_subnode are present in libfdt
Date: Wed, 13 May 2015 16:22:10 +0100 [thread overview]
Message-ID: <55536C22.6070100@citrix.com> (raw)
In-Reply-To: <1431526046.8263.285.camel@citrix.com>
Hi Ian,
On 13/05/15 15:07, Ian Campbell wrote:
> On Tue, 2015-05-12 at 15:33 +0100, Julien Grall wrote:
>> From: Julien Grall <julien.grall@linaro.org>
>>
>> The functions fdt_{fisrt,next}_subnode may not be available because:
>
> "first"
>
>> * It has been introduced in 2013 => Doesn't work on Wheezy
>> * The prototype exists but the functions are not exposed. Don't ask
>> why...
>>
>> The later has been fixed recently in the dtc repo [1]
>>
>> When the functions are not available, implement our own in order to use
>> them in a following patch.
>>
>> [1] git://git.kernel.org/pub/scm/utils/dtc/dtc.git
>> commit a4b093f7366fdb429ca1781144d3985fa50d0fbb
>>
>> Signed-off-by: Julien Grall <julien.grall@linaro.org>
>> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
>> Cc: Wei Liu <wei.liu2@citrix.com>
>
> I'm afraid this failed to build again this time with:
>
> tools/libxl/libxenlight.so: undefined reference to `fdt_first_property_offset'
> tools/libxl/libxenlight.so: undefined reference to `fdt_get_property_by_offset'
> tools/libxl/libxenlight.so: undefined reference to `fdt_next_property_offset'
>
> That's with arm32 == Debian Wheezy and arm64 == Ubuntu Saucy.
:(. Both the distribution are using an old version of libfdt where the 3
prototypes are defined but the implementation is not exposed in the
library (this is because they use a whitelist for building it)
I gave look to see if we can import them from libfdt. It will require to
import few others in order to make them work:
- _fdt_check_node_offset
- _fdt_offset_ptr
- _nextprop
I think we can skip the first one because it's only a validity check.
FWIW, we declared the the partial device tree should be trusted so valid.
Nonetheless we would add 5 more functions (+ the actual 2) in libxl
which represents ~50 lines of codes.
The 3 offending function have been correctly exposed since the version
v1.4.0 released in June 2013.
I gave a look to major distribution to see which version is using an old
version of libfdt (i.e < 1.4.0:
- Centos: < Centos 6
- Debian: < Jessie => Wheezy using an old version
- Fedora: < Fedora 20
- openSuse: < opensuse 13.1
- ubuntu: < Ubuntu 14.04 => The LTS (14.04) is using a new version
- RedHat: < Redhat 6
AFAICT, all major distributions except debian (for wheezy) are using a
libfdt > v1.4. So I would suggest to disable the partial device tree
support on distribution using older version.
If the user want to use platform device passthrough it would have either
to build a newer version of libfdt or append a device tree to the guest
kernel.
Note: IIRC osstest is using wheezy. If so, we won't be able to test
platform device passthrough until the distribution version is upgraded.
Although, we don't currently have a platform supporting non-PCI
passthrough in osstest.
Regards,
--
Julien Grall
next prev parent reply other threads:[~2015-05-13 15:46 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-12 14:33 [PATCH v8 0/6] xen/arm: Add support for non-PCI passthrough Julien Grall
2015-05-12 14:33 ` [PATCH v8 1/6] tools/libxl: Check if fdt_{first, next}_subnode are present in libfdt Julien Grall
2015-05-13 14:07 ` Ian Campbell
2015-05-13 15:22 ` Julien Grall [this message]
2015-05-13 15:39 ` Ian Campbell
2015-05-13 16:04 ` Julien Grall
2015-05-12 14:33 ` [PATCH v8 2/6] tools/(lib)xl: Add partial device tree support for ARM Julien Grall
2015-05-12 14:33 ` [PATCH v8 3/6] tools/libxl: arm: Use an higher value for the GIC phandle Julien Grall
2015-05-12 14:33 ` [PATCH v8 4/6] libxl: Add support for Device Tree passthrough Julien Grall
2015-05-12 14:33 ` [PATCH v8 5/6] xl: Add new option dtdev Julien Grall
2015-05-12 14:33 ` [PATCH v8 6/6] docs/misc: arm: Add documentation about Device Tree passthrough 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=55536C22.6070100@citrix.com \
--to=julien.grall@citrix.com \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=julien.grall@linaro.org \
--cc=stefano.stabellini@citrix.com \
--cc=tim@xen.org \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xenproject.org \
/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.