hw/arm/smmuv3: Add knob to choose translation stage and enable stage-2
commit8cefcc3b7127f1c497aa832378fe69453fb9db2c
authorMostafa Saleh <smostafa@google.com>
Thu, 25 May 2023 09:37:51 +0000 (25 10:37 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 30 May 2023 14:50:16 +0000 (30 15:50 +0100)
tree53941799023ca681b04d8dfa2d946ce00a400038
parent32bd7baec2991bba1d801c348a74fc531dcae6f1
hw/arm/smmuv3: Add knob to choose translation stage and enable stage-2

As everything is in place, we can use a new system property to
advertise which stage is supported and remove bad_ste from STE
stage2 config.

The property added arm-smmuv3.stage can have 3 values:
- "1": Stage-1 only is advertised.
- "2": Stage-2 only is advertised.

If not passed or an unsupported value is passed, it will default to
stage-1.

Advertise VMID16.

Don't try to decode CD, if stage-2 is configured.

Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Mostafa Saleh <smostafa@google.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Message-id: 20230516203327.2051088-11-smostafa@google.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/arm/smmuv3.c
include/hw/arm/smmuv3.h