[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 2/6] hw/arm/smmuv3: Correct SMMU_BASE_ADDR_MASK value
From: |
Auger Eric |
Subject: |
Re: [PATCH v3 2/6] hw/arm/smmuv3: Correct SMMU_BASE_ADDR_MASK value |
Date: |
Tue, 17 Dec 2019 09:55:02 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 |
Hi Simon,
On 12/16/19 4:15 PM, Simon Veith wrote:
> There are two issues with the current value of SMMU_BASE_ADDR_MASK:
>
> - At the lower end, we are clearing bits [4:0]. Per the SMMUv3 spec,
> we should also be treating bit 5 as zero in the base address.
> - At the upper end, we are clearing bits [63:48]. Per the SMMUv3 spec,
> only bits [63:52] must be explicitly treated as zero.
>
> Update the SMMU_BASE_ADDR_MASK value to mask out bits [63:52] and [5:0].
>
> ref. ARM IHI 0070C, section 6.3.23.
>
> Signed-off-by: Simon Veith <address@hidden>
> Cc: Eric Auger <address@hidden>
> Cc: address@hidden
> Cc: address@hidden
Acked-by: Eric Auger <address@hidden>
Thanks
Eric
> ---
> hw/arm/smmuv3-internal.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/arm/smmuv3-internal.h b/hw/arm/smmuv3-internal.h
> index d190181..042b435 100644
> --- a/hw/arm/smmuv3-internal.h
> +++ b/hw/arm/smmuv3-internal.h
> @@ -99,7 +99,7 @@ REG32(GERROR_IRQ_CFG2, 0x74)
>
> #define A_STRTAB_BASE 0x80 /* 64b */
>
> -#define SMMU_BASE_ADDR_MASK 0xffffffffffe0
> +#define SMMU_BASE_ADDR_MASK 0xfffffffffffc0
>
> REG32(STRTAB_BASE_CFG, 0x88)
> FIELD(STRTAB_BASE_CFG, FMT, 16, 2)
>
- [PATCH v3 0/6] hw/arm/smmuv3: Correct stream ID and event address handling, Simon Veith, 2019/12/16
- [PATCH v3 2/6] hw/arm/smmuv3: Correct SMMU_BASE_ADDR_MASK value, Simon Veith, 2019/12/16
- Re: [PATCH v3 2/6] hw/arm/smmuv3: Correct SMMU_BASE_ADDR_MASK value,
Auger Eric <=
- [PATCH v3 3/6] hw/arm/smmuv3: Check stream IDs against actual table LOG2SIZE, Simon Veith, 2019/12/16
- [PATCH v3 1/6] hw/arm/smmuv3: Apply address mask to linear strtab base address, Simon Veith, 2019/12/16
- [PATCH v3 5/6] hw/arm/smmuv3: Use correct bit positions in EVT_SET_ADDR2 macro, Simon Veith, 2019/12/16
- [PATCH v3 4/6] hw/arm/smmuv3: Align stream table base address to table size, Simon Veith, 2019/12/16
- [PATCH v3 6/6] hw/arm/smmuv3: Report F_STE_FETCH fault address in correct word position, Simon Veith, 2019/12/16
- Re: [PATCH v3 0/6] hw/arm/smmuv3: Correct stream ID and event address handling, Auger Eric, 2019/12/17