dev-arm: Add several LPI methods in Gicv3Redistributor
authorGiacomo Travaglini <giacomo.travaglini@arm.com>
Mon, 15 Apr 2019 15:42:43 +0000 (16:42 +0100)
committerGiacomo Travaglini <giacomo.travaglini@arm.com>
Thu, 2 May 2019 14:42:42 +0000 (14:42 +0000)
commit68f2f1c5f55bee74b7d4c99f3c612473869f81e6
tree7b9ce7b50cf0479685b1428b960fab9985ddd440
parentc16b5042997a9247066f4f06d9c59479fc0c169c
dev-arm: Add several LPI methods in Gicv3Redistributor

Refactoring the existing in code in smaller methods will be crucial when
adding the ITS module, which is a client for the redistributor class and
which will require it to take different actions depending on the command
it receives from software.

List of methods:

* read/writeEntryLPI
Reading/Writing a byte from the LPI pending table

* isPendingLPI
Checks if the pINTID LPI is set. Knowing if an LPI is set is needed by
the MOVI command, which is transfering the pending state from one
redistributor to the other only if the LPI is pending.

Change-Id: If14b1c28ff7f2aa20b12dcd822bf6a490cbe0270
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18596
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/dev/arm/gic_v3_redistributor.cc
src/dev/arm/gic_v3_redistributor.hh