All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/3] introduce a fixed IRQ number space
@ 2018-06-15 11:53 Cédric Le Goater
  2018-06-15 11:53 ` [Qemu-devel] [PATCH 1/3] spapr: split the IRQ allocation sequence Cédric Le Goater
                   ` (2 more replies)
  0 siblings, 3 replies; 21+ messages in thread
From: Cédric Le Goater @ 2018-06-15 11:53 UTC (permalink / raw)
  To: David Gibson; +Cc: qemu-ppc, qemu-devel, Cédric Le Goater

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

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2018-06-18 17:40 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-15 11:53 [Qemu-devel] [PATCH 0/3] introduce a fixed IRQ number space Cédric Le Goater
2018-06-15 11:53 ` [Qemu-devel] [PATCH 1/3] spapr: split the IRQ allocation sequence Cédric Le Goater
2018-06-15 13:14   ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2018-06-15 17:21     ` Cédric Le Goater
2018-06-18  6:52       ` Greg Kurz
2018-06-18  4:00   ` [Qemu-devel] " David Gibson
2018-06-18 12:16     ` David Gibson
2018-06-18 16:15       ` Cédric Le Goater
2018-06-15 11:53 ` [Qemu-devel] [PATCH 2/3] spapr: remove unused spapr_irq routines Cédric Le Goater
2018-06-15 13:30   ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2018-06-18  4:00   ` [Qemu-devel] " David Gibson
2018-06-15 11:53 ` [Qemu-devel] [PATCH 3/3] spapr: introduce a fixed IRQ number space Cédric Le Goater
2018-06-15 16:03   ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2018-06-15 17:18     ` Cédric Le Goater
2018-06-18  8:42       ` Greg Kurz
2018-06-18  8:56         ` Cédric Le Goater
2018-06-18  9:54           ` Greg Kurz
2018-06-18 11:31             ` Cédric Le Goater
2018-06-18 12:46               ` Greg Kurz
2018-06-18 17:40                 ` Cédric Le Goater
2018-06-18 12:30     ` David Gibson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.