I've been working on the ITS to add support for the GICv4 functionality.
In the course of that I found a handful of bugs in it and also some
places where the code benefited from refactoring to make it a better
base to put in the GICv4 parts. This patchset is just the bugfixes
and cleanups, because there are enough patches here that I figured it
made sense to send them out now rather than holding on to them.
Most of these patches were in v1 and have been reviewed already.
Changes from v1:
* first half of the series is now upstream
* patch 1 now has the '1ULL' and uint64_t fixes that were
partly split across two patches in the old series and partly missing
* new patches 12 and 13
NB: I left the returns of -1 in patch 11.
Patches still needing review: 1, 12, 13
thanks
-- PMM
Peter Maydell (13):
hw/intc/arm_gicv3_its: Fix event ID bounds checks
hw/intc/arm_gicv3_its: Convert int ID check to num_intids convention
hw/intc/arm_gicv3_its: Fix handling of process_its_cmd() return value
hw/intc/arm_gicv3_its: Don't use data if reading command failed
hw/intc/arm_gicv3_its: Use enum for return value of process_*
functions
hw/intc/arm_gicv3_its: Fix return codes in process_its_cmd()
hw/intc/arm_gicv3_its: Refactor process_its_cmd() to reduce nesting
hw/intc/arm_gicv3_its: Fix return codes in process_mapti()
hw/intc/arm_gicv3_its: Fix return codes in process_mapc()
hw/intc/arm_gicv3_its: Fix return codes in process_mapd()
hw/intc/arm_gicv3_its: Factor out "find address of table entry" code
hw/intc/arm_gicv3_its: Check indexes before use, not after
hw/intc/arm_gicv3_its: Range-check ICID before indexing into
collection table
hw/intc/arm_gicv3_its.c | 492 ++++++++++++++++++----------------------
1 file changed, 225 insertions(+), 267 deletions(-)
--
2.25.1