Displaying 11 results from an estimated 11 matches for "vp_use_dma_api".
2014 Sep 17
4
[PATCH v5 2/3] virtio_pci: Use the DMA API for virtqueues when possible
...r; /* bus address */
> + bool use_dma_api; /* are we using the DMA API? */
>
> /* the list node for the virtqueues list */
> struct list_head node;
> @@ -388,6 +390,50 @@ static int vp_request_intx(struct virtio_device *vdev)
> return err;
> }
>
> +static bool vp_use_dma_api(void)
> +{
> + /*
> + * Due to limitations of the DMA API, we only have two choices:
> + * use the DMA API (e.g. set up IOMMU mappings or apply Xen's
> + * physical-to-machine translation) or use direct physical
> + * addressing. Furthermore, there's no sensible way y...
2014 Sep 17
4
[PATCH v5 2/3] virtio_pci: Use the DMA API for virtqueues when possible
...r; /* bus address */
> + bool use_dma_api; /* are we using the DMA API? */
>
> /* the list node for the virtqueues list */
> struct list_head node;
> @@ -388,6 +390,50 @@ static int vp_request_intx(struct virtio_device *vdev)
> return err;
> }
>
> +static bool vp_use_dma_api(void)
> +{
> + /*
> + * Due to limitations of the DMA API, we only have two choices:
> + * use the DMA API (e.g. set up IOMMU mappings or apply Xen's
> + * physical-to-machine translation) or use direct physical
> + * addressing. Furthermore, there's no sensible way y...
2014 Sep 17
1
[PATCH v5 2/3] virtio_pci: Use the DMA API for virtqueues when possible
...r; /* bus address */
> + bool use_dma_api; /* are we using the DMA API? */
>
> /* the list node for the virtqueues list */
> struct list_head node;
> @@ -388,6 +390,50 @@ static int vp_request_intx(struct virtio_device *vdev)
> return err;
> }
>
> +static bool vp_use_dma_api(void)
> +{
> + /*
> + * Due to limitations of the DMA API, we only have two choices:
> + * use the DMA API (e.g. set up IOMMU mappings or apply Xen's
> + * physical-to-machine translation) or use direct physical
> + * addressing. Furthermore, there's no sensible way y...
2014 Sep 17
1
[PATCH v5 2/3] virtio_pci: Use the DMA API for virtqueues when possible
...r; /* bus address */
> + bool use_dma_api; /* are we using the DMA API? */
>
> /* the list node for the virtqueues list */
> struct list_head node;
> @@ -388,6 +390,50 @@ static int vp_request_intx(struct virtio_device *vdev)
> return err;
> }
>
> +static bool vp_use_dma_api(void)
> +{
> + /*
> + * Due to limitations of the DMA API, we only have two choices:
> + * use the DMA API (e.g. set up IOMMU mappings or apply Xen's
> + * physical-to-machine translation) or use direct physical
> + * addressing. Furthermore, there's no sensible way y...
2014 Sep 17
0
[PATCH v5 2/3] virtio_pci: Use the DMA API for virtqueues when possible
...virtual address */
+ dma_addr_t queue_dma_addr; /* bus address */
+ bool use_dma_api; /* are we using the DMA API? */
/* the list node for the virtqueues list */
struct list_head node;
@@ -388,6 +390,50 @@ static int vp_request_intx(struct virtio_device *vdev)
return err;
}
+static bool vp_use_dma_api(void)
+{
+ /*
+ * Due to limitations of the DMA API, we only have two choices:
+ * use the DMA API (e.g. set up IOMMU mappings or apply Xen's
+ * physical-to-machine translation) or use direct physical
+ * addressing. Furthermore, there's no sensible way yet for the
+ * PCI bus code t...
2014 Sep 17
0
[PATCH v5 2/3] virtio_pci: Use the DMA API for virtqueues when possible
.../* are we using the DMA API? */
>>
>> /* the list node for the virtqueues list */
>> struct list_head node;
>> @@ -388,6 +390,50 @@ static int vp_request_intx(struct virtio_device *vdev)
>> return err;
>> }
>>
>> +static bool vp_use_dma_api(void)
>> +{
>> + /*
>> + * Due to limitations of the DMA API, we only have two choices:
>> + * use the DMA API (e.g. set up IOMMU mappings or apply Xen's
>> + * physical-to-machine translation) or use direct physical
>> + * addressing....
2014 Sep 17
0
[PATCH v5 2/3] virtio_pci: Use the DMA API for virtqueues when possible
..._api; /* are we using the DMA API? */
> >
> > /* the list node for the virtqueues list */
> > struct list_head node;
> > @@ -388,6 +390,50 @@ static int vp_request_intx(struct virtio_device *vdev)
> > return err;
> > }
> >
> > +static bool vp_use_dma_api(void)
> > +{
> > + /*
> > + * Due to limitations of the DMA API, we only have two choices:
> > + * use the DMA API (e.g. set up IOMMU mappings or apply Xen's
> > + * physical-to-machine translation) or use direct physical
> > + * addressing. Furthermore,...
2014 Sep 17
6
[PATCH v5 0/3] virtio: Use the DMA API when appropriate
This fixes virtio on Xen guests as well as on any other platform
that uses virtio_pci on which physical addresses don't match bus
addresses.
This can be tested with:
virtme-run --xen xen --kimg arch/x86/boot/bzImage --console
using virtme from here:
https://git.kernel.org/cgit/utils/kernel/virtme/virtme.git
Without these patches, the guest hangs forever. With these patches,
2014 Sep 17
6
[PATCH v5 0/3] virtio: Use the DMA API when appropriate
This fixes virtio on Xen guests as well as on any other platform
that uses virtio_pci on which physical addresses don't match bus
addresses.
This can be tested with:
virtme-run --xen xen --kimg arch/x86/boot/bzImage --console
using virtme from here:
https://git.kernel.org/cgit/utils/kernel/virtme/virtme.git
Without these patches, the guest hangs forever. With these patches,
2014 Sep 17
4
[PATCH v5 2/3] virtio_pci: Use the DMA API for virtqueues when possible
...; > >
> > > /* the list node for the virtqueues list */
> > > struct list_head node;
> > > @@ -388,6 +390,50 @@ static int vp_request_intx(struct virtio_device *vdev)
> > > return err;
> > > }
> > >
> > > +static bool vp_use_dma_api(void)
> > > +{
> > > + /*
> > > + * Due to limitations of the DMA API, we only have two choices:
> > > + * use the DMA API (e.g. set up IOMMU mappings or apply Xen's
> > > + * physical-to-machine translation) or use direct physical
> &g...
2014 Sep 17
4
[PATCH v5 2/3] virtio_pci: Use the DMA API for virtqueues when possible
...; > >
> > > /* the list node for the virtqueues list */
> > > struct list_head node;
> > > @@ -388,6 +390,50 @@ static int vp_request_intx(struct virtio_device *vdev)
> > > return err;
> > > }
> > >
> > > +static bool vp_use_dma_api(void)
> > > +{
> > > + /*
> > > + * Due to limitations of the DMA API, we only have two choices:
> > > + * use the DMA API (e.g. set up IOMMU mappings or apply Xen's
> > > + * physical-to-machine translation) or use direct physical
> &g...