]> git.ipfire.org Git - thirdparty/qemu.git/commit
hw/intc/arm_gicv3_its: Keep CTEs as a struct, not a raw uint64_t
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 1 Feb 2022 19:31:58 +0000 (19:31 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 8 Feb 2022 10:56:28 +0000 (10:56 +0000)
commitd37cf49b11f3ef78c3265a941faf320ee4f96bdf
treea373a60221939ea453d383bef1f7fdee03cc088a
parent22d62b08ba7a3909d42f4fdf097eb2ae8c9c00e3
hw/intc/arm_gicv3_its: Keep CTEs as a struct, not a raw uint64_t

In the ITS, a CTE is an entry in the collection table, which contains
multiple fields. Currently the function get_cte() which reads one
entry from the device table returns a success/failure boolean and
passes back the raw 64-bit integer CTE value via a pointer argument.
We then extract fields from the CTE as we need them.

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

This brings get_cte()'s API into line with get_dte().

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