qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Anthony Liguori <aliguori@us.ibm.com>,
	Jan Kiszka <jan.kiszka@siemens.com>,
	QEMU Developers <qemu-devel@nongnu.org>,
	Marcel Apfelbaum <marcel.a@redhat.com>
Subject: Re: [Qemu-devel] [PATCH RFC v2 2/2] hw/pci: handle unassigned pci addresses
Date: Sun, 15 Sep 2013 10:14:45 +0300	[thread overview]
Message-ID: <20130915071445.GA29806@redhat.com> (raw)
In-Reply-To: <CAFEAcA9xiaD4tXOWbM7JEy2J4JRa+4jUEXWS203WH-Co=3YTOw@mail.gmail.com>

On Tue, Sep 10, 2013 at 02:12:56PM +0100, Peter Maydell wrote:
> On 10 September 2013 14:02, Michael S. Tsirkin <mst@redhat.com> wrote:
> > On Tue, Sep 10, 2013 at 01:50:47PM +0100, Peter Maydell wrote:
> >> On 10 September 2013 13:39, Michael S. Tsirkin <mst@redhat.com> wrote:
> >> > On Mon, Sep 09, 2013 at 02:16:41PM +0100, Peter Maydell wrote:
> >> >>     memory_region_init_alias(&pci_dev->bus_master_enable_region,
> >> >>                              OBJECT(pci_dev), "bus master",
> >> >>                              dma_as->root, 0,
> >> >>                              memory_region_size(dma_as->root));
> >> >>
> >> >> If instead of using this alias directly as the
> >> >> bus_master_enable region you instead:
> >> >>  * create a container region
> >> >>  * create a 'background' region at negative priority
> >> >>    (ie one per device, and you can make the 'opaque' pointer
> >> >>    point to the device, not the bus)
> >> >>  * put the alias and the background region into the container
> >> >>  * use the container as the bus_master_enable region
> >> >
> >> > Interesting. There's one thing I don't understand here:
> >> > as far as I can see bus_master_enable_region covers the
> >> > whole 64 bit memory address space.
> >> >
> >> > It looks like it will always override the background
> >> > region in the same container. What did I miss?
> >>
> >> That should be itself a container,
> >> so assuming it doesn't
> >> itself have any kind of background region the "holes"
> >> inside it will still be present when we put it in
> >> our new container. (Basically putting a container,
> >> or an alias to one, inside a region is just saying
> >> "put everything in that container inside this region
> >> at the appropriate place").
> >
> > Confused.  "That" and "it" here refers to what exactly?
> 
> Well, I was a bit confused by your talking about
> the properties of "bus_master_enable_region" when my
> suggestion is effectively that we change what that is.
> So let's start again:
>  * create a container region
> This is 64 bits wide, but totally empty
>  * create a 'background' region at negative priority
> 64 bits wide
>  * put the alias and the background region into the container
> The alias is 64 bits wide too, but it is an alias of
> dma_as->root, which is a container with no background
> region.
>  * use the container as the bus_master_enable region
>  -- all you see in this container is the background region
> and anyhing that was in dma_as->root.

This confused me even more.
dma root covers whole 64 bit doesn't it?

The doc says:
"This is done with memory_region_add_subregion_overlap(), which
allows the region to overlap any other region in the same container, and
specifies a priority that allows the core to decide which of two regions
at
the same address are visible (highest wins)."

So if I create an alias that also covers whole 64 bit
and background in the same
container, background with a negative priority,
won't alias always win?

> So when I said "that" and "it" I meant dma_as->root.
> 
> Hope that is a little less opaque.
> 
> -- PMM

  parent reply	other threads:[~2013-09-15  7:12 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-09 11:11 [Qemu-devel] [PATCH RFC v2 0/3] pci: complete master abort protocol Marcel Apfelbaum
2013-09-09 11:11 ` [Qemu-devel] [PATCH RFC v2 1/2] memory: allow MemoryRegion's priority field to accept negative values Marcel Apfelbaum
2013-09-09 11:28   ` Peter Maydell
2013-09-09 12:03     ` Marcel Apfelbaum
2013-09-09 11:11 ` [Qemu-devel] [PATCH RFC v2 2/2] hw/pci: handle unassigned pci addresses Marcel Apfelbaum
2013-09-09 11:40   ` Michael S. Tsirkin
2013-09-09 12:11     ` Marcel Apfelbaum
2013-09-09 12:23       ` Michael S. Tsirkin
2013-09-09 12:43         ` Marcel Apfelbaum
2013-09-09 12:52           ` Peter Maydell
2013-09-09 12:59             ` Michael S. Tsirkin
2013-09-09 13:02               ` Peter Maydell
2013-09-09 13:15                 ` Marcel Apfelbaum
2013-09-09 13:19                   ` Peter Maydell
2013-09-09 13:29                     ` Marcel Apfelbaum
2013-09-09 13:39                       ` Peter Maydell
2013-09-09 14:04                         ` Marcel Apfelbaum
2013-09-09 14:21                           ` Peter Maydell
2013-09-09 14:51                             ` Marcel Apfelbaum
2013-09-09 14:58                               ` Peter Maydell
2013-09-09 16:00                                 ` Michael S. Tsirkin
2013-09-09 16:02                                   ` Peter Maydell
2013-09-09 16:34                                     ` Michael S. Tsirkin
2013-09-09 16:54                                       ` Jan Kiszka
2013-09-09 16:58                                         ` Peter Maydell
2013-09-09 17:09                                           ` Jan Kiszka
2013-09-09 17:14                                             ` Peter Maydell
2013-09-09 17:27                                               ` Jan Kiszka
2013-09-09 17:37                                                 ` Michael S. Tsirkin
2013-09-09 17:41                                                 ` Peter Maydell
2013-09-09 18:06                                                   ` Jan Kiszka
2013-09-09 18:11                                                     ` Paolo Bonzini
2013-09-09 19:35                                                       ` Michael S. Tsirkin
2013-09-09 18:03                                                 ` Paolo Bonzini
2013-09-09 18:49                                                   ` Jan Kiszka
2013-09-09 18:59                                                     ` Peter Maydell
2013-09-09 19:04                                                       ` Jan Kiszka
2013-09-09 19:27                                                       ` Michael S. Tsirkin
2013-09-09 19:31                                                     ` Michael S. Tsirkin
2013-09-09 15:54                             ` Michael S. Tsirkin
2013-09-09 14:04                       ` Michael S. Tsirkin
2013-09-09 14:16                         ` Marcel Apfelbaum
2013-09-09 13:59                 ` Michael S. Tsirkin
2013-09-09 13:07             ` Marcel Apfelbaum
2013-09-09 13:16               ` Peter Maydell
2013-09-09 13:44                 ` Marcel Apfelbaum
2013-09-10 12:39                 ` Michael S. Tsirkin
2013-09-10 12:50                   ` Peter Maydell
2013-09-10 13:02                     ` Michael S. Tsirkin
2013-09-10 13:12                       ` Peter Maydell
2013-09-10 14:11                         ` Michael S. Tsirkin
2013-09-15  7:14                         ` Michael S. Tsirkin [this message]
2013-09-15 10:56                           ` Peter Maydell
2013-09-15 11:05                             ` Michael S. Tsirkin
2013-09-15 11:23                               ` Peter Maydell
2013-09-15 12:17                                 ` Michael S. Tsirkin
2013-09-15 13:24                                   ` Peter Maydell
2013-09-15 13:39                                     ` Michael S. Tsirkin
2013-09-15 13:49                                       ` Peter Maydell
2013-09-15 14:08                                         ` Michael S. Tsirkin
2013-09-15 14:08                                           ` Peter Maydell
2013-09-15 14:20                                             ` Michael S. Tsirkin
2013-09-15 14:49                                               ` Peter Maydell
2013-09-15 15:05                                                 ` Michael S. Tsirkin
2013-09-15 15:08                                                   ` Peter Maydell
2013-09-15 15:31                                                     ` Michael S. Tsirkin
2013-09-15 17:12                                                       ` Peter Maydell
2013-09-15  9:29                         ` Marcel Apfelbaum
2013-09-09 14:01               ` Michael S. Tsirkin
2013-09-09 13:58           ` Michael S. Tsirkin
2013-09-09 14:10             ` Marcel Apfelbaum

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=20130915071445.GA29806@redhat.com \
    --to=mst@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=jan.kiszka@siemens.com \
    --cc=marcel.a@redhat.com \
    --cc=pbonzini@redhat.com \
    --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).