27fda753 | 08-Jan-2025 |
Nikolay Edigaryev <edigaryev@gmail.com> |
virtio-devices: iommu: allow limiting maximum address width in bits
Currently, Cloud Hypervisor does not set a VIRTIO_IOMMU_F_INPUT_RANGE feature bit for the VirtIO IOMMU device, which, according to
virtio-devices: iommu: allow limiting maximum address width in bits
Currently, Cloud Hypervisor does not set a VIRTIO_IOMMU_F_INPUT_RANGE feature bit for the VirtIO IOMMU device, which, according to spec[1], means that the guest may use the whole 64-bit address space is for IOMMU purposes:
>If the feature is not offered, virtual mappings span over the whole >64-bit address space (start = 0, end = 0xffffffff ffffffff)
As far as I am aware, there are currently no host platforms on the market capable of addressing the whole 64-bit address space.
For example, I am currently working with a host platform that reports 39-bit address space for IOMMU purposes:
>DMAR: Host address width 39
When running a VFIO pass-through guest on such a platform, NVIDIA driver in guest gets DMA mapping failures when working with large data, and this results in Cloud Hypervisor exiting with the following error:
>cloud-hypervisor: 1501.220535s: <__iommu> >ERROR:virtio-devices/src/thread_helper.rs:53 -- Error running worker: >HandleEvent(Failed to process request queue : ExternalMapping(Custom >{ kind: Other, error: "failed to map memory for VFIO container, iova >0x7fff00000000, gpa 0x24ce25000, size 0x1000: IommuDmaMap(Error(22))" >}))
Passing "--platform iommu_address_width=39" to Cloud Hypervisor built with this change fixes this.
[1]: https://docs.oasis-open.org/virtio/virtio/v1.3/csd01/ virtio-v1.3-csd01.html#x1-5420006
Signed-off-by: Nikolay Edigaryev <edigaryev@gmail.com>
show more ...
|
3d735093 | 26-Sep-2024 |
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
build: Bump landlock from 0.4.0 to 0.4.1 in /fuzz
Bumps [landlock](https://github.com/landlock-lsm/rust-landlock) from 0.4.0 to 0.4.1. - [Release notes](https://github.com/landlock-lsm/rust-landlock
build: Bump landlock from 0.4.0 to 0.4.1 in /fuzz
Bumps [landlock](https://github.com/landlock-lsm/rust-landlock) from 0.4.0 to 0.4.1. - [Release notes](https://github.com/landlock-lsm/rust-landlock/releases) - [Changelog](https://github.com/landlock-lsm/rust-landlock/blob/main/CHANGELOG.md) - [Commits](https://github.com/landlock-lsm/rust-landlock/compare/v0.4.0...v0.4.1)
--- updated-dependencies: - dependency-name: landlock dependency-type: indirect update-type: version-update:semver-patch ...
Signed-off-by: dependabot[bot] <support@github.com>
show more ...
|