On Thu, Jun 9, 2022 at 3:01 AM Bertrand Marquis <[email protected]> wrote: > > Hi Michal, > > > On 9 Jun 2022, at 10:57, Michal Orzel via lists.yoctoproject.org > > <[email protected]> wrote: > > > > This reverts commit fb0a7b97db4f419b82309f98a4944ae3330d1e2e. > > > > Justification: > > Commit fb0a7b97db4f removed the PCI node from the qemu device tree > > due to the issue when trying to access PCI configuration space that > > was causing Linux running on top of Xen to end up in an infinite loop. > > The investigation showed that the problem occurs due to qemu placing > > ECAM space at 256GiB mark. Even though Xen officially supports on arm32 > > up to 12GiB of physical address space, it is able to map it correctly > > for dom0. However, when Linux tries to access the ECAM space and the > > stage2 translation fault occurs, HPFAR register contains incorrect IPA. > > We can say it is incorrect because using hardware AT instruction or > > software lookup, we can obtain the correct IPA from the same VA. This > > can suggest that the problem is related to QEMU fault handling. > > > > Instead of removing the PCI node the follow-up commit will disable > > highmem option in qemu which will cause placing ECAM space in the > > 32-bit space. > > > > Signed-off-by: Michal Orzel <[email protected]> > Reviewed-by: Bertrand Marquis <[email protected]>
Reviewed-by: Christopher Clark <[email protected]> > > Also tested on kirkstone and dom0 boots fine and pci is working. Thanks for this Christopher > > Thanks a lot > Cheers > Bertrand > > > --- > > classes/qemuboot-xen-dtb.bbclass | 22 ---------------------- > > 1 file changed, 22 deletions(-) > > > > diff --git a/classes/qemuboot-xen-dtb.bbclass > > b/classes/qemuboot-xen-dtb.bbclass > > index 1f17a86..d43d23a 100644 > > --- a/classes/qemuboot-xen-dtb.bbclass > > +++ b/classes/qemuboot-xen-dtb.bbclass > > @@ -63,21 +63,6 @@ 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" > > @@ -150,13 +135,6 @@ 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 > > > > > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#7387): https://lists.yoctoproject.org/g/meta-virtualization/message/7387 Mute This Topic: https://lists.yoctoproject.org/mt/91642063/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
