[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] hw/arm/smmuv3: Emulate CFGI_STE_RANGE for an aligned range o
From: |
Peter Maydell |
Subject: |
Re: [PATCH] hw/arm/smmuv3: Emulate CFGI_STE_RANGE for an aligned range of StreamIDs |
Date: |
Thu, 8 Apr 2021 09:34:04 +0000 |
On Fri, 2 Apr 2021 at 11:05, Zenghui Yu <yuzenghui@huawei.com> wrote:
>
> In emulation of the CFGI_STE_RANGE command, we now take StreamID as the
> start of the invalidation range, regardless of whatever the Range is,
> whilst the spec clearly states that
>
> - "Invalidation is performed for an *aligned* range of 2^(Range+1)
> StreamIDs."
>
> - "The bottom Range+1 bits of the StreamID parameter are IGNORED,
> aligning the range to its size."
>
> Take CFGI_ALL (where Range == 31) as an example, if there are some random
> bits in the StreamID field, we'll fail to perform the full invalidation but
> get a strange range (e.g., SMMUSIDRange={.start=1, .end=0}) instead. Rework
> the emulation a bit to get rid of the discrepancy with the spec.
>
> Signed-off-by: Zenghui Yu <yuzenghui@huawei.com>
> ---
Applied to target-arm.next, thanks.
-- PMM