mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 01:03:55 -06:00
ppc/xics: introduce a XICSFabric QOM interface to handle ICSs
This interface provides two simple handlers. One is to get an ICS (Interrupt Source Controller) object from an irq number and a second to resend the irqs when needed. Signed-off-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
b9038e7806
commit
51b180051e
2 changed files with 25 additions and 0 deletions
|
@ -178,6 +178,24 @@ struct ICSIRQState {
|
|||
uint8_t flags;
|
||||
};
|
||||
|
||||
typedef struct XICSFabric {
|
||||
Object parent;
|
||||
} XICSFabric;
|
||||
|
||||
#define TYPE_XICS_FABRIC "xics-fabric"
|
||||
#define XICS_FABRIC(obj) \
|
||||
OBJECT_CHECK(XICSFabric, (obj), TYPE_XICS_FABRIC)
|
||||
#define XICS_FABRIC_CLASS(klass) \
|
||||
OBJECT_CLASS_CHECK(XICSFabricClass, (klass), TYPE_XICS_FABRIC)
|
||||
#define XICS_FABRIC_GET_CLASS(obj) \
|
||||
OBJECT_GET_CLASS(XICSFabricClass, (obj), TYPE_XICS_FABRIC)
|
||||
|
||||
typedef struct XICSFabricClass {
|
||||
InterfaceClass parent;
|
||||
ICSState *(*ics_get)(XICSFabric *xi, int irq);
|
||||
void (*ics_resend)(XICSFabric *xi);
|
||||
} XICSFabricClass;
|
||||
|
||||
#define XICS_IRQS_SPAPR 1024
|
||||
|
||||
qemu_irq xics_get_qirq(XICSState *icp, int irq);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue