qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 0/3] introduce a fixed IRQ number space


From: Cédric Le Goater
Subject: [Qemu-devel] [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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]