All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] ppc: Remove irq_inputs
@ 2022-07-05 14:58 Cédric Le Goater
  2022-07-05 14:58 ` [PATCH 1/5] ppc64: Allocate IRQ lines with qdev_init_gpio_in() Cédric Le Goater
                   ` (7 more replies)
  0 siblings, 8 replies; 11+ messages in thread
From: Cédric Le Goater @ 2022-07-05 14:58 UTC (permalink / raw)
  To: qemu-ppc, qemu-devel
  Cc: Daniel Henrique Barboza, David Gibson, Greg Kurz,
	Mark Cave-Ayland, BALATON Zoltan, Hervé Poussineau,
	Cédric Le Goater

Hello,

This replaces the IRQ array 'irq_inputs' with GPIO lines and removes
'irq_inputs' when all CPUs have been converted.

Thanks,

C. 

Cédric Le Goater (5):
  ppc64: Allocate IRQ lines with qdev_init_gpio_in()
  ppc/40x: Allocate IRQ lines with qdev_init_gpio_in()
  ppc/6xx: Allocate IRQ lines with qdev_init_gpio_in()
  ppc/e500: Allocate IRQ lines with qdev_init_gpio_in()
  ppc: Remove unused irq_inputs

 target/ppc/cpu.h       |  1 -
 hw/intc/xics.c         | 10 ++++++----
 hw/intc/xive.c         |  4 ++--
 hw/ppc/e500.c          |  8 ++++----
 hw/ppc/mac_newworld.c  | 16 ++++++++--------
 hw/ppc/mac_oldworld.c  |  2 +-
 hw/ppc/pegasos2.c      |  2 +-
 hw/ppc/ppc.c           | 30 ++++++------------------------
 hw/ppc/ppc405_uc.c     |  4 ++--
 hw/ppc/ppc440_bamboo.c |  4 ++--
 hw/ppc/prep.c          |  2 +-
 hw/ppc/prep_systemio.c |  2 +-
 hw/ppc/sam460ex.c      |  4 ++--
 hw/ppc/virtex_ml507.c  | 10 +++++-----
 target/ppc/cpu_init.c  |  5 -----
 15 files changed, 41 insertions(+), 63 deletions(-)

-- 
2.35.3



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

* [PATCH 1/5] ppc64: Allocate IRQ lines with qdev_init_gpio_in()
  2022-07-05 14:58 [PATCH 0/5] ppc: Remove irq_inputs Cédric Le Goater
@ 2022-07-05 14:58 ` Cédric Le Goater
  2022-07-05 14:58 ` [PATCH 2/5] ppc/40x: " Cédric Le Goater
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: Cédric Le Goater @ 2022-07-05 14:58 UTC (permalink / raw)
  To: qemu-ppc, qemu-devel
  Cc: Daniel Henrique Barboza, David Gibson, Greg Kurz,
	Mark Cave-Ayland, BALATON Zoltan, Hervé Poussineau,
	Cédric Le Goater

This replaces the IRQ array 'irq_inputs' with GPIO lines, the goal
being to remove 'irq_inputs' when all CPUs have been converted.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
 hw/intc/xics.c        | 10 ++++++----
 hw/intc/xive.c        |  4 ++--
 hw/ppc/mac_newworld.c |  8 ++++----
 hw/ppc/ppc.c          | 15 +++------------
 4 files changed, 15 insertions(+), 22 deletions(-)

diff --git a/hw/intc/xics.c b/hw/intc/xics.c
index 24e67020dbf3..5b0b4d962427 100644
--- a/hw/intc/xics.c
+++ b/hw/intc/xics.c
@@ -301,23 +301,25 @@ void icp_reset(ICPState *icp)
 static void icp_realize(DeviceState *dev, Error **errp)
 {
     ICPState *icp = ICP(dev);
+    PowerPCCPU *cpu;
     CPUPPCState *env;
     Error *err = NULL;
 
     assert(icp->xics);
     assert(icp->cs);
 
-    env = &POWERPC_CPU(icp->cs)->env;
+    cpu = POWERPC_CPU(icp->cs);
+    env = &cpu->env;
     switch (PPC_INPUT(env)) {
     case PPC_FLAGS_INPUT_POWER7:
-        icp->output = env->irq_inputs[POWER7_INPUT_INT];
+        icp->output = qdev_get_gpio_in(DEVICE(cpu), POWER7_INPUT_INT);
         break;
     case PPC_FLAGS_INPUT_POWER9: /* For SPAPR xics emulation */
-        icp->output = env->irq_inputs[POWER9_INPUT_INT];
+        icp->output = qdev_get_gpio_in(DEVICE(cpu), POWER9_INPUT_INT);
         break;
 
     case PPC_FLAGS_INPUT_970:
-        icp->output = env->irq_inputs[PPC970_INPUT_INT];
+        icp->output = qdev_get_gpio_in(DEVICE(cpu), PPC970_INPUT_INT);
         break;
 
     default:
diff --git a/hw/intc/xive.c b/hw/intc/xive.c
index ae221fed732f..a986b96843e7 100644
--- a/hw/intc/xive.c
+++ b/hw/intc/xive.c
@@ -695,8 +695,8 @@ static void xive_tctx_realize(DeviceState *dev, Error **errp)
     env = &cpu->env;
     switch (PPC_INPUT(env)) {
     case PPC_FLAGS_INPUT_POWER9:
-        tctx->hv_output = env->irq_inputs[POWER9_INPUT_HINT];
-        tctx->os_output = env->irq_inputs[POWER9_INPUT_INT];
+        tctx->hv_output = qdev_get_gpio_in(DEVICE(cpu), POWER9_INPUT_HINT);
+        tctx->os_output = qdev_get_gpio_in(DEVICE(cpu), POWER9_INPUT_INT);
         break;
 
     default:
diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c
index c865921bdc05..22405dd27a7c 100644
--- a/hw/ppc/mac_newworld.c
+++ b/hw/ppc/mac_newworld.c
@@ -276,16 +276,16 @@ static void ppc_core99_init(MachineState *machine)
 #if defined(TARGET_PPC64)
         case PPC_FLAGS_INPUT_970:
             openpic_irqs[i].irq[OPENPIC_OUTPUT_INT] =
-                ((qemu_irq *)env->irq_inputs)[PPC970_INPUT_INT];
+                qdev_get_gpio_in(DEVICE(cpu), PPC970_INPUT_INT);
             openpic_irqs[i].irq[OPENPIC_OUTPUT_CINT] =
-                ((qemu_irq *)env->irq_inputs)[PPC970_INPUT_INT];
+                qdev_get_gpio_in(DEVICE(cpu), PPC970_INPUT_INT);
             openpic_irqs[i].irq[OPENPIC_OUTPUT_MCK] =
-                ((qemu_irq *)env->irq_inputs)[PPC970_INPUT_MCP];
+                qdev_get_gpio_in(DEVICE(cpu), PPC970_INPUT_MCP);
             /* Not connected ? */
             openpic_irqs[i].irq[OPENPIC_OUTPUT_DEBUG] = NULL;
             /* Check this */
             openpic_irqs[i].irq[OPENPIC_OUTPUT_RESET] =
-                ((qemu_irq *)env->irq_inputs)[PPC970_INPUT_HRESET];
+                qdev_get_gpio_in(DEVICE(cpu), PPC970_INPUT_HRESET);
             break;
 #endif /* defined(TARGET_PPC64) */
         default:
diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c
index fea70df45e69..15f2b5f0f07a 100644
--- a/hw/ppc/ppc.c
+++ b/hw/ppc/ppc.c
@@ -234,10 +234,7 @@ static void ppc970_set_irq(void *opaque, int pin, int level)
 
 void ppc970_irq_init(PowerPCCPU *cpu)
 {
-    CPUPPCState *env = &cpu->env;
-
-    env->irq_inputs = (void **)qemu_allocate_irqs(&ppc970_set_irq, cpu,
-                                                  PPC970_INPUT_NB);
+    qdev_init_gpio_in(DEVICE(cpu), ppc970_set_irq, PPC970_INPUT_NB);
 }
 
 /* POWER7 internal IRQ controller */
@@ -260,10 +257,7 @@ static void power7_set_irq(void *opaque, int pin, int level)
 
 void ppcPOWER7_irq_init(PowerPCCPU *cpu)
 {
-    CPUPPCState *env = &cpu->env;
-
-    env->irq_inputs = (void **)qemu_allocate_irqs(&power7_set_irq, cpu,
-                                                  POWER7_INPUT_NB);
+    qdev_init_gpio_in(DEVICE(cpu), power7_set_irq, POWER7_INPUT_NB);
 }
 
 /* POWER9 internal IRQ controller */
@@ -292,10 +286,7 @@ static void power9_set_irq(void *opaque, int pin, int level)
 
 void ppcPOWER9_irq_init(PowerPCCPU *cpu)
 {
-    CPUPPCState *env = &cpu->env;
-
-    env->irq_inputs = (void **)qemu_allocate_irqs(&power9_set_irq, cpu,
-                                                  POWER9_INPUT_NB);
+    qdev_init_gpio_in(DEVICE(cpu), power9_set_irq, POWER9_INPUT_NB);
 }
 #endif /* defined(TARGET_PPC64) */
 
-- 
2.35.3



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

* [PATCH 2/5] ppc/40x: Allocate IRQ lines with qdev_init_gpio_in()
  2022-07-05 14:58 [PATCH 0/5] ppc: Remove irq_inputs Cédric Le Goater
  2022-07-05 14:58 ` [PATCH 1/5] ppc64: Allocate IRQ lines with qdev_init_gpio_in() Cédric Le Goater
@ 2022-07-05 14:58 ` Cédric Le Goater
  2022-07-05 16:27   ` BALATON Zoltan
  2022-07-05 14:58 ` [PATCH 3/5] ppc/6xx: " Cédric Le Goater
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 11+ messages in thread
From: Cédric Le Goater @ 2022-07-05 14:58 UTC (permalink / raw)
  To: qemu-ppc, qemu-devel
  Cc: Daniel Henrique Barboza, David Gibson, Greg Kurz,
	Mark Cave-Ayland, BALATON Zoltan, Hervé Poussineau,
	Cédric Le Goater

Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
 hw/ppc/ppc.c           |  5 +----
 hw/ppc/ppc405_uc.c     |  4 ++--
 hw/ppc/ppc440_bamboo.c |  4 ++--
 hw/ppc/sam460ex.c      |  4 ++--
 hw/ppc/virtex_ml507.c  | 10 +++++-----
 5 files changed, 12 insertions(+), 15 deletions(-)

diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c
index 15f2b5f0f07a..8c88d3a4806d 100644
--- a/hw/ppc/ppc.c
+++ b/hw/ppc/ppc.c
@@ -422,10 +422,7 @@ static void ppc40x_set_irq(void *opaque, int pin, int level)
 
 void ppc40x_irq_init(PowerPCCPU *cpu)
 {
-    CPUPPCState *env = &cpu->env;
-
-    env->irq_inputs = (void **)qemu_allocate_irqs(&ppc40x_set_irq,
-                                                  cpu, PPC40x_INPUT_NB);
+    qdev_init_gpio_in(DEVICE(cpu), ppc40x_set_irq, PPC40x_INPUT_NB);
 }
 
 /* PowerPC E500 internal IRQ controller */
diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c
index 36c8ba6f3c14..d6420c88d3a6 100644
--- a/hw/ppc/ppc405_uc.c
+++ b/hw/ppc/ppc405_uc.c
@@ -1470,9 +1470,9 @@ PowerPCCPU *ppc405ep_init(MemoryRegion *address_space_mem,
     sysbus_realize_and_unref(uicsbd, &error_fatal);
 
     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT,
-                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
+                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT,
-                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
+                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
 
     *uicdevp = uicdev;
 
diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c
index d5973f2484ed..873f930c77da 100644
--- a/hw/ppc/ppc440_bamboo.c
+++ b/hw/ppc/ppc440_bamboo.c
@@ -200,9 +200,9 @@ static void bamboo_init(MachineState *machine)
     sysbus_realize_and_unref(uicsbd, &error_fatal);
 
     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT,
-                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
+                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT,
-                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
+                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
 
     /* SDRAM controller */
     memset(ram_bases, 0, sizeof(ram_bases));
diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c
index 2f24598f55db..7e8da657c2a9 100644
--- a/hw/ppc/sam460ex.c
+++ b/hw/ppc/sam460ex.c
@@ -334,9 +334,9 @@ static void sam460ex_init(MachineState *machine)
 
         if (i == 0) {
             sysbus_connect_irq(sbd, PPCUIC_OUTPUT_INT,
-                               ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
+                             qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
             sysbus_connect_irq(sbd, PPCUIC_OUTPUT_CINT,
-                               ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
+                             qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
         } else {
             sysbus_connect_irq(sbd, PPCUIC_OUTPUT_INT,
                                qdev_get_gpio_in(uic[0], input_ints[i]));
diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c
index b67a709ddce2..53b126ff48a6 100644
--- a/hw/ppc/virtex_ml507.c
+++ b/hw/ppc/virtex_ml507.c
@@ -111,9 +111,9 @@ static PowerPCCPU *ppc440_init_xilinx(const char *cpu_type, uint32_t sysclk)
     sysbus_realize_and_unref(uicsbd, &error_fatal);
 
     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT,
-                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
+                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT,
-                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
+                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
 
     /* This board doesn't wire anything up to the inputs of the UIC. */
     return cpu;
@@ -213,7 +213,7 @@ static void virtex_init(MachineState *machine)
     CPUPPCState *env;
     hwaddr ram_base = 0;
     DriveInfo *dinfo;
-    qemu_irq irq[32], *cpu_irq;
+    qemu_irq irq[32], cpu_irq;
     int kernel_size;
     int i;
 
@@ -236,12 +236,12 @@ static void virtex_init(MachineState *machine)
                           dinfo ? blk_by_legacy_dinfo(dinfo) : NULL,
                           64 * KiB, 1, 0x89, 0x18, 0x0000, 0x0, 1);
 
-    cpu_irq = (qemu_irq *) &env->irq_inputs[PPC40x_INPUT_INT];
+    cpu_irq = qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT);
     dev = qdev_new("xlnx.xps-intc");
     qdev_prop_set_uint32(dev, "kind-of-intr", 0);
     sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
     sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, INTC_BASEADDR);
-    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, cpu_irq[0]);
+    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, cpu_irq);
     for (i = 0; i < 32; i++) {
         irq[i] = qdev_get_gpio_in(dev, i);
     }
-- 
2.35.3



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

* [PATCH 3/5] ppc/6xx: Allocate IRQ lines with qdev_init_gpio_in()
  2022-07-05 14:58 [PATCH 0/5] ppc: Remove irq_inputs Cédric Le Goater
  2022-07-05 14:58 ` [PATCH 1/5] ppc64: Allocate IRQ lines with qdev_init_gpio_in() Cédric Le Goater
  2022-07-05 14:58 ` [PATCH 2/5] ppc/40x: " Cédric Le Goater
@ 2022-07-05 14:58 ` Cédric Le Goater
  2022-07-05 14:58 ` [PATCH 4/5] ppc/e500: " Cédric Le Goater
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: Cédric Le Goater @ 2022-07-05 14:58 UTC (permalink / raw)
  To: qemu-ppc, qemu-devel
  Cc: Daniel Henrique Barboza, David Gibson, Greg Kurz,
	Mark Cave-Ayland, BALATON Zoltan, Hervé Poussineau,
	Cédric Le Goater

Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
 hw/ppc/mac_newworld.c  | 8 ++++----
 hw/ppc/mac_oldworld.c  | 2 +-
 hw/ppc/pegasos2.c      | 2 +-
 hw/ppc/ppc.c           | 5 +----
 hw/ppc/prep.c          | 2 +-
 hw/ppc/prep_systemio.c | 2 +-
 6 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c
index 22405dd27a7c..cf7eb7239129 100644
--- a/hw/ppc/mac_newworld.c
+++ b/hw/ppc/mac_newworld.c
@@ -262,16 +262,16 @@ static void ppc_core99_init(MachineState *machine)
         switch (PPC_INPUT(env)) {
         case PPC_FLAGS_INPUT_6xx:
             openpic_irqs[i].irq[OPENPIC_OUTPUT_INT] =
-                ((qemu_irq *)env->irq_inputs)[PPC6xx_INPUT_INT];
+                qdev_get_gpio_in(DEVICE(cpu), PPC6xx_INPUT_INT);
             openpic_irqs[i].irq[OPENPIC_OUTPUT_CINT] =
-                ((qemu_irq *)env->irq_inputs)[PPC6xx_INPUT_INT];
+                 qdev_get_gpio_in(DEVICE(cpu), PPC6xx_INPUT_INT);
             openpic_irqs[i].irq[OPENPIC_OUTPUT_MCK] =
-                ((qemu_irq *)env->irq_inputs)[PPC6xx_INPUT_MCP];
+                qdev_get_gpio_in(DEVICE(cpu), PPC6xx_INPUT_MCP);
             /* Not connected ? */
             openpic_irqs[i].irq[OPENPIC_OUTPUT_DEBUG] = NULL;
             /* Check this */
             openpic_irqs[i].irq[OPENPIC_OUTPUT_RESET] =
-                ((qemu_irq *)env->irq_inputs)[PPC6xx_INPUT_HRESET];
+                qdev_get_gpio_in(DEVICE(cpu), PPC6xx_INPUT_HRESET);
             break;
 #if defined(TARGET_PPC64)
         case PPC_FLAGS_INPUT_970:
diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c
index d62fdf0db3fe..03732ca7ed08 100644
--- a/hw/ppc/mac_oldworld.c
+++ b/hw/ppc/mac_oldworld.c
@@ -271,7 +271,7 @@ static void ppc_heathrow_init(MachineState *machine)
         case PPC_FLAGS_INPUT_6xx:
             /* XXX: we register only 1 output pin for heathrow PIC */
             qdev_connect_gpio_out(pic_dev, 0,
-                ((qemu_irq *)env->irq_inputs)[PPC6xx_INPUT_INT]);
+                              qdev_get_gpio_in(DEVICE(cpu), PPC6xx_INPUT_INT));
             break;
         default:
             error_report("Bus model not supported on OldWorld Mac machine");
diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c
index 9411ca6b16b1..61f4263953ba 100644
--- a/hw/ppc/pegasos2.c
+++ b/hw/ppc/pegasos2.c
@@ -155,7 +155,7 @@ static void pegasos2_init(MachineState *machine)
 
     /* Marvell Discovery II system controller */
     pm->mv = DEVICE(sysbus_create_simple(TYPE_MV64361, -1,
-                             ((qemu_irq *)env->irq_inputs)[PPC6xx_INPUT_INT]));
+                          qdev_get_gpio_in(DEVICE(pm->cpu), PPC6xx_INPUT_INT)));
     pci_bus = mv64361_get_pci_bus(pm->mv, 1);
 
     /* VIA VT8231 South Bridge (multifunction PCI device) */
diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c
index 8c88d3a4806d..161e5f9087b7 100644
--- a/hw/ppc/ppc.c
+++ b/hw/ppc/ppc.c
@@ -154,10 +154,7 @@ static void ppc6xx_set_irq(void *opaque, int pin, int level)
 
 void ppc6xx_irq_init(PowerPCCPU *cpu)
 {
-    CPUPPCState *env = &cpu->env;
-
-    env->irq_inputs = (void **)qemu_allocate_irqs(&ppc6xx_set_irq, cpu,
-                                                  PPC6xx_INPUT_NB);
+    qdev_init_gpio_in(DEVICE(cpu), ppc6xx_set_irq, PPC6xx_INPUT_NB);
 }
 
 #if defined(TARGET_PPC64)
diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c
index a1cd4505cc9d..f08714f2ecba 100644
--- a/hw/ppc/prep.c
+++ b/hw/ppc/prep.c
@@ -275,7 +275,7 @@ static void ibm_40p_init(MachineState *machine)
     /* PCI -> ISA bridge */
     i82378_dev = DEVICE(pci_create_simple(pci_bus, PCI_DEVFN(11, 0), "i82378"));
     qdev_connect_gpio_out(i82378_dev, 0,
-                          cpu->env.irq_inputs[PPC6xx_INPUT_INT]);
+                          qdev_get_gpio_in(DEVICE(cpu), PPC6xx_INPUT_INT));
     sysbus_connect_irq(pcihost, 0, qdev_get_gpio_in(i82378_dev, 15));
     isa_bus = ISA_BUS(qdev_get_child_bus(i82378_dev, "isa.0"));
 
diff --git a/hw/ppc/prep_systemio.c b/hw/ppc/prep_systemio.c
index 8c9b8dd67b74..5a56f155f506 100644
--- a/hw/ppc/prep_systemio.c
+++ b/hw/ppc/prep_systemio.c
@@ -262,7 +262,7 @@ static void prep_systemio_realize(DeviceState *dev, Error **errp)
     qemu_set_irq(s->non_contiguous_io_map_irq,
                  s->iomap_type & PORT0850_IOMAP_NONCONTIGUOUS);
     cpu = POWERPC_CPU(first_cpu);
-    s->softreset_irq = cpu->env.irq_inputs[PPC6xx_INPUT_HRESET];
+    s->softreset_irq = qdev_get_gpio_in(DEVICE(cpu), PPC6xx_INPUT_HRESET);
 
     isa_register_portio_list(isa, &s->portio, 0x0, ppc_io800_port_list, s,
                              "systemio800");
-- 
2.35.3



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

* [PATCH 4/5] ppc/e500: Allocate IRQ lines with qdev_init_gpio_in()
  2022-07-05 14:58 [PATCH 0/5] ppc: Remove irq_inputs Cédric Le Goater
                   ` (2 preceding siblings ...)
  2022-07-05 14:58 ` [PATCH 3/5] ppc/6xx: " Cédric Le Goater
@ 2022-07-05 14:58 ` Cédric Le Goater
  2022-07-05 14:58 ` [PATCH 5/5] ppc: Remove unused irq_inputs Cédric Le Goater
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: Cédric Le Goater @ 2022-07-05 14:58 UTC (permalink / raw)
  To: qemu-ppc, qemu-devel
  Cc: Daniel Henrique Barboza, David Gibson, Greg Kurz,
	Mark Cave-Ayland, BALATON Zoltan, Hervé Poussineau,
	Cédric Le Goater

Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
 hw/ppc/e500.c | 8 ++++----
 hw/ppc/ppc.c  | 5 +----
 2 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index 7f7f5b345260..757cfaa62f8a 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -861,7 +861,6 @@ void ppce500_init(MachineState *machine)
     for (i = 0; i < smp_cpus; i++) {
         PowerPCCPU *cpu;
         CPUState *cs;
-        qemu_irq *input;
 
         cpu = POWERPC_CPU(object_new(machine->cpu_type));
         env = &cpu->env;
@@ -885,9 +884,10 @@ void ppce500_init(MachineState *machine)
             firstenv = env;
         }
 
-        input = (qemu_irq *)env->irq_inputs;
-        irqs[i].irq[OPENPIC_OUTPUT_INT] = input[PPCE500_INPUT_INT];
-        irqs[i].irq[OPENPIC_OUTPUT_CINT] = input[PPCE500_INPUT_CINT];
+        irqs[i].irq[OPENPIC_OUTPUT_INT] =
+            qdev_get_gpio_in(DEVICE(cpu), PPCE500_INPUT_INT);
+        irqs[i].irq[OPENPIC_OUTPUT_CINT] =
+            qdev_get_gpio_in(DEVICE(cpu), PPCE500_INPUT_CINT);
         env->spr_cb[SPR_BOOKE_PIR].default_value = cs->cpu_index = i;
         env->mpic_iack = pmc->ccsrbar_base + MPC8544_MPIC_REGS_OFFSET + 0xa0;
 
diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c
index 161e5f9087b7..690f448cb941 100644
--- a/hw/ppc/ppc.c
+++ b/hw/ppc/ppc.c
@@ -474,10 +474,7 @@ static void ppce500_set_irq(void *opaque, int pin, int level)
 
 void ppce500_irq_init(PowerPCCPU *cpu)
 {
-    CPUPPCState *env = &cpu->env;
-
-    env->irq_inputs = (void **)qemu_allocate_irqs(&ppce500_set_irq,
-                                                  cpu, PPCE500_INPUT_NB);
+    qdev_init_gpio_in(DEVICE(cpu), ppce500_set_irq, PPCE500_INPUT_NB);
 }
 
 /* Enable or Disable the E500 EPR capability */
-- 
2.35.3



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

* [PATCH 5/5] ppc: Remove unused irq_inputs
  2022-07-05 14:58 [PATCH 0/5] ppc: Remove irq_inputs Cédric Le Goater
                   ` (3 preceding siblings ...)
  2022-07-05 14:58 ` [PATCH 4/5] ppc/e500: " Cédric Le Goater
@ 2022-07-05 14:58 ` Cédric Le Goater
  2022-07-11  7:38 ` [PATCH 0/5] ppc: Remove irq_inputs Mark Cave-Ayland
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: Cédric Le Goater @ 2022-07-05 14:58 UTC (permalink / raw)
  To: qemu-ppc, qemu-devel
  Cc: Daniel Henrique Barboza, David Gibson, Greg Kurz,
	Mark Cave-Ayland, BALATON Zoltan, Hervé Poussineau,
	Cédric Le Goater

Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
 target/ppc/cpu.h      | 1 -
 target/ppc/cpu_init.c | 5 -----
 2 files changed, 6 deletions(-)

diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h
index 6d78078f379d..2166d2c4b692 100644
--- a/target/ppc/cpu.h
+++ b/target/ppc/cpu.h
@@ -1172,7 +1172,6 @@ struct CPUArchState {
      * by recent Book3s compatible CPUs (POWER7 and newer).
      */
     uint32_t irq_input_state;
-    void **irq_inputs;
 
     target_ulong excp_vectors[POWERPC_EXCP_NB]; /* Exception vectors */
     target_ulong excp_prefix;
diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c
index c16cb8dbe7a5..9f9a8e998e7c 100644
--- a/target/ppc/cpu_init.c
+++ b/target/ppc/cpu_init.c
@@ -6672,7 +6672,6 @@ static void init_ppc_proc(PowerPCCPU *cpu)
 #if !defined(CONFIG_USER_ONLY)
     int i;
 
-    env->irq_inputs = NULL;
     /* Set all exception vectors to an invalid address */
     for (i = 0; i < POWERPC_EXCP_NB; i++) {
         env->excp_vectors[i] = (target_ulong)(-1ULL);
@@ -6802,10 +6801,6 @@ static void init_ppc_proc(PowerPCCPU *cpu)
         /* Pre-compute some useful values */
         env->tlb_per_way = env->nb_tlb / env->nb_ways;
     }
-    if (env->irq_inputs == NULL) {
-        warn_report("no internal IRQ controller registered."
-                    " Attempt QEMU to crash very soon !");
-    }
 #endif
     if (env->check_pow == NULL) {
         warn_report("no power management check handler registered."
-- 
2.35.3



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

* Re: [PATCH 2/5] ppc/40x: Allocate IRQ lines with qdev_init_gpio_in()
  2022-07-05 14:58 ` [PATCH 2/5] ppc/40x: " Cédric Le Goater
@ 2022-07-05 16:27   ` BALATON Zoltan
  2022-07-05 16:37     ` Cédric Le Goater
  0 siblings, 1 reply; 11+ messages in thread
From: BALATON Zoltan @ 2022-07-05 16:27 UTC (permalink / raw)
  To: Cédric Le Goater
  Cc: qemu-ppc, qemu-devel, Daniel Henrique Barboza, David Gibson,
	Greg Kurz, Mark Cave-Ayland, Hervé Poussineau

[-- Attachment #1: Type: text/plain, Size: 5187 bytes --]

On Tue, 5 Jul 2022, Cédric Le Goater wrote:
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
> ---
> hw/ppc/ppc.c           |  5 +----
> hw/ppc/ppc405_uc.c     |  4 ++--
> hw/ppc/ppc440_bamboo.c |  4 ++--
> hw/ppc/sam460ex.c      |  4 ++--
> hw/ppc/virtex_ml507.c  | 10 +++++-----
> 5 files changed, 12 insertions(+), 15 deletions(-)
>
> diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c
> index 15f2b5f0f07a..8c88d3a4806d 100644
> --- a/hw/ppc/ppc.c
> +++ b/hw/ppc/ppc.c
> @@ -422,10 +422,7 @@ static void ppc40x_set_irq(void *opaque, int pin, int level)
>
> void ppc40x_irq_init(PowerPCCPU *cpu)
> {
> -    CPUPPCState *env = &cpu->env;
> -
> -    env->irq_inputs = (void **)qemu_allocate_irqs(&ppc40x_set_irq,
> -                                                  cpu, PPC40x_INPUT_NB);
> +    qdev_init_gpio_in(DEVICE(cpu), ppc40x_set_irq, PPC40x_INPUT_NB);
> }
>
> /* PowerPC E500 internal IRQ controller */
> diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c
> index 36c8ba6f3c14..d6420c88d3a6 100644
> --- a/hw/ppc/ppc405_uc.c
> +++ b/hw/ppc/ppc405_uc.c
> @@ -1470,9 +1470,9 @@ PowerPCCPU *ppc405ep_init(MemoryRegion *address_space_mem,
>     sysbus_realize_and_unref(uicsbd, &error_fatal);
>
>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT,
> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT,
> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
>
>     *uicdevp = uicdev;
>
> diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c
> index d5973f2484ed..873f930c77da 100644
> --- a/hw/ppc/ppc440_bamboo.c
> +++ b/hw/ppc/ppc440_bamboo.c
> @@ -200,9 +200,9 @@ static void bamboo_init(MachineState *machine)
>     sysbus_realize_and_unref(uicsbd, &error_fatal);
>
>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT,
> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT,
> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
>
>     /* SDRAM controller */
>     memset(ram_bases, 0, sizeof(ram_bases));
> diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c
> index 2f24598f55db..7e8da657c2a9 100644
> --- a/hw/ppc/sam460ex.c
> +++ b/hw/ppc/sam460ex.c
> @@ -334,9 +334,9 @@ static void sam460ex_init(MachineState *machine)
>
>         if (i == 0) {
>             sysbus_connect_irq(sbd, PPCUIC_OUTPUT_INT,
> -                               ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
> +                             qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
>             sysbus_connect_irq(sbd, PPCUIC_OUTPUT_CINT,
> -                               ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
> +                             qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));

Looks like indentation is off in above two lines.

Regards,
BALATON Zoltan

>         } else {
>             sysbus_connect_irq(sbd, PPCUIC_OUTPUT_INT,
>                                qdev_get_gpio_in(uic[0], input_ints[i]));
> diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c
> index b67a709ddce2..53b126ff48a6 100644
> --- a/hw/ppc/virtex_ml507.c
> +++ b/hw/ppc/virtex_ml507.c
> @@ -111,9 +111,9 @@ static PowerPCCPU *ppc440_init_xilinx(const char *cpu_type, uint32_t sysclk)
>     sysbus_realize_and_unref(uicsbd, &error_fatal);
>
>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT,
> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT,
> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
>
>     /* This board doesn't wire anything up to the inputs of the UIC. */
>     return cpu;
> @@ -213,7 +213,7 @@ static void virtex_init(MachineState *machine)
>     CPUPPCState *env;
>     hwaddr ram_base = 0;
>     DriveInfo *dinfo;
> -    qemu_irq irq[32], *cpu_irq;
> +    qemu_irq irq[32], cpu_irq;
>     int kernel_size;
>     int i;
>
> @@ -236,12 +236,12 @@ static void virtex_init(MachineState *machine)
>                           dinfo ? blk_by_legacy_dinfo(dinfo) : NULL,
>                           64 * KiB, 1, 0x89, 0x18, 0x0000, 0x0, 1);
>
> -    cpu_irq = (qemu_irq *) &env->irq_inputs[PPC40x_INPUT_INT];
> +    cpu_irq = qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT);
>     dev = qdev_new("xlnx.xps-intc");
>     qdev_prop_set_uint32(dev, "kind-of-intr", 0);
>     sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
>     sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, INTC_BASEADDR);
> -    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, cpu_irq[0]);
> +    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, cpu_irq);
>     for (i = 0; i < 32; i++) {
>         irq[i] = qdev_get_gpio_in(dev, i);
>     }
>

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

* Re: [PATCH 2/5] ppc/40x: Allocate IRQ lines with qdev_init_gpio_in()
  2022-07-05 16:27   ` BALATON Zoltan
@ 2022-07-05 16:37     ` Cédric Le Goater
  0 siblings, 0 replies; 11+ messages in thread
From: Cédric Le Goater @ 2022-07-05 16:37 UTC (permalink / raw)
  To: BALATON Zoltan
  Cc: qemu-ppc, qemu-devel, Daniel Henrique Barboza, David Gibson,
	Greg Kurz, Mark Cave-Ayland, Hervé Poussineau

On 7/5/22 18:27, BALATON Zoltan wrote:
> On Tue, 5 Jul 2022, Cédric Le Goater wrote:
>> Signed-off-by: Cédric Le Goater <clg@kaod.org>
>> ---
>> hw/ppc/ppc.c           |  5 +----
>> hw/ppc/ppc405_uc.c     |  4 ++--
>> hw/ppc/ppc440_bamboo.c |  4 ++--
>> hw/ppc/sam460ex.c      |  4 ++--
>> hw/ppc/virtex_ml507.c  | 10 +++++-----
>> 5 files changed, 12 insertions(+), 15 deletions(-)
>>
>> diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c
>> index 15f2b5f0f07a..8c88d3a4806d 100644
>> --- a/hw/ppc/ppc.c
>> +++ b/hw/ppc/ppc.c
>> @@ -422,10 +422,7 @@ static void ppc40x_set_irq(void *opaque, int pin, int level)
>>
>> void ppc40x_irq_init(PowerPCCPU *cpu)
>> {
>> -    CPUPPCState *env = &cpu->env;
>> -
>> -    env->irq_inputs = (void **)qemu_allocate_irqs(&ppc40x_set_irq,
>> -                                                  cpu, PPC40x_INPUT_NB);
>> +    qdev_init_gpio_in(DEVICE(cpu), ppc40x_set_irq, PPC40x_INPUT_NB);
>> }
>>
>> /* PowerPC E500 internal IRQ controller */
>> diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c
>> index 36c8ba6f3c14..d6420c88d3a6 100644
>> --- a/hw/ppc/ppc405_uc.c
>> +++ b/hw/ppc/ppc405_uc.c
>> @@ -1470,9 +1470,9 @@ PowerPCCPU *ppc405ep_init(MemoryRegion *address_space_mem,
>>     sysbus_realize_and_unref(uicsbd, &error_fatal);
>>
>>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT,
>> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
>> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
>>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT,
>> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
>> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
>>
>>     *uicdevp = uicdev;
>>
>> diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c
>> index d5973f2484ed..873f930c77da 100644
>> --- a/hw/ppc/ppc440_bamboo.c
>> +++ b/hw/ppc/ppc440_bamboo.c
>> @@ -200,9 +200,9 @@ static void bamboo_init(MachineState *machine)
>>     sysbus_realize_and_unref(uicsbd, &error_fatal);
>>
>>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT,
>> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
>> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
>>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT,
>> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
>> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
>>
>>     /* SDRAM controller */
>>     memset(ram_bases, 0, sizeof(ram_bases));
>> diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c
>> index 2f24598f55db..7e8da657c2a9 100644
>> --- a/hw/ppc/sam460ex.c
>> +++ b/hw/ppc/sam460ex.c
>> @@ -334,9 +334,9 @@ static void sam460ex_init(MachineState *machine)
>>
>>         if (i == 0) {
>>             sysbus_connect_irq(sbd, PPCUIC_OUTPUT_INT,
>> -                               ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
>> +                             qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
>>             sysbus_connect_irq(sbd, PPCUIC_OUTPUT_CINT,
>> -                               ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
>> +                             qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
> 
> Looks like indentation is off in above two lines.

Yes. This is to make check-patch happy.

C.

> 
> Regards,
> BALATON Zoltan
> 
>>         } else {
>>             sysbus_connect_irq(sbd, PPCUIC_OUTPUT_INT,
>>                                qdev_get_gpio_in(uic[0], input_ints[i]));
>> diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c
>> index b67a709ddce2..53b126ff48a6 100644
>> --- a/hw/ppc/virtex_ml507.c
>> +++ b/hw/ppc/virtex_ml507.c
>> @@ -111,9 +111,9 @@ static PowerPCCPU *ppc440_init_xilinx(const char *cpu_type, uint32_t sysclk)
>>     sysbus_realize_and_unref(uicsbd, &error_fatal);
>>
>>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT,
>> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
>> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
>>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT,
>> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
>> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
>>
>>     /* This board doesn't wire anything up to the inputs of the UIC. */
>>     return cpu;
>> @@ -213,7 +213,7 @@ static void virtex_init(MachineState *machine)
>>     CPUPPCState *env;
>>     hwaddr ram_base = 0;
>>     DriveInfo *dinfo;
>> -    qemu_irq irq[32], *cpu_irq;
>> +    qemu_irq irq[32], cpu_irq;
>>     int kernel_size;
>>     int i;
>>
>> @@ -236,12 +236,12 @@ static void virtex_init(MachineState *machine)
>>                           dinfo ? blk_by_legacy_dinfo(dinfo) : NULL,
>>                           64 * KiB, 1, 0x89, 0x18, 0x0000, 0x0, 1);
>>
>> -    cpu_irq = (qemu_irq *) &env->irq_inputs[PPC40x_INPUT_INT];
>> +    cpu_irq = qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT);
>>     dev = qdev_new("xlnx.xps-intc");
>>     qdev_prop_set_uint32(dev, "kind-of-intr", 0);
>>     sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
>>     sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, INTC_BASEADDR);
>> -    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, cpu_irq[0]);
>> +    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, cpu_irq);
>>     for (i = 0; i < 32; i++) {
>>         irq[i] = qdev_get_gpio_in(dev, i);
>>     }
>>



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

* Re: [PATCH 0/5] ppc: Remove irq_inputs
  2022-07-05 14:58 [PATCH 0/5] ppc: Remove irq_inputs Cédric Le Goater
                   ` (4 preceding siblings ...)
  2022-07-05 14:58 ` [PATCH 5/5] ppc: Remove unused irq_inputs Cédric Le Goater
@ 2022-07-11  7:38 ` Mark Cave-Ayland
  2022-07-11 12:46 ` Peter Maydell
  2022-07-11 16:25 ` Daniel Henrique Barboza
  7 siblings, 0 replies; 11+ messages in thread
From: Mark Cave-Ayland @ 2022-07-11  7:38 UTC (permalink / raw)
  To: Cédric Le Goater, qemu-ppc, qemu-devel
  Cc: Daniel Henrique Barboza, David Gibson, Greg Kurz, BALATON Zoltan,
	Hervé Poussineau

On 05/07/2022 15:58, Cédric Le Goater wrote:

> Hello,
> 
> This replaces the IRQ array 'irq_inputs' with GPIO lines and removes
> 'irq_inputs' when all CPUs have been converted.
> 
> Thanks,
> 
> C.
> 
> Cédric Le Goater (5):
>    ppc64: Allocate IRQ lines with qdev_init_gpio_in()
>    ppc/40x: Allocate IRQ lines with qdev_init_gpio_in()
>    ppc/6xx: Allocate IRQ lines with qdev_init_gpio_in()
>    ppc/e500: Allocate IRQ lines with qdev_init_gpio_in()
>    ppc: Remove unused irq_inputs
> 
>   target/ppc/cpu.h       |  1 -
>   hw/intc/xics.c         | 10 ++++++----
>   hw/intc/xive.c         |  4 ++--
>   hw/ppc/e500.c          |  8 ++++----
>   hw/ppc/mac_newworld.c  | 16 ++++++++--------
>   hw/ppc/mac_oldworld.c  |  2 +-
>   hw/ppc/pegasos2.c      |  2 +-
>   hw/ppc/ppc.c           | 30 ++++++------------------------
>   hw/ppc/ppc405_uc.c     |  4 ++--
>   hw/ppc/ppc440_bamboo.c |  4 ++--
>   hw/ppc/prep.c          |  2 +-
>   hw/ppc/prep_systemio.c |  2 +-
>   hw/ppc/sam460ex.c      |  4 ++--
>   hw/ppc/virtex_ml507.c  | 10 +++++-----
>   target/ppc/cpu_init.c  |  5 -----
>   15 files changed, 41 insertions(+), 63 deletions(-)

For the Mac machines:

Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


ATB,

Mark.


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

* Re: [PATCH 0/5] ppc: Remove irq_inputs
  2022-07-05 14:58 [PATCH 0/5] ppc: Remove irq_inputs Cédric Le Goater
                   ` (5 preceding siblings ...)
  2022-07-11  7:38 ` [PATCH 0/5] ppc: Remove irq_inputs Mark Cave-Ayland
@ 2022-07-11 12:46 ` Peter Maydell
  2022-07-11 16:25 ` Daniel Henrique Barboza
  7 siblings, 0 replies; 11+ messages in thread
From: Peter Maydell @ 2022-07-11 12:46 UTC (permalink / raw)
  To: Cédric Le Goater
  Cc: qemu-ppc, qemu-devel, Daniel Henrique Barboza, David Gibson,
	Greg Kurz, Mark Cave-Ayland, BALATON Zoltan,
	Hervé Poussineau

On Tue, 5 Jul 2022 at 16:01, Cédric Le Goater <clg@kaod.org> wrote:
>
> Hello,
>
> This replaces the IRQ array 'irq_inputs' with GPIO lines and removes
> 'irq_inputs' when all CPUs have been converted.
>
> Thanks,
>
> C.
>
> Cédric Le Goater (5):
>   ppc64: Allocate IRQ lines with qdev_init_gpio_in()
>   ppc/40x: Allocate IRQ lines with qdev_init_gpio_in()
>   ppc/6xx: Allocate IRQ lines with qdev_init_gpio_in()
>   ppc/e500: Allocate IRQ lines with qdev_init_gpio_in()
>   ppc: Remove unused irq_inputs

Whole series:
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

thanks
-- PMM


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

* Re: [PATCH 0/5] ppc: Remove irq_inputs
  2022-07-05 14:58 [PATCH 0/5] ppc: Remove irq_inputs Cédric Le Goater
                   ` (6 preceding siblings ...)
  2022-07-11 12:46 ` Peter Maydell
@ 2022-07-11 16:25 ` Daniel Henrique Barboza
  7 siblings, 0 replies; 11+ messages in thread
From: Daniel Henrique Barboza @ 2022-07-11 16:25 UTC (permalink / raw)
  To: Cédric Le Goater, qemu-ppc, qemu-devel
  Cc: David Gibson, Greg Kurz, Mark Cave-Ayland, BALATON Zoltan,
	Hervé Poussineau

Queued in gitlab.com/danielhb/qemu/tree/ppc-next. Thanks,


Daniel

On 7/5/22 11:58, Cédric Le Goater wrote:
> Hello,
> 
> This replaces the IRQ array 'irq_inputs' with GPIO lines and removes
> 'irq_inputs' when all CPUs have been converted.
> 
> Thanks,
> 
> C.
> 
> Cédric Le Goater (5):
>    ppc64: Allocate IRQ lines with qdev_init_gpio_in()
>    ppc/40x: Allocate IRQ lines with qdev_init_gpio_in()
>    ppc/6xx: Allocate IRQ lines with qdev_init_gpio_in()
>    ppc/e500: Allocate IRQ lines with qdev_init_gpio_in()
>    ppc: Remove unused irq_inputs
> 
>   target/ppc/cpu.h       |  1 -
>   hw/intc/xics.c         | 10 ++++++----
>   hw/intc/xive.c         |  4 ++--
>   hw/ppc/e500.c          |  8 ++++----
>   hw/ppc/mac_newworld.c  | 16 ++++++++--------
>   hw/ppc/mac_oldworld.c  |  2 +-
>   hw/ppc/pegasos2.c      |  2 +-
>   hw/ppc/ppc.c           | 30 ++++++------------------------
>   hw/ppc/ppc405_uc.c     |  4 ++--
>   hw/ppc/ppc440_bamboo.c |  4 ++--
>   hw/ppc/prep.c          |  2 +-
>   hw/ppc/prep_systemio.c |  2 +-
>   hw/ppc/sam460ex.c      |  4 ++--
>   hw/ppc/virtex_ml507.c  | 10 +++++-----
>   target/ppc/cpu_init.c  |  5 -----
>   15 files changed, 41 insertions(+), 63 deletions(-)
> 


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

end of thread, other threads:[~2022-07-11 16:48 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-05 14:58 [PATCH 0/5] ppc: Remove irq_inputs Cédric Le Goater
2022-07-05 14:58 ` [PATCH 1/5] ppc64: Allocate IRQ lines with qdev_init_gpio_in() Cédric Le Goater
2022-07-05 14:58 ` [PATCH 2/5] ppc/40x: " Cédric Le Goater
2022-07-05 16:27   ` BALATON Zoltan
2022-07-05 16:37     ` Cédric Le Goater
2022-07-05 14:58 ` [PATCH 3/5] ppc/6xx: " Cédric Le Goater
2022-07-05 14:58 ` [PATCH 4/5] ppc/e500: " Cédric Le Goater
2022-07-05 14:58 ` [PATCH 5/5] ppc: Remove unused irq_inputs Cédric Le Goater
2022-07-11  7:38 ` [PATCH 0/5] ppc: Remove irq_inputs Mark Cave-Ayland
2022-07-11 12:46 ` Peter Maydell
2022-07-11 16:25 ` Daniel Henrique Barboza

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.