hw/intc/arm_gicv3_its: Keep DTEs as a struct, not a raw uint64_t
commit4acf93e193af22556c21ec2d94247dc09f28d75a
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 1 Feb 2022 19:31:56 +0000 (1 19:31 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 8 Feb 2022 10:56:28 +0000 (8 10:56 +0000)
treefb6b27742e5a0c553e89e94ee7287913816ad48a
parentb6f96009acc90a88db7f8913788f989b521eb938
hw/intc/arm_gicv3_its: Keep DTEs as a struct, not a raw uint64_t

In the ITS, a DTE is an entry in the device table, which contains
multiple fields. Currently the function get_dte() which reads one
entry from the device table returns it as a raw 64-bit integer,
which we then pass around in that form, only extracting fields
from it as we need them.

Create a real C struct with the same fields as the DTE, and
populate it in get_dte(), so that that function and update_dte()
are the only ones that need to care about the in-guest-memory
format of the DTE.

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