Hi Bruce,
> On 18 May 2022, at 18:59, Bruce Ashfield <[email protected]> wrote:
>
> On Tue, May 17, 2022 at 8:14 PM Christopher Clark
> <[email protected]> wrote:
>>
>> On Tue, May 10, 2022 at 8:35 AM Bertrand Marquis
>> <[email protected]> wrote:
>>>
>>> Remove the pci node from the qemu device tree when runqemu is used with
>>> xen-qemuboot.
>>>
>>> Linux is ending up in an infinite loop when trying to access PCI
>>> configuration space when running on top of Xen on arm32.
>>> As we do not need or support any of the devices on PCI on arm32 at the
>>> moment, just remove the node from the device tree generated by qemu.
>>>
>>> The problem does not appear at the moment without Xen and it is unclear
>>> why it is with Xen.
>>> This will be investigated but in the meantime provide a working
>>> configuration for users.
>>>
>>> Signed-off-by: Bertrand Marquis <[email protected]>
>>
>> Thanks for this - my review is from inspecting the patch applied; I
>> have yet to test it but there's no need to hold this back with
>> positive reports now from Bruce and Bertrand.
>>
>> Reviewed-by: Christopher Clark <[email protected]>
>>
>> thanks,
>>
>
> Everything is merged to master and kirkstone.
Great, thanks a lot :-)
Cheers
Bertrand
>
> Bruce
>
>> Christopher
>>
>>> ---
>>> classes/qemuboot-xen-dtb.bbclass | 22 ++++++++++++++++++++++
>>> 1 file changed, 22 insertions(+)
>>>
>>> diff --git a/classes/qemuboot-xen-dtb.bbclass
>>> b/classes/qemuboot-xen-dtb.bbclass
>>> index d43d23a..1f17a86 100644
>>> --- a/classes/qemuboot-xen-dtb.bbclass
>>> +++ b/classes/qemuboot-xen-dtb.bbclass
>>> @@ -63,6 +63,21 @@ write_lops_xen_section() {
>>> EOF
>>> }
>>>
>>> +write_lop_rm_pci() {
>>> + cat <<EOF >"$1"
>>> +/dts-v1/;
>>> +/ {
>>> + compatible = "system-device-tree-v1";
>>> + lops {
>>> + lop_1 {
>>> + compatible = "system-device-tree-v1,lop,modify";
>>> + modify = "/pcie@10000000::";
>>> + };
>>> + };
>>> +};
>>> +EOF
>>> +}
>>> +
>>> write_lop_add_to_xen_cmdline() {
>>> EXTRA_XEN_BOOTARGS="$2"
>>> cat <<EOF >"$1"
>>> @@ -135,6 +150,13 @@ generate_xen_qemuboot_dtb() {
>>> write_lop_add_to_xen_cmdline "${B}/lop-xen-cmdline.dts" \
>>> "${QB_XEN_CMDLINE_EXTRA}"
>>>
>>> + # On Qemu Arm32, Dom0 accessing PCI config space ends up in an
>>> + # infinite loop. Remove pci node from the device tree
>>> + if [ "${MACHINE}" = "qemuarm" ]; then
>>> + write_lop_rm_pci "${B}/lop-rm-pci.dts"
>>> + LOP_MODULE_ARGS="${LOP_MODULE_ARGS} -i ${B}/lop-rm-pci.dts"
>>> + fi
>>> +
>>> if [ -z "${QB_XEN_DOMAIN_MODULES}" ]; then
>>> bbwarn "No domain modules: please set QB_XEN_DOMAIN_MODULES"
>>> fi
>>> --
>>> 2.25.1
>>>
>>>
>>>
>>>
>>
>>
>>
>
>
> --
> - Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at its end
> - "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#7289):
https://lists.yoctoproject.org/g/meta-virtualization/message/7289
Mute This Topic: https://lists.yoctoproject.org/mt/91015801/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-