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.
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 (#7288):
https://lists.yoctoproject.org/g/meta-virtualization/message/7288
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]]
-=-=-=-=-=-=-=-=-=-=-=-