From: Jan Kiszka <jan.kiszka@siemens.com>
To: "Andreas Färber" <andreas.faerber@web.de>
Cc: "Hervé Poussineau" <hpoussin@reactos.org>,
"qemu-ppc@nongnu.org" <qemu-ppc@nongnu.org>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"Alexander Graf" <agraf@suse.de>
Subject: Re: [Qemu-devel] [PATCH v3 8/8] prep: Use i82378 PCI->ISA bridge for 'prep' machine
Date: Fri, 13 Jan 2012 10:21:49 +0100 [thread overview]
Message-ID: <4F0FF7AD.2080403@siemens.com> (raw)
In-Reply-To: <1326424168-15705-9-git-send-email-andreas.faerber@web.de>
On 2012-01-13 04:09, Andreas Färber wrote:
> Speaker I/O, ISA bus, i8259 PIC, RTC and DMA are no longer set up
> individually by the machine. Effectively, no-op speaker I/O is replaced
> by pcspk; PIT and i82374 DMA are introduced.
>
> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
>
> Remove related dead, alternative code.
> Access i8259 IRQs via ISA bus to resolve cyclic dependency with PCI
> host bridge.
>
> Signed-off-by: Andreas Färber <andreas.faerber@web.de>
> Cc: Alexander Graf <agraf@suse.de>
> Cc: Jan Kiszka <jan.kiszka@siemens.com>
> ---
> hw/ppc_prep.c | 54 +++++++++++-------------------------------------------
> 1 files changed, 11 insertions(+), 43 deletions(-)
>
> diff --git a/hw/ppc_prep.c b/hw/ppc_prep.c
> index 747539f..9485d45 100644
> --- a/hw/ppc_prep.c
> +++ b/hw/ppc_prep.c
> @@ -83,37 +83,9 @@ static const int ide_irq[2] = { 13, 13 };
> static uint32_t ne2000_io[NE2000_NB_MAX] = { 0x300, 0x320, 0x340, 0x360, 0x280, 0x380 };
> static int ne2000_irq[NE2000_NB_MAX] = { 9, 10, 11, 3, 4, 5 };
>
> -//static ISADevice *pit;
> -
> /* ISA IO ports bridge */
> #define PPC_IO_BASE 0x80000000
>
> -#if 0
> -/* Speaker port 0x61 */
> -static int speaker_data_on;
> -static int dummy_refresh_clock;
> -#endif
> -
> -static void speaker_ioport_write (void *opaque, uint32_t addr, uint32_t val)
> -{
> -#if 0
> - speaker_data_on = (val >> 1) & 1;
> - pit_set_gate(pit, 2, val & 1);
> -#endif
> -}
> -
> -static uint32_t speaker_ioport_read (void *opaque, uint32_t addr)
> -{
> -#if 0
> - int out;
> - out = pit_get_out(pit, 2, qemu_get_clock_ns(vm_clock));
> - dummy_refresh_clock ^= 1;
> - return (speaker_data_on << 1) | pit_get_gate(pit, 2) | (out << 5) |
> - (dummy_refresh_clock << 4);
> -#endif
> - return 0;
> -}
> -
> /* PCI intack register */
> /* Read-only register (?) */
> static void PPC_intack_write (void *opaque, target_phys_addr_t addr,
> @@ -526,6 +498,7 @@ static void ppc_prep_init (ram_addr_t ram_size,
> SysBusDevice *sys;
> PCIHostState *pcihost;
> PCIBus *pci_bus;
> + PCIDevice *pci;
> ISABus *isa_bus;
> qemu_irq *i8259;
> qemu_irq *cpu_exit_irq;
> @@ -629,13 +602,9 @@ static void ppc_prep_init (ram_addr_t ram_size,
> }
> }
>
> - isa_mem_base = 0xc0000000;
> if (PPC_INPUT(env) != PPC_FLAGS_INPUT_6xx) {
> hw_error("Only 6xx bus is supported on PREP machine\n");
> }
> - /* Hmm, prep has no pci-isa bridge ??? */
> - isa_bus = isa_bus_new(NULL, get_system_io());
> - i8259 = i8259_init(isa_bus, first_cpu->irq_inputs[PPC6xx_INPUT_INT]);
>
> dev = qdev_create(NULL, "raven-pcihost");
> sys = sysbus_from_qdev(dev);
> @@ -648,13 +617,21 @@ static void ppc_prep_init (ram_addr_t ram_size,
> fprintf(stderr, "Couldn't create PCI host controller.\n");
> exit(1);
> }
> +
> + /* PCI -> ISA bridge */
> + pci = pci_create_simple(pci_bus, PCI_DEVFN(1, 0), "i82378");
> + cpu_exit_irq = qemu_allocate_irqs(cpu_request_exit, NULL, 1);
> + qdev_connect_gpio_out(&pci->qdev, 0,
> + first_cpu->irq_inputs[PPC6xx_INPUT_INT]);
> + qdev_connect_gpio_out(&pci->qdev, 1, *cpu_exit_irq);
> + isa_bus = DO_UPCAST(ISABus, qbus, qdev_get_child_bus(&pci->qdev, "isa.0"));
> +
> + i8259 = isa_bus->irqs;
I think this is unneeded. You only access i8259[8] later on for
initializing the m48t59. But that one should be creatable as ISA device
now (m48t59_init_isa), no? Please check.
Jan
--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
next prev parent reply other threads:[~2012-01-13 9:22 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-07 0:06 [Qemu-devel] [PATCH v2 0/3] qdev'ify PReP PCI host bridge Andreas Färber
2012-01-07 0:06 ` [Qemu-devel] [PATCH v2 1/3] prep: qdev'ify Raven " Andreas Färber
2012-01-11 22:00 ` Anthony Liguori
2012-01-07 0:06 ` [Qemu-devel] [PATCH v2 2/3] prep: Add Raven PCI host SysBus device Andreas Färber
2012-01-11 22:01 ` Anthony Liguori
2012-01-11 22:12 ` [Qemu-devel] [Qemu-ppc] " Alexander Graf
2012-01-11 22:24 ` Andreas Färber
2012-01-07 0:06 ` [Qemu-devel] [PATCH v2 3/3] MAINTAINERS: Add PCI host bridge files to PReP machine Andreas Färber
2012-01-11 21:57 ` [Qemu-devel] [Qemu-ppc] " Alexander Graf
2012-01-13 3:09 ` [Qemu-devel] [PATCH v3 0/8] qdev'ify PReP PCI host bridge and add PCI-to-ISA bridge Andreas Färber
2012-01-13 3:09 ` [Qemu-devel] [PATCH v3 1/8] prep: qdev'ify Raven host bridge (PCIDevice) Andreas Färber
2012-01-13 3:09 ` [Qemu-devel] [PATCH v3 2/8] prep_pci: Simplify I/O endianness Andreas Färber
2012-01-13 3:09 ` [Qemu-devel] [PATCH v3 3/8] prep_pci: Update I/O to MemoryRegion ops Andreas Färber
2012-01-15 9:19 ` Avi Kivity
2012-01-16 15:08 ` Andreas Färber
2012-01-16 15:15 ` Avi Kivity
2012-01-13 3:09 ` [Qemu-devel] [PATCH v3 4/8] prep: qdev'ify Raven host bridge (SysBus) Andreas Färber
2012-01-13 3:09 ` [Qemu-devel] [PATCH v3 5/8] MAINTAINERS: Add PCI host bridge files to PReP machine Andreas Färber
2012-01-13 3:09 ` [Qemu-devel] [PATCH v3 6/8] prep: Add i82374 DMA emulation Andreas Färber
2012-01-13 3:09 ` [Qemu-devel] [PATCH v3 7/8] prep: Add i82378 PCI-to-ISA bridge emulation Andreas Färber
2012-01-13 3:09 ` [Qemu-devel] [PATCH v3 8/8] prep: Use i82378 PCI->ISA bridge for 'prep' machine Andreas Färber
2012-01-13 9:21 ` Jan Kiszka [this message]
2012-01-13 15:57 ` Andreas Färber
2012-01-13 16:08 ` Jan Kiszka
2012-01-13 16:23 ` Alexander Graf
2012-01-13 16:45 ` Jan Kiszka
2012-01-13 3:33 ` [Qemu-devel] [PATCH v3 0/8] qdev'ify PReP PCI host bridge and add PCI-to-ISA bridge Andreas Färber
2012-01-13 11:42 ` Alexander Graf
2012-01-13 19:03 ` [Qemu-devel] [PATCH v4 " Andreas Färber
2012-01-13 19:03 ` [Qemu-devel] [PATCH v4 1/8] prep: qdev'ify Raven host bridge (PCIDevice) Andreas Färber
2012-01-13 19:03 ` [Qemu-devel] [PATCH v4 2/8] prep_pci: Simplify I/O endianness Andreas Färber
2012-01-13 19:03 ` [Qemu-devel] [PATCH v4 3/8] prep_pci: Update I/O to MemoryRegion ops Andreas Färber
2012-01-13 19:03 ` [Qemu-devel] [PATCH v4 4/8] prep: qdev'ify Raven host bridge (SysBus) Andreas Färber
2012-01-13 19:03 ` [Qemu-devel] [PATCH v4 5/8] MAINTAINERS: Add PCI host bridge files to PReP machine Andreas Färber
2012-01-13 19:03 ` [Qemu-devel] [PATCH v4 6/8] prep: Add i82374 DMA emulation Andreas Färber
2012-01-13 19:03 ` [Qemu-devel] [PATCH v4 7/8] prep: Add i82378 PCI-to-ISA bridge emulation Andreas Färber
2012-01-13 19:03 ` [Qemu-devel] [PATCH v4 8/8] prep: Use i82378 PCI->ISA bridge for 'prep' machine Andreas Färber
2012-01-16 14:49 ` [Qemu-devel] [PATCH v4 0/8] qdev'ify PReP PCI host bridge and add PCI-to-ISA bridge Andreas Färber
2012-01-16 16:18 ` [Qemu-devel] [PATCH v5 0/6] " Andreas Färber
2012-01-16 16:18 ` [Qemu-devel] [PATCH v5 1/6] prep_pci: Update I/O to MemoryRegion ops Andreas Färber
2012-01-16 16:18 ` [Qemu-devel] [PATCH v5 2/6] prep: qdev'ify Raven host bridge (SysBus) Andreas Färber
2012-01-16 16:18 ` [Qemu-devel] [PATCH v5 3/6] MAINTAINERS: Add PCI host bridge files to PReP machine Andreas Färber
2012-01-16 16:18 ` [Qemu-devel] [PATCH v5 4/6] prep: Add i82374 DMA emulation Andreas Färber
2012-01-16 16:18 ` [Qemu-devel] [PATCH v5 5/6] prep: Add i82378 PCI-to-ISA bridge emulation Andreas Färber
2012-01-16 16:18 ` [Qemu-devel] [PATCH v5 6/6] prep: Use i82378 PCI->ISA bridge for 'prep' machine Andreas Färber
2012-01-19 23:40 ` [Qemu-devel] [PATCH v5 0/6] qdev'ify PReP PCI host bridge and add PCI-to-ISA bridge Andreas Färber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F0FF7AD.2080403@siemens.com \
--to=jan.kiszka@siemens.com \
--cc=agraf@suse.de \
--cc=andreas.faerber@web.de \
--cc=hpoussin@reactos.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.