Hi Nathan, > -----Original Message----- > From: Nathan Chen <nathanc@nvidia.com> > Sent: Friday, December 13, 2024 1:02 AM > To: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com> > Cc: qemu-arm@nongnu.org; qemu-devel@nongnu.org; > eric.auger@redhat.com; peter.maydell@linaro.org; jgg@nvidia.com; > ddutile@redhat.com; Linuxarm <linuxarm@huawei.com>; Wangzhou (B) > <wangzhou1@hisilicon.com>; jiangkunkun <jiangkunkun@huawei.com>; > Jonathan Cameron <jonathan.cameron@huawei.com>; > zhangfei.gao@linaro.org; Nicolin Chen <nicolinc@nvidia.com> > Subject: Re: [RFC PATCH 0/5] hw/arm/virt: Add support for user-creatable > nested SMMUv3 > > > >with an error message indicating DMA mapping failed for the > passthrough >devices. > > A correction - the message indicates UEFI failed to find a mapping for > the boot partition ("map: no mapping found"), not that DMA mapping > failed. But earlier EDK debug logs still show PCI host bridge resource > conflicts for the passthrough devices that seem related to the VM boot > failure. I have tried a 2023 version EFI which works. And for more recent tests I am using a one built directly from, https://github.com/tianocore/edk2.git master Commit: 0f3867fa6ef0("UefiPayloadPkg/UefiPayloadEntry: Fix PT protection in 5 level paging" With both, I don’t remember seeing any boot failure and the above UEFI related "map: no mapping found" error. But the Guest kernel at times complaints about pci bridge window memory assignment failures. ... pci 0000:10:01.0: bridge window [mem size 0x00200000 64bit pref]: can't assign; no space pci 0000:10:01.0: bridge window [mem size 0x00200000 64bit pref]: failed to assign pci 0000:10:00.0: bridge window [io size 0x1000]:can't assign; no space ... But Guest still boots and worked fine so far. Thanks, Shameer
>> >with an error message indicating DMA mapping failed for the >> passthrough >devices. >> >> A correction - the message indicates UEFI failed to find a mapping for >> the boot partition ("map: no mapping found"), not that DMA mapping >> failed. But earlier EDK debug logs still show PCI host bridge resource >> conflicts for the passthrough devices that seem related to the VM boot >> failure. > > I have tried a 2023 version EFI which works. And for more recent tests I am > using a one built directly from, > https://github.com/tianocore/edk2.git master > > Commit: 0f3867fa6ef0("UefiPayloadPkg/UefiPayloadEntry: Fix PT protection > in 5 level paging" > > With both, I don’t remember seeing any boot failure and the above UEFI > related "map: no mapping found" error. But the Guest kernel at times > complaints about pci bridge window memory assignment failures. > ... > pci 0000:10:01.0: bridge window [mem size 0x00200000 64bit pref]: can't assign; no space > pci 0000:10:01.0: bridge window [mem size 0x00200000 64bit pref]: failed to assign > pci 0000:10:00.0: bridge window [io size 0x1000]:can't assign; no space > ... > > But Guest still boots and worked fine so far. Hi Shameer, Just letting you know I resolved this by increasing the MMIO region size in hw/arm/virt.c to support passing through GPUs with large BAR regions (VIRT_HIGH_PCIE_MMIO). Thanks for taking a look. Thanks, Nathan
> -----Original Message----- > From: Nathan Chen <nathanc@nvidia.com> > Sent: Saturday, January 25, 2025 2:44 AM > To: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com> > Cc: ddutile@redhat.com; eric.auger@redhat.com; jgg@nvidia.com; > jiangkunkun <jiangkunkun@huawei.com>; Jonathan Cameron > <jonathan.cameron@huawei.com>; Linuxarm <linuxarm@huawei.com>; > nathanc@nvidia.com; nicolinc@nvidia.com; peter.maydell@linaro.org; > qemu-arm@nongnu.org; Wangzhou (B) <wangzhou1@hisilicon.com>; > zhangfei.gao@linaro.org; qemu-devel@nongnu.org > Subject: RE: [RFC PATCH 0/5] hw/arm/virt: Add support for user-creatable > nested SMMUv3 > > >> >with an error message indicating DMA mapping failed for the > >> passthrough >devices. > >> > >> A correction - the message indicates UEFI failed to find a mapping for > >> the boot partition ("map: no mapping found"), not that DMA mapping > >> failed. But earlier EDK debug logs still show PCI host bridge resource > >> conflicts for the passthrough devices that seem related to the VM boot > >> failure. > > > > I have tried a 2023 version EFI which works. And for more recent tests I > am > > using a one built directly from, > > https://github.com/tianocore/edk2.git master > > > > Commit: 0f3867fa6ef0("UefiPayloadPkg/UefiPayloadEntry: Fix PT > protection > > in 5 level paging" > > > > With both, I don’t remember seeing any boot failure and the above UEFI > > related "map: no mapping found" error. But the Guest kernel at times > > complaints about pci bridge window memory assignment failures. > > ... > > pci 0000:10:01.0: bridge window [mem size 0x00200000 64bit pref]: can't > assign; no space > > pci 0000:10:01.0: bridge window [mem size 0x00200000 64bit pref]: failed > to assign > > pci 0000:10:00.0: bridge window [io size 0x1000]:can't assign; no space > > ... > > > > But Guest still boots and worked fine so far. > > Hi Shameer, > > Just letting you know I resolved this by increasing the MMIO region size > in hw/arm/virt.c to support passing through GPUs with large BAR regions > (VIRT_HIGH_PCIE_MMIO). Thanks for taking a look. > Ok. Thanks for that. Does that mean may be an optional property to specify the size for VIRT_HIGH_PCIE_MMIO is worth adding? And for the PCI bridge window specific errors that I mentioned above, >>pci 0000:10:01.0: bridge window [mem size 0x00200000 64bit pref]: can't assign; no space adding ""mem-reserve=X" and "io-reserve=X" to pcie-root-port helps. Thanks, Shameer
>>>> >with an error message indicating DMA mapping failed for the >>>> passthrough >devices. >>>> >>>> A correction - the message indicates UEFI failed to find a mapping for >>>> the boot partition ("map: no mapping found"), not that DMA mapping >>>> failed. But earlier EDK debug logs still show PCI host bridge resource >>>> conflicts for the passthrough devices that seem related to the VM boot >>>> failure. >>> >>> I have tried a 2023 version EFI which works. And for more recent tests I >> am >>> using a one built directly from, >>> https://github.com/tianocore/edk2.git master >>> >>> Commit: 0f3867fa6ef0("UefiPayloadPkg/UefiPayloadEntry: Fix PT >> protection >>> in 5 level paging" >>> >>> With both, I don’t remember seeing any boot failure and the above UEFI >>> related "map: no mapping found" error. But the Guest kernel at times >>> complaints about pci bridge window memory assignment failures. >>> ... >>> pci 0000:10:01.0: bridge window [mem size 0x00200000 64bit pref]: can't >> assign; no space >>> pci 0000:10:01.0: bridge window [mem size 0x00200000 64bit pref]: failed >> to assign >>> pci 0000:10:00.0: bridge window [io size 0x1000]:can't assign; no space >>> ... >>> >>> But Guest still boots and worked fine so far. >> >> Hi Shameer, >> >> Just letting you know I resolved this by increasing the MMIO region size >> in hw/arm/virt.c to support passing through GPUs with large BAR regions >> (VIRT_HIGH_PCIE_MMIO). Thanks for taking a look. >> > > Ok. Thanks for that. Does that mean may be an optional property to specify > the size for VIRT_HIGH_PCIE_MMIO is worth adding? Yes, and actually we have a patch ready for the configurable highmem region size. Matt Ochs will send it out in the next day or so and CC you on the submission. > adding ""mem-reserve=X" and "io-reserve=X" to pcie-root-port helps Ok, good to know - I'll keep that in mind for future testing. Thanks, Nathan
© 2016 - 2025 Red Hat, Inc.