All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: Peter Xu <peterx@redhat.com>
Cc: qemu-ppc@nongnu.org, "Peter Maydell" <peter.maydell@linaro.org>,
	qemu-devel@nongnu.org,
	"Alistair Francis" <alistair@alistair23.me>,
	"Greg Kurz" <groug@kaod.org>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Andrew Jeffery" <andrew@aj.id.au>,
	qemu-arm@nongnu.org, "Hervé Poussineau" <hpoussin@reactos.org>,
	"Cédric Le Goater" <clg@kaod.org>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Joel Stanley" <joel@jms.id.au>
Subject: Re: [PATCH 3/5] hw/pci-host/prep: Remove unuseful memory region mapping
Date: Mon, 22 Mar 2021 15:09:04 +1100	[thread overview]
Message-ID: <YFgYYHOroOLHBbm7@yekko.fritz.box> (raw)
In-Reply-To: <20210312203821.GN194839@xz-x1>

[-- Attachment #1: Type: text/plain, Size: 3359 bytes --]

On Fri, Mar 12, 2021 at 03:38:21PM -0500, Peter Xu wrote:
> On Fri, Mar 12, 2021 at 07:28:49PM +0100, Philippe Mathieu-Daudé wrote:
> > The pci_io_non_contiguous region is mapped on top of pci_io
> > with higher priority, but simply dispatch into this region
> > address space. Simplify by directly registering the former
> > region in place, and adapt the address space dispatch offsets.
> > 
> > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> > ---
> >  hw/pci-host/prep.c | 11 ++++-------
> >  1 file changed, 4 insertions(+), 7 deletions(-)
> > 
> > diff --git a/hw/pci-host/prep.c b/hw/pci-host/prep.c
> > index 0a9162fba97..00a28c2d18c 100644
> > --- a/hw/pci-host/prep.c
> > +++ b/hw/pci-host/prep.c
> > @@ -159,8 +159,7 @@ static uint64_t raven_io_read(void *opaque, hwaddr addr,
> >      uint8_t buf[4];
> >  
> >      addr = raven_io_address(s, addr);
> > -    address_space_read(&s->pci_io_as, addr + 0x80000000,
> > -                       MEMTXATTRS_UNSPECIFIED, buf, size);
> > +    address_space_read(&s->pci_io_as, addr, MEMTXATTRS_UNSPECIFIED, buf, size);
> >  
> >      if (size == 1) {
> >          return buf[0];
> > @@ -191,8 +190,7 @@ static void raven_io_write(void *opaque, hwaddr addr,
> >          g_assert_not_reached();
> >      }
> >  
> > -    address_space_write(&s->pci_io_as, addr + 0x80000000,
> > -                        MEMTXATTRS_UNSPECIFIED, buf, size);
> > +    address_space_write(&s->pci_io_as, addr, MEMTXATTRS_UNSPECIFIED, buf, size);
> 
> This changes access to s->pci_io_as, but below didn't change s->pci_io_as
> layout at all (below is about address_space_mem).  Is this intended?
> 
> >  }
> >  
> >  static const MemoryRegionOps raven_io_ops = {
> > @@ -294,9 +292,8 @@ static void raven_pcihost_initfn(Object *obj)
> >      address_space_init(&s->pci_io_as, &s->pci_io, "raven-io");
> >  
> >      /* CPU address space */
> > -    memory_region_add_subregion(address_space_mem, 0x80000000, &s->pci_io);
> > -    memory_region_add_subregion_overlap(address_space_mem, 0x80000000,
> > -                                        &s->pci_io_non_contiguous, 1);
> > +    memory_region_add_subregion(address_space_mem, 0x80000000,
> > +                                &s->pci_io_non_contiguous);
> 
> I don't know any of this code at all... but it seems the two memory regions are
> not identical in size:
> 
>     memory_region_init(&s->pci_io, obj, "pci-io", 0x3f800000);
>     memory_region_init_io(&s->pci_io_non_contiguous, obj, &raven_io_ops, s,
>                           "pci-io-non-contiguous", 0x00800000);
> 
> Then it seems the memory access dispatching to (0x00800000, 0x3f800000) would
> change too, from s->pci_io to nothing.  Raise this up too since I don't know
> either whether it's intended..

Right, it seems like this removes the mapping of s->pci_io entirely.

> 
> >      memory_region_add_subregion(address_space_mem, 0xc0000000, &s->pci_memory);
> >      pci_root_bus_new_inplace(&s->pci_bus, sizeof(s->pci_bus), DEVICE(obj), NULL,
> >                               &s->pci_memory, &s->pci_io, 0, TYPE_PCI_BUS);
> 

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2021-03-22  4:26 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-12 18:28 [PATCH 0/5] memory: Forbid mapping AddressSpace root MemoryRegion Philippe Mathieu-Daudé
2021-03-12 18:28 ` [PATCH 1/5] hw/arm/aspeed: Do not directly map ram container onto main address bus Philippe Mathieu-Daudé
2021-03-17 17:15   ` Cédric Le Goater
2021-03-12 18:28 ` [PATCH 2/5] hw/arm/aspeed: Do not sysbus-map mmio flash region directly, use alias Philippe Mathieu-Daudé
2021-03-13 12:05   ` Philippe Mathieu-Daudé
2021-03-17 18:46     ` Cédric Le Goater
2021-04-16  5:38       ` Philippe Mathieu-Daudé
2021-03-17 18:30   ` Cédric Le Goater
2021-03-17 19:00     ` Philippe Mathieu-Daudé
2021-03-17 19:03       ` Cédric Le Goater
2021-03-12 18:28 ` [PATCH 3/5] hw/pci-host/prep: Remove unuseful memory region mapping Philippe Mathieu-Daudé
2021-03-12 20:38   ` Peter Xu
2021-03-22  4:09     ` David Gibson [this message]
2021-04-16  6:24       ` Philippe Mathieu-Daudé
2021-03-12 18:28 ` [PATCH 4/5] hw/pci-host/prep: Do not directly map bus-master region onto main bus Philippe Mathieu-Daudé
2021-03-22  4:11   ` David Gibson
2021-03-12 18:28 ` [PATCH 5/5] memory: Make sure root MR won't be added as subregion Philippe Mathieu-Daudé
2021-03-13 11:14   ` Philippe Mathieu-Daudé

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=YFgYYHOroOLHBbm7@yekko.fritz.box \
    --to=david@gibson.dropbear.id.au \
    --cc=alistair@alistair23.me \
    --cc=andrew@aj.id.au \
    --cc=clg@kaod.org \
    --cc=f4bug@amsat.org \
    --cc=groug@kaod.org \
    --cc=hpoussin@reactos.org \
    --cc=joel@jms.id.au \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=peterx@redhat.com \
    --cc=qemu-arm@nongnu.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.