Message ID | 20180521140402.23318-12-peter.maydell@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | iommu: support txattrs, support TCG execution, implement TZ MPC | expand |
Peter Maydell <peter.maydell@linaro.org> writes: > As part of plumbing MemTxAttrs down to the IOMMU translate method, > add MemTxAttrs as an argument to address_space_get_iotlb_entry(). > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> > --- > include/exec/memory.h | 2 +- > exec.c | 2 +- > hw/virtio/vhost.c | 3 ++- > 3 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/include/exec/memory.h b/include/exec/memory.h > index 3980ab47ed..309fdfb89b 100644 > --- a/include/exec/memory.h > +++ b/include/exec/memory.h > @@ -1896,7 +1896,7 @@ void address_space_cache_destroy(MemoryRegionCache *cache); > * entry. Should be called from an RCU critical section. > */ > IOMMUTLBEntry address_space_get_iotlb_entry(AddressSpace *as, hwaddr addr, > - bool is_write); > + bool is_write, MemTxAttrs attrs); > > /* address_space_translate: translate an address range into an address space > * into a MemoryRegion and an address range into that section. Should be > diff --git a/exec.c b/exec.c > index b818ba87f4..84f2c21ecb 100644 > --- a/exec.c > +++ b/exec.c > @@ -582,7 +582,7 @@ static MemoryRegionSection flatview_do_translate(FlatView *fv, > > /* Called from RCU critical section */ > IOMMUTLBEntry address_space_get_iotlb_entry(AddressSpace *as, hwaddr addr, > - bool is_write) > + bool is_write, MemTxAttrs attrs) > { > MemoryRegionSection section; > hwaddr xlat, page_mask; > diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c > index 9d5850a7d7..48f4fd7cc9 100644 > --- a/hw/virtio/vhost.c > +++ b/hw/virtio/vhost.c > @@ -895,7 +895,8 @@ int vhost_device_iotlb_miss(struct vhost_dev *dev, uint64_t iova, int write) > rcu_read_lock(); > > iotlb = address_space_get_iotlb_entry(dev->vdev->dma_as, > - iova, write); > + iova, write, > + MEMTXATTRS_UNSPECIFIED); > if (iotlb.target_as != NULL) { > ret = vhost_memory_region_lookup(dev, iotlb.translated_addr, > &uaddr, &len); -- Alex Bennée
On 05/21/2018 07:03 AM, Peter Maydell wrote: > As part of plumbing MemTxAttrs down to the IOMMU translate method, > add MemTxAttrs as an argument to address_space_get_iotlb_entry(). > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
diff --git a/include/exec/memory.h b/include/exec/memory.h index 3980ab47ed..309fdfb89b 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -1896,7 +1896,7 @@ void address_space_cache_destroy(MemoryRegionCache *cache); * entry. Should be called from an RCU critical section. */ IOMMUTLBEntry address_space_get_iotlb_entry(AddressSpace *as, hwaddr addr, - bool is_write); + bool is_write, MemTxAttrs attrs); /* address_space_translate: translate an address range into an address space * into a MemoryRegion and an address range into that section. Should be diff --git a/exec.c b/exec.c index b818ba87f4..84f2c21ecb 100644 --- a/exec.c +++ b/exec.c @@ -582,7 +582,7 @@ static MemoryRegionSection flatview_do_translate(FlatView *fv, /* Called from RCU critical section */ IOMMUTLBEntry address_space_get_iotlb_entry(AddressSpace *as, hwaddr addr, - bool is_write) + bool is_write, MemTxAttrs attrs) { MemoryRegionSection section; hwaddr xlat, page_mask; diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index 9d5850a7d7..48f4fd7cc9 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -895,7 +895,8 @@ int vhost_device_iotlb_miss(struct vhost_dev *dev, uint64_t iova, int write) rcu_read_lock(); iotlb = address_space_get_iotlb_entry(dev->vdev->dma_as, - iova, write); + iova, write, + MEMTXATTRS_UNSPECIFIED); if (iotlb.target_as != NULL) { ret = vhost_memory_region_lookup(dev, iotlb.translated_addr, &uaddr, &len);
As part of plumbing MemTxAttrs down to the IOMMU translate method, add MemTxAttrs as an argument to address_space_get_iotlb_entry(). Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- include/exec/memory.h | 2 +- exec.c | 2 +- hw/virtio/vhost.c | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) -- 2.17.0