ppc/xive2: Introduce a XIVE2 core framework
commitf8a233dedf2560d7d592dab347ddf2a58e8a98db
authorCédric Le Goater <clg@kaod.org>
Wed, 2 Mar 2022 05:51:38 +0000 (2 06:51 +0100)
committerCédric Le Goater <clg@kaod.org>
Wed, 2 Mar 2022 05:51:38 +0000 (2 06:51 +0100)
tree342ffe3d3450710555da2023ef1e31b7ef214a39
parent604d00c76fdd7dfcaa2bf8515615ad129a4fdcc4
ppc/xive2: Introduce a XIVE2 core framework

The XIVE2 interrupt controller of the POWER10 processor as the same
logic as on POWER9 but its SW interface has been largely reworked. The
interrupt controller has a new register interface, different BARs,
extra VSDs. These will be described when we add the device model for
the baremetal machine.

The XIVE internal structures for the EAS, END, NVT have different
layouts which is a problem for the current core XIVE framework. To
avoid adding too much complexity in the XIVE models, a new XIVE2 core
framework is introduced. It duplicates the models which are closely
linked to the XIVE internal structures : Xive2Router and
Xive2ENDSource and reuses the XiveSource, XivePresenter, XiveTCTX
models, as they are more generic.

Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
hw/intc/meson.build
hw/intc/xive2.c [new file with mode: 0644]
include/hw/ppc/xive2.h [new file with mode: 0644]
include/hw/ppc/xive2_regs.h [new file with mode: 0644]