qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-arm] [PATCH 12/27] Make flatview_do_translate() take a MemTxAt


From: Alex Bennée
Subject: Re: [Qemu-arm] [PATCH 12/27] Make flatview_do_translate() take a MemTxAttrs argument
Date: Tue, 22 May 2018 12:00:33 +0100
User-agent: mu4e 1.1.0; emacs 26.1

Peter Maydell <address@hidden> writes:

> As part of plumbing MemTxAttrs down to the IOMMU translate method,
> add MemTxAttrs as an argument to flatview_do_translate().
>
> Signed-off-by: Peter Maydell <address@hidden>

Reviewed-by: Alex Bennée <address@hidden>

> ---
>  exec.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/exec.c b/exec.c
> index 84f2c21ecb..af2b82d154 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -541,6 +541,7 @@ unassigned:
>   * @is_write: whether the translation operation is for write
>   * @is_mmio: whether this can be MMIO, set true if it can
>   * @target_as: the address space targeted by the IOMMU
> + * @attrs: memory transaction attributes
>   *
>   * This function is called from RCU critical section
>   */
> @@ -551,7 +552,8 @@ static MemoryRegionSection flatview_do_translate(FlatView 
> *fv,
>                                                   hwaddr *page_mask_out,
>                                                   bool is_write,
>                                                   bool is_mmio,
> -                                                 AddressSpace **target_as)
> +                                                 AddressSpace **target_as,
> +                                                 MemTxAttrs attrs)
>  {
>      MemoryRegionSection *section;
>      IOMMUMemoryRegion *iommu_mr;
> @@ -592,7 +594,8 @@ IOMMUTLBEntry address_space_get_iotlb_entry(AddressSpace 
> *as, hwaddr addr,
>       * but page mask.
>       */
>      section = flatview_do_translate(address_space_to_flatview(as), addr, 
> &xlat,
> -                                    NULL, &page_mask, is_write, false, &as);
> +                                    NULL, &page_mask, is_write, false, &as,
> +                                    attrs);
>
>      /* Illegal translation */
>      if (section.mr == &io_mem_unassigned) {
> @@ -627,7 +630,7 @@ MemoryRegion *flatview_translate(FlatView *fv, hwaddr 
> addr, hwaddr *xlat,
>
>      /* This can be MMIO, so setup MMIO bit. */
>      section = flatview_do_translate(fv, addr, xlat, plen, NULL,
> -                                    is_write, true, &as);
> +                                    is_write, true, &as, attrs);
>      mr = section.mr;
>
>      if (xen_enabled() && memory_access_is_direct(mr, is_write)) {


--
Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]