Message ID | 20180306203103.25563-19-mark.cave-ayland@ilande.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Mar 06, 2018 at 08:31:02PM +0000, Mark Cave-Ayland wrote: > Introduce constants for the pre-defined New World IRQs to help keep things > readable. > > Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> > --- > hw/ppc/mac.h | 8 ++++++++ > hw/ppc/mac_newworld.c | 29 +++++++++++++++-------------- > 2 files changed, 23 insertions(+), 14 deletions(-) > > diff --git a/hw/ppc/mac.h b/hw/ppc/mac.h > index 5f5916252a..3819058310 100644 > --- a/hw/ppc/mac.h > +++ b/hw/ppc/mac.h > @@ -47,6 +47,14 @@ > > #define ESCC_CLOCK 3686400 > > +/* New World IRQs */ > +#define NEWWORLD_CUDA_IRQ 0x19 > +#define NEWWORLD_ESCCB_IRQ 0x24 > +#define NEWWORLD_ESCCA_IRQ 0x25 > +#define NEWWORLD_IDE0_IRQ 0xd > +#define NEWWORLD_IDE0_DMA_IRQ 0x2 > +#define NEWWORLD_IDE1_IRQ 0xe > +#define NEWWORLD_IDE1_DMA_IRQ 0x3 > > /* MacIO */ > #define TYPE_MACIO_IDE "macio-ide" > diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c > index 2fcb101982..3cde507065 100644 > --- a/hw/ppc/mac_newworld.c > +++ b/hw/ppc/mac_newworld.c > @@ -115,7 +115,7 @@ static void ppc_core99_init(MachineState *machine) > PowerPCCPU *cpu = NULL; > CPUPPCState *env = NULL; > char *filename; > - qemu_irq *pic, **openpic_irqs; > + qemu_irq **openpic_irqs; > int linux_boot, i, j, k; > MemoryRegion *ram = g_new(MemoryRegion, 1), *bios = g_new(MemoryRegion, 1); > hwaddr kernel_base, initrd_base, cmdline_base = 0; > @@ -292,8 +292,6 @@ static void ppc_core99_init(MachineState *machine) > } > } > > - pic = g_new0(qemu_irq, 64); > - > pic_dev = qdev_create(NULL, TYPE_OPENPIC); > qdev_prop_set_uint32(pic_dev, "model", OPENPIC_MODEL_KEYLARGO); > qdev_init_nofail(pic_dev); > @@ -305,10 +303,6 @@ static void ppc_core99_init(MachineState *machine) > } > } > > - for (i = 0; i < 64; i++) { > - pic[i] = qdev_get_gpio_in(pic_dev, i); > - } > - > if (PPC_INPUT(env) == PPC_FLAGS_INPUT_970) { > /* 970 gets a U3 bus */ > /* Uninorth AGP bus */ > @@ -382,13 +376,20 @@ static void ppc_core99_init(MachineState *machine) > /* MacIO */ > macio = NEWWORLD_MACIO(pci_create(pci_bus, -1, TYPE_NEWWORLD_MACIO)); > dev = DEVICE(macio); > - qdev_connect_gpio_out(dev, 0, pic[0x19]); /* CUDA */ > - qdev_connect_gpio_out(dev, 1, pic[0x24]); /* ESCC-B */ > - qdev_connect_gpio_out(dev, 2, pic[0x25]); /* ESCC-A */ > - qdev_connect_gpio_out(dev, 3, pic[0x0d]); /* IDE */ > - qdev_connect_gpio_out(dev, 4, pic[0x02]); /* IDE DMA */ > - qdev_connect_gpio_out(dev, 5, pic[0x0e]); /* IDE */ > - qdev_connect_gpio_out(dev, 6, pic[0x03]); /* IDE DMA */ > + qdev_connect_gpio_out(dev, 0, > + qdev_get_gpio_in(pic_dev, NEWWORLD_CUDA_IRQ)); > + qdev_connect_gpio_out(dev, 1, > + qdev_get_gpio_in(pic_dev, NEWWORLD_ESCCB_IRQ)); > + qdev_connect_gpio_out(dev, 2, > + qdev_get_gpio_in(pic_dev, NEWWORLD_ESCCA_IRQ)); > + qdev_connect_gpio_out(dev, 3, > + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE0_IRQ)); > + qdev_connect_gpio_out(dev, 4, > + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE0_DMA_IRQ)); > + qdev_connect_gpio_out(dev, 5, > + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE1_IRQ)); > + qdev_connect_gpio_out(dev, 6, > + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE1_DMA_IRQ)); > qdev_prop_set_uint64(dev, "frequency", tbfreq); > object_property_set_link(OBJECT(macio), OBJECT(pic_dev), "pic", > &error_abort);
On 03/06/2018 05:31 PM, Mark Cave-Ayland wrote: > Introduce constants for the pre-defined New World IRQs to help keep things > readable. > > Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > --- > hw/ppc/mac.h | 8 ++++++++ > hw/ppc/mac_newworld.c | 29 +++++++++++++++-------------- > 2 files changed, 23 insertions(+), 14 deletions(-) > > diff --git a/hw/ppc/mac.h b/hw/ppc/mac.h > index 5f5916252a..3819058310 100644 > --- a/hw/ppc/mac.h > +++ b/hw/ppc/mac.h > @@ -47,6 +47,14 @@ > > #define ESCC_CLOCK 3686400 > > +/* New World IRQs */ Related type could be enum { > +#define NEWWORLD_CUDA_IRQ 0x19 > +#define NEWWORLD_ESCCB_IRQ 0x24 > +#define NEWWORLD_ESCCA_IRQ 0x25 > +#define NEWWORLD_IDE0_IRQ 0xd > +#define NEWWORLD_IDE0_DMA_IRQ 0x2 > +#define NEWWORLD_IDE1_IRQ 0xe > +#define NEWWORLD_IDE1_DMA_IRQ 0x3 } Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > > /* MacIO */ > #define TYPE_MACIO_IDE "macio-ide" > diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c > index 2fcb101982..3cde507065 100644 > --- a/hw/ppc/mac_newworld.c > +++ b/hw/ppc/mac_newworld.c > @@ -115,7 +115,7 @@ static void ppc_core99_init(MachineState *machine) > PowerPCCPU *cpu = NULL; > CPUPPCState *env = NULL; > char *filename; > - qemu_irq *pic, **openpic_irqs; > + qemu_irq **openpic_irqs; > int linux_boot, i, j, k; > MemoryRegion *ram = g_new(MemoryRegion, 1), *bios = g_new(MemoryRegion, 1); > hwaddr kernel_base, initrd_base, cmdline_base = 0; > @@ -292,8 +292,6 @@ static void ppc_core99_init(MachineState *machine) > } > } > > - pic = g_new0(qemu_irq, 64); > - > pic_dev = qdev_create(NULL, TYPE_OPENPIC); > qdev_prop_set_uint32(pic_dev, "model", OPENPIC_MODEL_KEYLARGO); > qdev_init_nofail(pic_dev); > @@ -305,10 +303,6 @@ static void ppc_core99_init(MachineState *machine) > } > } > > - for (i = 0; i < 64; i++) { > - pic[i] = qdev_get_gpio_in(pic_dev, i); > - } > - > if (PPC_INPUT(env) == PPC_FLAGS_INPUT_970) { > /* 970 gets a U3 bus */ > /* Uninorth AGP bus */ > @@ -382,13 +376,20 @@ static void ppc_core99_init(MachineState *machine) > /* MacIO */ > macio = NEWWORLD_MACIO(pci_create(pci_bus, -1, TYPE_NEWWORLD_MACIO)); > dev = DEVICE(macio); > - qdev_connect_gpio_out(dev, 0, pic[0x19]); /* CUDA */ > - qdev_connect_gpio_out(dev, 1, pic[0x24]); /* ESCC-B */ > - qdev_connect_gpio_out(dev, 2, pic[0x25]); /* ESCC-A */ > - qdev_connect_gpio_out(dev, 3, pic[0x0d]); /* IDE */ > - qdev_connect_gpio_out(dev, 4, pic[0x02]); /* IDE DMA */ > - qdev_connect_gpio_out(dev, 5, pic[0x0e]); /* IDE */ > - qdev_connect_gpio_out(dev, 6, pic[0x03]); /* IDE DMA */ > + qdev_connect_gpio_out(dev, 0, > + qdev_get_gpio_in(pic_dev, NEWWORLD_CUDA_IRQ)); > + qdev_connect_gpio_out(dev, 1, > + qdev_get_gpio_in(pic_dev, NEWWORLD_ESCCB_IRQ)); > + qdev_connect_gpio_out(dev, 2, > + qdev_get_gpio_in(pic_dev, NEWWORLD_ESCCA_IRQ)); > + qdev_connect_gpio_out(dev, 3, > + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE0_IRQ)); > + qdev_connect_gpio_out(dev, 4, > + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE0_DMA_IRQ)); > + qdev_connect_gpio_out(dev, 5, > + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE1_IRQ)); > + qdev_connect_gpio_out(dev, 6, > + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE1_DMA_IRQ)); > qdev_prop_set_uint64(dev, "frequency", tbfreq); > object_property_set_link(OBJECT(macio), OBJECT(pic_dev), "pic", > &error_abort); >
diff --git a/hw/ppc/mac.h b/hw/ppc/mac.h index 5f5916252a..3819058310 100644 --- a/hw/ppc/mac.h +++ b/hw/ppc/mac.h @@ -47,6 +47,14 @@ #define ESCC_CLOCK 3686400 +/* New World IRQs */ +#define NEWWORLD_CUDA_IRQ 0x19 +#define NEWWORLD_ESCCB_IRQ 0x24 +#define NEWWORLD_ESCCA_IRQ 0x25 +#define NEWWORLD_IDE0_IRQ 0xd +#define NEWWORLD_IDE0_DMA_IRQ 0x2 +#define NEWWORLD_IDE1_IRQ 0xe +#define NEWWORLD_IDE1_DMA_IRQ 0x3 /* MacIO */ #define TYPE_MACIO_IDE "macio-ide" diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c index 2fcb101982..3cde507065 100644 --- a/hw/ppc/mac_newworld.c +++ b/hw/ppc/mac_newworld.c @@ -115,7 +115,7 @@ static void ppc_core99_init(MachineState *machine) PowerPCCPU *cpu = NULL; CPUPPCState *env = NULL; char *filename; - qemu_irq *pic, **openpic_irqs; + qemu_irq **openpic_irqs; int linux_boot, i, j, k; MemoryRegion *ram = g_new(MemoryRegion, 1), *bios = g_new(MemoryRegion, 1); hwaddr kernel_base, initrd_base, cmdline_base = 0; @@ -292,8 +292,6 @@ static void ppc_core99_init(MachineState *machine) } } - pic = g_new0(qemu_irq, 64); - pic_dev = qdev_create(NULL, TYPE_OPENPIC); qdev_prop_set_uint32(pic_dev, "model", OPENPIC_MODEL_KEYLARGO); qdev_init_nofail(pic_dev); @@ -305,10 +303,6 @@ static void ppc_core99_init(MachineState *machine) } } - for (i = 0; i < 64; i++) { - pic[i] = qdev_get_gpio_in(pic_dev, i); - } - if (PPC_INPUT(env) == PPC_FLAGS_INPUT_970) { /* 970 gets a U3 bus */ /* Uninorth AGP bus */ @@ -382,13 +376,20 @@ static void ppc_core99_init(MachineState *machine) /* MacIO */ macio = NEWWORLD_MACIO(pci_create(pci_bus, -1, TYPE_NEWWORLD_MACIO)); dev = DEVICE(macio); - qdev_connect_gpio_out(dev, 0, pic[0x19]); /* CUDA */ - qdev_connect_gpio_out(dev, 1, pic[0x24]); /* ESCC-B */ - qdev_connect_gpio_out(dev, 2, pic[0x25]); /* ESCC-A */ - qdev_connect_gpio_out(dev, 3, pic[0x0d]); /* IDE */ - qdev_connect_gpio_out(dev, 4, pic[0x02]); /* IDE DMA */ - qdev_connect_gpio_out(dev, 5, pic[0x0e]); /* IDE */ - qdev_connect_gpio_out(dev, 6, pic[0x03]); /* IDE DMA */ + qdev_connect_gpio_out(dev, 0, + qdev_get_gpio_in(pic_dev, NEWWORLD_CUDA_IRQ)); + qdev_connect_gpio_out(dev, 1, + qdev_get_gpio_in(pic_dev, NEWWORLD_ESCCB_IRQ)); + qdev_connect_gpio_out(dev, 2, + qdev_get_gpio_in(pic_dev, NEWWORLD_ESCCA_IRQ)); + qdev_connect_gpio_out(dev, 3, + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE0_IRQ)); + qdev_connect_gpio_out(dev, 4, + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE0_DMA_IRQ)); + qdev_connect_gpio_out(dev, 5, + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE1_IRQ)); + qdev_connect_gpio_out(dev, 6, + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE1_DMA_IRQ)); qdev_prop_set_uint64(dev, "frequency", tbfreq); object_property_set_link(OBJECT(macio), OBJECT(pic_dev), "pic", &error_abort);
Introduce constants for the pre-defined New World IRQs to help keep things readable. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> --- hw/ppc/mac.h | 8 ++++++++ hw/ppc/mac_newworld.c | 29 +++++++++++++++-------------- 2 files changed, 23 insertions(+), 14 deletions(-)