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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).