hw/intc/arm_gicv3_its: In MAPC with V=0, don't check rdbase field
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 1 Feb 2022 19:32:05 +0000 (19:32 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 8 Feb 2022 10:56:29 +0000 (10:56 +0000)
commit84d43d2e82dad29db43a96c2ef22606ce834b248
tree8864d6172915eb69d2b53de70e89bd73ef5191d1
parentda4680ce3a03b0cc13fe7a2b98b815c039517f26
hw/intc/arm_gicv3_its: In MAPC with V=0, don't check rdbase field

In the MAPC command, if V=0 this is a request to delete a collection
table entry and the rdbase field of the command packet will not be
used.  In particular, the specification says that the "UNPREDICTABLE
if rdbase is not valid" only applies for V=1.

We were doing a check-and-log-guest-error on rdbase regardless of
whether the V bit was set, and also (harmlessly but confusingly)
storing the contents of the rdbase field into the updated collection
table entry.  Update the code so that if V=0 we don't check or use
the rdbase field value.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220201193207.2771604-12-peter.maydell@linaro.org
hw/intc/arm_gicv3_its.c