qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org
Subject: Re: [Qemu-devel] [PATCH 17/24] arm11mpcore: use sysbus_init_mmio_cb2
Date: Sun, 14 Aug 2011 11:45:00 -0700	[thread overview]
Message-ID: <4E4817AC.8020705@redhat.com> (raw)
In-Reply-To: <CAFEAcA-0mgCP+ygKDAA7dXERs5zWvKJF0ZzSr3yY11DSL=6ahg@mail.gmail.com>

On 08/12/2011 06:23 AM, Peter Maydell wrote:
> >    static int realview_mpcore_init(SysBusDevice *dev)
> >    {
> >       mpcore_rirq_state *s = FROM_SYSBUS(mpcore_rirq_state, dev);
> >  @@ -79,7 +84,7 @@ static int realview_mpcore_init(SysBusDevice *dev)
> >           }
> >       }
> >       qdev_init_gpio_in(&dev->qdev, mpcore_rirq_set_irq, 64);
> >  -    sysbus_init_mmio_cb(dev, 0x2000, mpcore_rirq_map);
> >  +    sysbus_init_mmio_cb2(dev, mpcore_rirq_map, mpcore_rirq_unmap);
> >       return 0;
> >    }
>
> Since the mpcore code here is only using sysbus mmio callbacks as
> a way to pass things through to a sysbus mmio provided by another
> device, I think it would be cleaner to just have a way to say "my
> mmio is actually provided by this other device".
>
> For instance you could have
> MemoryRegion* sysbus_mmio_get_region(SysBusDevice *dev, int n))
> {
>      return dev->mmio[n].memory;
> }
>
> and then realview_mpcore_init() can just
>    sysbus_init_mmio_region(dev, sysbus_mmio_get_region(s->priv, 0));
>
> Or you could have a sysbus_pass_mmio() which worked like
> sysbus_pass_irq() and just said "my mmios are all this other
> device's mmios"; that's less flexible though.
>
>

Yes. Yet another option is to create a container MemoryRegion and pass 
it upwards, then allow the device that actually implements that mmio to 
register its regions with the container.

I'll leave this to the device maintainer though.

-- 
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.

  reply	other threads:[~2011-08-14 18:45 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-08 17:06 [Qemu-devel] [PATCH 00/24] Memory API batch 4: more conversions Avi Kivity
2011-08-08 17:06 ` [Qemu-devel] [PATCH 01/24] apb_pci: convert to memory API Avi Kivity
2011-08-08 17:06 ` [Qemu-devel] [PATCH 02/24] apic: " Avi Kivity
2011-08-08 17:06 ` [Qemu-devel] [PATCH 03/24] arm_gic: " Avi Kivity
2011-08-08 17:06 ` [Qemu-devel] [PATCH 04/24] arm_sysctl: " Avi Kivity
2011-08-08 17:06 ` [Qemu-devel] [PATCH 05/24] arm_timer: " Avi Kivity
2011-08-08 17:06 ` [Qemu-devel] [PATCH 06/24] armv7m: " Avi Kivity
2011-08-08 17:06 ` [Qemu-devel] [PATCH 07/24] gt64xxx.c: " Avi Kivity
2011-08-08 17:06 ` [Qemu-devel] [PATCH 08/24] tusb6010: move declarations to new file tusb6010.h Avi Kivity
2011-08-09  7:51   ` Peter Maydell
2011-08-09  9:02     ` [Qemu-devel] [PATCH v1.1 " Avi Kivity
2011-08-08 17:06 ` [Qemu-devel] [PATCH 09/24] omap_gpmc/nseries/tusb6010: convert to memory API Avi Kivity
2011-08-08 17:43   ` Peter Maydell
2011-08-09  6:34     ` Avi Kivity
2011-08-09  7:37       ` Peter Maydell
2011-08-09  7:41         ` Avi Kivity
2011-08-09  8:07           ` Peter Maydell
2011-08-09  8:44             ` Avi Kivity
2011-08-09  8:56               ` Avi Kivity
2011-08-09  9:02                 ` [Qemu-devel] [PATCH v1.1 " Avi Kivity
2011-08-09  9:23                   ` Peter Maydell
2011-08-09  9:26                     ` Avi Kivity
2011-08-09  9:41                       ` Peter Maydell
2011-08-09 12:56                         ` Avi Kivity
2011-08-09 13:06                         ` [Qemu-devel] [PATCH v1.2 " Avi Kivity
2011-08-08 17:06 ` [Qemu-devel] [PATCH 10/24] onenand: " Avi Kivity
2011-08-08 17:06 ` [Qemu-devel] [PATCH 11/24] pcie_host: " Avi Kivity
2011-08-08 17:06 ` [Qemu-devel] [PATCH 12/24] ppc405_uc: " Avi Kivity
2011-08-08 17:06 ` [Qemu-devel] [PATCH 13/24] ppc4xx_sdram: " Avi Kivity
2011-08-08 17:06 ` [Qemu-devel] [PATCH 14/24] stellaris_enet: " Avi Kivity
2011-08-08 17:07 ` [Qemu-devel] [PATCH 15/24] sysbus: add a variant of sysbus_init_mmio_cb with an unmap callback Avi Kivity
2011-08-08 17:07 ` [Qemu-devel] [PATCH 16/24] sh_pci: convert to memory API Avi Kivity
2011-08-08 17:07 ` [Qemu-devel] [PATCH 17/24] arm11mpcore: use sysbus_init_mmio_cb2 Avi Kivity
2011-08-12 13:23   ` Peter Maydell
2011-08-14 18:45     ` Avi Kivity [this message]
2011-08-08 17:07 ` [Qemu-devel] [PATCH 18/24] versatile_pci: convert to memory API Avi Kivity
2011-08-11 16:20   ` Peter Maydell
2011-08-11 16:26     ` Avi Kivity
2011-08-11 16:29     ` [Qemu-devel] [PATCH v1.1 " Avi Kivity
2011-08-11 21:53       ` Peter Maydell
2011-08-14 18:31         ` Avi Kivity
2011-08-08 17:07 ` [Qemu-devel] [PATCH 19/24] ppce500_pci: convert to sysbus_init_mmio_cb2() Avi Kivity
2011-08-08 17:07 ` [Qemu-devel] [PATCH 20/24] sysbus: remove sysbus_init_mmio_cb() Avi Kivity
2011-08-08 17:07 ` [Qemu-devel] [PATCH 21/24] isa: add isa_address_space() Avi Kivity
2011-08-10 16:24   ` Richard Henderson
2011-08-10 16:26     ` Richard Henderson
2011-08-10 16:35       ` Avi Kivity
2011-08-10 16:38         ` Avi Kivity
2011-08-10 18:44       ` Avi Kivity
2011-08-10 16:32     ` Avi Kivity
2011-08-08 17:07 ` [Qemu-devel] [PATCH 22/24] pci: add pci_address_space() Avi Kivity
2011-08-08 17:07 ` [Qemu-devel] [PATCH 23/24] vga: drop get_system_memory() from vga devices and derivatives Avi Kivity
2011-08-08 17:07 ` [Qemu-devel] [PATCH 24/24] 440fx: fix PAM, PCI holes Avi Kivity

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=4E4817AC.8020705@redhat.com \
    --to=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@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).