[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PATCH 0/3] introduce a fixed IRQ number space
From: |
Cédric Le Goater |
Subject: |
[Qemu-ppc] [PATCH 0/3] introduce a fixed IRQ number space |
Date: |
Fri, 15 Jun 2018 13:53:00 +0200 |
Hello,
Here is a proposal for a new IRQ number space layout using static
numbers and a bitmap allocator for the MSIs. The previous layout is
kept for compatibly in machines raising the 'xics_legacy' flag.
These are just the basics preparing ground for the new XIVE
controller. I would also like to introduce a structure like below to
abstract the IRQ controller in the sPAPR machine :
typedef struct sPAPRIrq {
uint32_t nr_irqs;
uint8_t ov5;
void (*init)(sPAPRMachineState *spapr, uint32_t nr_servers, Error **errp);
int (*claim)(sPAPRMachineState *spapr, uint32_t range, uint32_t irq,
Error **errp);
void (*free)(sPAPRMachineState *spapr, int irq, int num, Error **errp);
qemu_irq (*qirq)(sPAPRMachineState *spapr, int irq);
void (*print_info)(sPAPRMachineState *spapr, Monitor *mon);
void (*dt_populate)(sPAPRMachineState *spapr, uint32_t nr_servers,
void *fdt, uint32_t phandle);
Object *(*cpu_intc_create)(sPAPRMachineState *spapr, Object *cpu,
Error **errp);
void (*post_load)(sPAPRMachineState *spapr);
} sPAPRIrq;
Let's discuss !
Cheers,
C.
Cédric Le Goater (3):
spapr: split the IRQ allocation sequence
spapr: remove unused spapr_irq routines
spapr: introduce a fixed IRQ number space
include/hw/ppc/spapr.h | 11 +++--
include/hw/ppc/spapr_irq.h | 30 ++++++++++++
hw/ppc/spapr.c | 115 ++++++++++++++++++++++++++-------------------
hw/ppc/spapr_events.c | 26 ++++++++--
hw/ppc/spapr_irq.c | 57 ++++++++++++++++++++++
hw/ppc/spapr_pci.c | 35 ++++++++++++--
hw/ppc/spapr_vio.c | 17 ++++++-
hw/ppc/Makefile.objs | 2 +-
8 files changed, 232 insertions(+), 61 deletions(-)
create mode 100644 include/hw/ppc/spapr_irq.h
create mode 100644 hw/ppc/spapr_irq.c
--
2.13.6
- [Qemu-ppc] [PATCH 0/3] introduce a fixed IRQ number space,
Cédric Le Goater <=
[Qemu-ppc] [PATCH 2/3] spapr: remove unused spapr_irq routines, Cédric Le Goater, 2018/06/15