search for: bottom_size

Displaying 11 results from an estimated 11 matches for "bottom_size".

2018 Feb 14
0
[PATCH 1/4] iommu: Add virtio-iommu driver
...req_* structure + * + * Returns 0 if the request was successful, or an error number otherwise. No + * distinction is done between transport and request errors. + */ +static int viommu_send_req_sync(struct viommu_dev *viommu, void *top) +{ + int ret; + int nr_sent; + void *bottom; + size_t top_size, bottom_size; + struct virtio_iommu_req_tail *tail; + struct virtio_iommu_req_head *head = top; + struct viommu_request req = { + .written = 0 + }; + + ret = viommu_get_req_size(viommu, head, &top_size, &bottom_size); + if (ret) + return ret; + + bottom = top + top_size; + tail = bottom + bottom_size...
2017 Nov 17
0
[RFC PATCH v2 1/5] iommu: Add virtio-iommu driver
...f the request was successful, or an error number otherwise. No + * distinction is done between transport and request errors. + */ +static int viommu_send_req_sync(struct viommu_dev *viommu, void *top) +{ + int ret; + int nr_sent; + void *bottom; + struct viommu_request req = {0}; + size_t top_size, bottom_size; + struct virtio_iommu_req_tail *tail; + struct virtio_iommu_req_head *head = top; + + ret = viommu_get_req_size(viommu, head, &top_size, &bottom_size); + if (ret) + return ret; + + bottom = top + top_size; + tail = bottom + bottom_size - sizeof(*tail); + + sg_init_one(&req.top, top, t...
2018 Mar 23
1
[PATCH 1/4] iommu: Add virtio-iommu driver
...request was successful, or an error number otherwise. No > + * distinction is done between transport and request errors. > + */ > +static int viommu_send_req_sync(struct viommu_dev *viommu, void *top) > +{ > + int ret; > + int nr_sent; > + void *bottom; > + size_t top_size, bottom_size; > + struct virtio_iommu_req_tail *tail; > + struct virtio_iommu_req_head *head = top; > + struct viommu_request req = { > + .written = 0 > + }; > + > + ret = viommu_get_req_size(viommu, head, &top_size, &bottom_size); > + if (ret) > + return ret; > + > +...
2018 Jan 15
1
[RFC PATCH v2 1/5] iommu: Add virtio-iommu driver
...viommu_send_req_sync(struct viommu_dev *viommu, void *top) > +{ > + int ret; > + int nr_sent; > + void *bottom; > + struct viommu_request req = {0}; ^ drivers/iommu/virtio-iommu.c:326:9: warning: (near initialization for ?req.top?) [-Wmissing-braces] > + size_t top_size, bottom_size; > + struct virtio_iommu_req_tail *tail; > + struct virtio_iommu_req_head *head = top; > + > + ret = viommu_get_req_size(viommu, head, &top_size, &bottom_size); > + if (ret) > + return ret; > + > + bottom = top + top_size; > + tail = bottom + bottom_size - sizeof...
2018 Feb 14
12
[PATCH 0/4] Add virtio-iommu driver
Implement the virtio-iommu driver following version 0.6 of the specification [1]. Previous version, RFCv2, was sent in November [2]. This version addresses Eric's comments and changes the device number. (Since last week I also tested and fixed the probe/release functions, they now use devm properly.) I did not include ACPI support because the next IORT specifications isn't ready yet (even
2018 Feb 14
12
[PATCH 0/4] Add virtio-iommu driver
Implement the virtio-iommu driver following version 0.6 of the specification [1]. Previous version, RFCv2, was sent in November [2]. This version addresses Eric's comments and changes the device number. (Since last week I also tested and fixed the probe/release functions, they now use devm properly.) I did not include ACPI support because the next IORT specifications isn't ready yet (even
2017 Nov 17
11
[RFC PATCH v2 0/5] Add virtio-iommu driver
Implement the virtio-iommu driver following version 0.5 of the specification [1]. Previous version of this code was sent back in April [2], implementing the first public RFC. Since then there has been lots of progress and discussion on the specification side, and I think the driver is in a good shape now. The reason patches 1-3 are only RFC is that I'm waiting on feedback from the Virtio TC
2017 Nov 17
11
[RFC PATCH v2 0/5] Add virtio-iommu driver
Implement the virtio-iommu driver following version 0.5 of the specification [1]. Previous version of this code was sent back in April [2], implementing the first public RFC. Since then there has been lots of progress and discussion on the specification side, and I think the driver is in a good shape now. The reason patches 1-3 are only RFC is that I'm waiting on feedback from the Virtio TC
2017 Oct 09
0
[virtio-dev] [RFC] virtio-iommu version 0.4
...u_to_le64(iova), + .size = cpu_to_le64(unmapped), + }; + + ret = viommu_send_req_sync(vdomain->viommu, req); + kfree(req); if (ret) return 0; @@ -626,12 +647,16 @@ static size_t viommu_map_sg(struct iommu_domain *domain, unsigned long iova, unsigned long mapped_iova; size_t top_size, bottom_size; struct viommu_request reqs[nents]; - struct virtio_iommu_req_map map_reqs[nents]; + struct virtio_iommu_req_map *map_reqs; struct viommu_domain *vdomain = to_viommu_domain(domain); if (!vdomain->attached) return 0; + map_reqs = kcalloc(nents, sizeof(*map_reqs), GFP_KERNEL); + if (!ma...
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