search for: ioasid_bits

Displaying 13 results from an estimated 13 matches for "ioasid_bits".

2017 Apr 21
1
[RFC 2/3] virtio-iommu: device probing and operations
...bits are important. > > Curious do you see such situation where low end of the address > > space is not usable (since you have both start/end defined later)? > > A start address would allow to provide something resembling a GART to the > guest: an IOMMU with one address space (ioasid_bits=0) and a small IOVA > aperture. I'm not sure how useful that would be in practice. Intel VT-d has no such limitation, which I can tell. :-) > > On a related note, the virtio-iommu itself doesn't provide a > per-address-space aperture as it stands. For example, attaching a dev...
2017 Apr 21
1
[RFC 2/3] virtio-iommu: device probing and operations
...bits are important. > > Curious do you see such situation where low end of the address > > space is not usable (since you have both start/end defined later)? > > A start address would allow to provide something resembling a GART to the > guest: an IOMMU with one address space (ioasid_bits=0) and a small IOVA > aperture. I'm not sure how useful that would be in practice. Intel VT-d has no such limitation, which I can tell. :-) > > On a related note, the virtio-iommu itself doesn't provide a > per-address-space aperture as it stands. For example, attaching a dev...
2017 Apr 18
2
[RFC 2/3] virtio-iommu: device probing and operations
> From: Jean-Philippe Brucker > Sent: Saturday, April 8, 2017 3:18 AM > [...] > II. Feature bits > ================ > > VIRTIO_IOMMU_F_INPUT_RANGE (0) > Available range of virtual addresses is described in input_range Usually only the maximum supported address bits are important. Curious do you see such situation where low end of the address space is not usable
2017 Apr 18
2
[RFC 2/3] virtio-iommu: device probing and operations
> From: Jean-Philippe Brucker > Sent: Saturday, April 8, 2017 3:18 AM > [...] > II. Feature bits > ================ > > VIRTIO_IOMMU_F_INPUT_RANGE (0) > Available range of virtual addresses is described in input_range Usually only the maximum supported address bits are important. Curious do you see such situation where low end of the address space is not usable
2017 Apr 07
0
[RFC 2/3] virtio-iommu: device probing and operations
...est, by injecting an interrupt. (6) Driver pops the head from the used ring, and optionally read the buffers that were updated by the device. II. Feature bits ================ VIRTIO_IOMMU_F_INPUT_RANGE (0) Available range of virtual addresses is described in input_range VIRTIO_IOMMU_F_IOASID_BITS (1) The number of address spaces supported is described in ioasid_bits VIRTIO_IOMMU_F_MAP_UNMAP (2) Map and unmap requests are available. This is here to allow a device or driver to only implement page-table sharing, once we introduce the feature. Device will be able to only select one of F_MA...
2017 Apr 18
0
[RFC 2/3] virtio-iommu: device probing and operations
...imum supported address bits are important. > Curious do you see such situation where low end of the address > space is not usable (since you have both start/end defined later)? A start address would allow to provide something resembling a GART to the guest: an IOMMU with one address space (ioasid_bits=0) and a small IOVA aperture. I'm not sure how useful that would be in practice. On a related note, the virtio-iommu itself doesn't provide a per-address-space aperture as it stands. For example, attaching a device to an address space might restrict the available IOVA range for the whole A...
2017 Aug 04
7
[RFC] virtio-iommu version 0.4
This is the continuation of my proposal for virtio-iommu, the para- virtualized IOMMU. Here is a summary of the changes since last time [1]: * The virtio-iommu document now resembles an actual specification. It is split into a formal description of the virtio device, and implementation notes. Please find sources and binaries at [2]. * Added a probe request to describe to the guest different
2017 Aug 04
7
[RFC] virtio-iommu version 0.4
This is the continuation of my proposal for virtio-iommu, the para- virtualized IOMMU. Here is a summary of the changes since last time [1]: * The virtio-iommu document now resembles an actual specification. It is split into a formal description of the virtio device, and implementation notes. Please find sources and binaries at [2]. * Added a probe request to describe to the guest different
2017 Apr 07
0
[RFC PATCH linux] iommu: Add virtio-iommu driver
...G NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ +#ifndef _UAPI_LINUX_VIRTIO_IOMMU_H +#define _UAPI_LINUX_VIRTIO_IOMMU_H + +/* Feature bits */ +#define VIRTIO_IOMMU_F_INPUT_RANGE 0 +#define VIRTIO_IOMMU_F_IOASID_BITS 1 +#define VIRTIO_IOMMU_F_MAP_UNMAP 2 +#define VIRTIO_IOMMU_F_BYPASS 3 + +__packed +struct virtio_iommu_config { + /* Supported page sizes */ + __u64 page_sizes; + struct virtio_iommu_range { + __u64 start; + __u64 end; + } input_range; + __u8 ioasid_bits; +}; + +/* Request typ...
2017 Jun 16
1
[virtio-dev] [RFC PATCH linux] iommu: Add virtio-iommu driver
...OUT > + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > + * SUCH DAMAGE. > + */ > +#ifndef _UAPI_LINUX_VIRTIO_IOMMU_H > +#define _UAPI_LINUX_VIRTIO_IOMMU_H > + > +/* Feature bits */ > +#define VIRTIO_IOMMU_F_INPUT_RANGE 0 > +#define VIRTIO_IOMMU_F_IOASID_BITS 1 > +#define VIRTIO_IOMMU_F_MAP_UNMAP 2 > +#define VIRTIO_IOMMU_F_BYPASS 3 > + > +__packed > +struct virtio_iommu_config { > + /* Supported page sizes */ > + __u64 page_sizes; > + struct virtio_iommu_range { > + __u64 start; > + __u64 end; > + } inpu...
2017 Jun 16
1
[virtio-dev] [RFC PATCH linux] iommu: Add virtio-iommu driver
...OUT > + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > + * SUCH DAMAGE. > + */ > +#ifndef _UAPI_LINUX_VIRTIO_IOMMU_H > +#define _UAPI_LINUX_VIRTIO_IOMMU_H > + > +/* Feature bits */ > +#define VIRTIO_IOMMU_F_INPUT_RANGE 0 > +#define VIRTIO_IOMMU_F_IOASID_BITS 1 > +#define VIRTIO_IOMMU_F_MAP_UNMAP 2 > +#define VIRTIO_IOMMU_F_BYPASS 3 > + > +__packed > +struct virtio_iommu_config { > + /* Supported page sizes */ > + __u64 page_sizes; > + struct virtio_iommu_range { > + __u64 start; > + __u64 end; > + } inpu...
2017 Apr 07
34
[RFC 0/3] virtio-iommu: a paravirtualized IOMMU
This is the initial proposal for a paravirtualized IOMMU device using virtio transport. It contains a description of the device, a Linux driver, and a toy implementation in kvmtool. With this prototype, you can translate DMA to guest memory from emulated (virtio), or passed-through (VFIO) devices. In its simplest form, implemented here, the device handles map/unmap requests from the guest. Future
2017 Apr 07
34
[RFC 0/3] virtio-iommu: a paravirtualized IOMMU
This is the initial proposal for a paravirtualized IOMMU device using virtio transport. It contains a description of the device, a Linux driver, and a toy implementation in kvmtool. With this prototype, you can translate DMA to guest memory from emulated (virtio), or passed-through (VFIO) devices. In its simplest form, implemented here, the device handles map/unmap requests from the guest. Future