[RFC v5 28/28] [NOT-MERGE] hw/arm/smmuv3: temporarily enable SEL2 bit and some other features
Tao Tang <[email protected]>
| Newsgroups | org.nongnu.qemu-devel,org.nongnu.qemu-arm |
|---|---|
| Message-ID | <[email protected]> |
Temporarily: - enable S_IDR1.SEL2, - change AIDR to 0x2 to indicate SMMUv3.2, - use smaller SID size and Cmd/Evt queue size. Signed-off-by: Tao Tang <[email protected]> --- hw/arm/smmuv3.c | 3 ++- include/hw/arm/smmuv3-common.h | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c index 8e1de94fd17..19e080b6d25 100644 --- a/hw/arm/smmuv3.c +++ b/hw/arm/smmuv3.c @@ -350,6 +350,7 @@ static void smmuv3_init_id_regs(SMMUv3State *s) SMMU_IDR1_SIDSIZE); sbank->idr[1] = FIELD_DP32(sbank->idr[1], S_IDR1, SECURE_IMPL, s->secure_impl == ON_OFF_AUTO_ON); + sbank->idr[1] = FIELD_DP32(sbank->idr[1], S_IDR1, SEL2, 1); smmuv3_accel_idr_override(s); } @@ -400,7 +401,7 @@ static void smmuv3_reset(SMMUv3State *s) sbank->gerrorn = 0; sbank->gbpa = SMMU_GBPA_RESET_VAL; - s->aidr = 0x1; + s->aidr = 0x2; /* SMMUv3.2 */ s->statusr = 0; } diff --git a/include/hw/arm/smmuv3-common.h b/include/hw/arm/smmuv3-common.h index ec442a85586..1afaece3df7 100644 --- a/include/hw/arm/smmuv3-common.h +++ b/include/hw/arm/smmuv3-common.h @@ -311,9 +311,9 @@ REG32(IDR1, 0x4) FIELD(IDR1, TABLES_PRESET, 30, 1) FIELD(IDR1, ECMDQ, 31, 1) -#define SMMU_IDR1_SIDSIZE 16 -#define SMMU_CMDQS 19 -#define SMMU_EVENTQS 19 +#define SMMU_IDR1_SIDSIZE 6 +#define SMMU_CMDQS 10 +#define SMMU_EVENTQS 10 REG32(IDR2, 0x8) FIELD(IDR2, BA_VATOS, 0, 10) -- 2.34.1