* [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.