mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 00:33:55 -06:00
ppc/xics: store the ICS object under the sPAPR machine
A list of ICS objects was introduced under the XICS object for the PowerNV machine but, for the sPAPR machine, it brings extra complexity as there is only a single ICS. To simplify the code, let's add the ICS pointer under the sPAPR machine and try to reduce the use of this list where possible. Also, change the xics_spapr_*() routines to use an ICS object instead of an XICSState and change their name to reflect that these are specific to the sPAPR ICS object. Signed-off-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
817bb6a446
commit
681bfaded6
7 changed files with 29 additions and 28 deletions
|
@ -59,6 +59,7 @@ struct sPAPRMachineState {
|
|||
QLIST_HEAD(, sPAPRPHBState) phbs;
|
||||
struct sPAPRNVRAM *nvram;
|
||||
XICSState *xics;
|
||||
ICSState *ics;
|
||||
DeviceState *rtc;
|
||||
|
||||
void *htab;
|
||||
|
|
|
@ -181,10 +181,10 @@ struct ICSIRQState {
|
|||
#define XICS_IRQS_SPAPR 1024
|
||||
|
||||
qemu_irq xics_get_qirq(XICSState *icp, int irq);
|
||||
int xics_spapr_alloc(XICSState *icp, int irq_hint, bool lsi, Error **errp);
|
||||
int xics_spapr_alloc_block(XICSState *icp, int num, bool lsi, bool align,
|
||||
int spapr_ics_alloc(ICSState *ics, int irq_hint, bool lsi, Error **errp);
|
||||
int spapr_ics_alloc_block(ICSState *ics, int num, bool lsi, bool align,
|
||||
Error **errp);
|
||||
void xics_spapr_free(XICSState *icp, int irq, int num);
|
||||
void spapr_ics_free(ICSState *ics, int irq, int num);
|
||||
void spapr_dt_xics(XICSState *xics, void *fdt, uint32_t phandle);
|
||||
|
||||
void xics_cpu_setup(XICSState *icp, PowerPCCPU *cpu);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue