mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-09-01 22:42:13 -06:00
Make address_space_translate_iommu take a MemTxAttrs argument
As part of plumbing MemTxAttrs down to the IOMMU translate method, add MemTxAttrs as an argument to address_space_translate_iommu(). Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20180521140402.23318-14-peter.maydell@linaro.org
This commit is contained in:
parent
49e14aa827
commit
2f7b009c2e
1 changed files with 5 additions and 3 deletions
8
exec.c
8
exec.c
|
@ -478,6 +478,7 @@ address_space_translate_internal(AddressSpaceDispatch *d, hwaddr addr, hwaddr *x
|
||||||
* @is_write: whether the translation operation is for write
|
* @is_write: whether the translation operation is for write
|
||||||
* @is_mmio: whether this can be MMIO, set true if it can
|
* @is_mmio: whether this can be MMIO, set true if it can
|
||||||
* @target_as: the address space targeted by the IOMMU
|
* @target_as: the address space targeted by the IOMMU
|
||||||
|
* @attrs: transaction attributes
|
||||||
*
|
*
|
||||||
* This function is called from RCU critical section. It is the common
|
* This function is called from RCU critical section. It is the common
|
||||||
* part of flatview_do_translate and address_space_translate_cached.
|
* part of flatview_do_translate and address_space_translate_cached.
|
||||||
|
@ -488,7 +489,8 @@ static MemoryRegionSection address_space_translate_iommu(IOMMUMemoryRegion *iomm
|
||||||
hwaddr *page_mask_out,
|
hwaddr *page_mask_out,
|
||||||
bool is_write,
|
bool is_write,
|
||||||
bool is_mmio,
|
bool is_mmio,
|
||||||
AddressSpace **target_as)
|
AddressSpace **target_as,
|
||||||
|
MemTxAttrs attrs)
|
||||||
{
|
{
|
||||||
MemoryRegionSection *section;
|
MemoryRegionSection *section;
|
||||||
hwaddr page_mask = (hwaddr)-1;
|
hwaddr page_mask = (hwaddr)-1;
|
||||||
|
@ -572,7 +574,7 @@ static MemoryRegionSection flatview_do_translate(FlatView *fv,
|
||||||
return address_space_translate_iommu(iommu_mr, xlat,
|
return address_space_translate_iommu(iommu_mr, xlat,
|
||||||
plen_out, page_mask_out,
|
plen_out, page_mask_out,
|
||||||
is_write, is_mmio,
|
is_write, is_mmio,
|
||||||
target_as);
|
target_as, attrs);
|
||||||
}
|
}
|
||||||
if (page_mask_out) {
|
if (page_mask_out) {
|
||||||
/* Not behind an IOMMU, use default page size. */
|
/* Not behind an IOMMU, use default page size. */
|
||||||
|
@ -3734,7 +3736,7 @@ static inline MemoryRegion *address_space_translate_cached(
|
||||||
|
|
||||||
section = address_space_translate_iommu(iommu_mr, xlat, plen,
|
section = address_space_translate_iommu(iommu_mr, xlat, plen,
|
||||||
NULL, is_write, true,
|
NULL, is_write, true,
|
||||||
&target_as);
|
&target_as, attrs);
|
||||||
return section.mr;
|
return section.mr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue