On 12/24/25 4:46 AM, Tao Tang wrote:
> Add NSCFG bit definition for CD structure. This allows proper
> configuration of non-secure access settings in CD.
>
> Signed-off-by: Tao Tang <tangtao1634@phytium.com.cn>
> Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Eric
> ---
> include/hw/arm/smmuv3-common.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/include/hw/arm/smmuv3-common.h b/include/hw/arm/smmuv3-common.h
> index b6da2fd62c..7f7dd02221 100644
> --- a/include/hw/arm/smmuv3-common.h
> +++ b/include/hw/arm/smmuv3-common.h
> @@ -123,11 +123,13 @@ REG32(CD_1, 4)
> FIELD(CD_1, A, 14, 1)
> FIELD(CD_1, ASID, 16, 16)
> REG32(CD_2, 8)
> + FIELD(CD_2, NSCFG0, 0, 1)
> FIELD(CD_2, HAD0, 1, 1)
> FIELD(CD_2, TTB0_LO, 4, 28)
> REG32(CD_3, 12)
> FIELD(CD_3, TTB0_HI, 0, 19)
> REG32(CD_4, 16)
> + FIELD(CD_4, NSCFG1, 0, 1)
> FIELD(CD_4, HAD1, 1, 1)
> FIELD(CD_4, TTB1_LO, 4, 28)
> REG32(CD_5, 20)
> @@ -155,6 +157,9 @@ REG32(CD_5, 20)
> #define CD_R(x) FIELD_EX32((x)->word[1], CD_1, R)
> #define CD_A(x) FIELD_EX32((x)->word[1], CD_1, A)
> #define CD_ASID(x) FIELD_EX32((x)->word[1], CD_1, ASID)
> +#define CD_NSCFG(x, sel) ((sel) ? \
> + FIELD_EX32((x)->word[4], CD_4, NSCFG1) : \
> + FIELD_EX32((x)->word[2], CD_2, NSCFG0))
> #define CD_HAD(x, sel) ((sel) ? \
> FIELD_EX32((x)->word[4], CD_4, HAD1) : \
> FIELD_EX32((x)->word[2], CD_2, HAD0))