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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to