From: Avi Kivity <avi@redhat.com>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: "Anthony Liguori" <aliguori@us.ibm.com>,
"Jan Kiszka" <jan.kiszka@siemens.com>,
"qemu-devel Developers" <qemu-devel@nongnu.org>,
"Alexander Graf" <agraf@suse.de>,
"Blue Swirl" <blauwirbel@gmail.com>,
"Andreas Färber" <andreas.faerber@web.de>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Richard Henderson" <rth@twiddle.net>
Subject: Re: [Qemu-devel] [PATCH v3 5/6] vga: Use linear mapping + dirty logging in chain 4 memory access mode
Date: Thu, 15 Sep 2011 14:31:37 +0300 [thread overview]
Message-ID: <4E71E219.9090306@redhat.com> (raw)
In-Reply-To: <1316080881.455.192.camel@pasglop>
On 09/15/2011 01:01 PM, Benjamin Herrenschmidt wrote:
> > Sure :). So the problem is that when emulating the G3 Beige machine in
> > QEMU (default ppc32 target) we also add a PCI VGA adapter. Apparently,
> > on x86 that PCI VGA adapter can map the special VGA regions to
> > somewhere, namely 0xa0000. With the memory api overhaul, this also
> > slipped into the PPC world where mapping 0xa0000 with VGA adapters is
> > a pretty bad idea, as it's occupied by RAM.
> >
> > Now the discussion was on which level that mapping would happen and
> > which devices go through which buses which then would filter certain
> > ranges from being mapped. Basically, which way does a memory request
> > from the CPU go on a G3 Beige machine until it arrives the VGA
> > adapter?
> >
> > I hope that concludes the actual question. Avi, if I explained this
> > wrong, please correct me.
>
> Ok so there's several things here.
>
> First, the mapping from CPU addresses to PCI addresses. This depends on
> the host bridge chip. The MPC106, used in the Beige G3, itself supports
> different type of mappings.
>
> From memory, the way it's configured in a G3 is to have a 1:1 mapping of
> 80000000 CPU to 80000000 PCI.
>
> That means that with this basic mapping, you cannot generate memory
> accesses to low PCI addresses such as 0xa0000.
Alex, what this means (I think is) that: pci_grackle_init() needs to
create a container memory region and pass it to pc_register_bus() as the
pci address space, and create and alias starting at 0x80000000 of the
pci address space, and map that alias at address 0x80000000 of the
system address space.
See pc_init1() creating pci_memory and passing it to i440fx_init(),
which then maps some aliases into the system address space and also
gives it to pci_bus_new(). It's essentially the same thing with
different details.
> I don't remember (but it's possible) if it has another region which maps
> some other (high address) part of the address space down to 0 PCI.
> Typically that would be a smaller region which specifically allow access
> to the "ISA hole" that way.
That would be done by mapping yet another alias.
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2011-09-15 11:31 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-22 17:12 [Qemu-devel] [PATCH v3 0/6] vga: dirty log cleanup, more linear mapping Jan Kiszka
2011-08-22 17:12 ` [Qemu-devel] [PATCH v3 1/6] vmware-vga: Register reset service Jan Kiszka
2011-08-22 17:12 ` [Qemu-devel] [PATCH v3 2/6] vmware-vga: Disable verbose mode Jan Kiszka
2011-08-22 17:12 ` [Qemu-devel] [PATCH v3 3/6] vmware-vga: Remove dead DIRECT_VRAM mode Jan Kiszka
2011-08-22 17:12 ` [Qemu-devel] [PATCH v3 4/6] vmware-vga: Eliminate vga_dirty_log_restart Jan Kiszka
2011-08-22 17:12 ` [Qemu-devel] [PATCH v3 5/6] vga: Use linear mapping + dirty logging in chain 4 memory access mode Jan Kiszka
2011-08-25 7:19 ` Avi Kivity
2011-08-25 9:07 ` Jan Kiszka
2011-08-25 9:16 ` Avi Kivity
2011-08-25 9:21 ` Jan Kiszka
2011-08-25 10:45 ` Avi Kivity
2011-08-25 10:51 ` Jan Kiszka
2011-08-25 11:19 ` Avi Kivity
2011-08-25 11:28 ` Jan Kiszka
2011-09-12 15:20 ` Alexander Graf
2011-09-12 15:33 ` Jan Kiszka
2011-09-12 15:45 ` Andreas Färber
2011-09-12 15:49 ` Jan Kiszka
2011-09-12 15:57 ` Jan Kiszka
2011-09-13 7:39 ` Alexander Graf
2011-09-13 8:14 ` Jan Kiszka
2011-09-13 8:17 ` Alexander Graf
2011-09-13 8:19 ` Andreas Färber
2011-09-13 8:40 ` Alexander Graf
2011-09-13 9:00 ` Jan Kiszka
2011-09-13 9:42 ` Alexander Graf
2011-09-13 11:34 ` Jan Kiszka
2011-09-13 19:39 ` Blue Swirl
2011-09-14 7:11 ` Avi Kivity
2011-09-14 7:42 ` Alexander Graf
2011-09-14 8:02 ` Jan Kiszka
2011-09-14 8:17 ` Avi Kivity
2011-09-14 8:20 ` Jan Kiszka
2011-09-14 8:22 ` Avi Kivity
2011-09-14 8:24 ` Jan Kiszka
2011-09-14 8:27 ` Alexander Graf
2011-09-14 8:33 ` Jan Kiszka
2011-09-14 8:35 ` Avi Kivity
2011-09-14 20:06 ` Blue Swirl
2011-09-14 20:14 ` Alexander Graf
2011-09-14 20:16 ` Avi Kivity
2011-09-14 20:35 ` Alexander Graf
2011-09-14 20:42 ` Richard Henderson
2011-09-14 21:27 ` Andreas Färber
2011-09-14 21:41 ` Alexander Graf
2011-09-15 1:24 ` Benjamin Herrenschmidt
2011-09-15 7:32 ` Avi Kivity
2011-09-15 7:35 ` Alexander Graf
2011-09-15 10:01 ` Benjamin Herrenschmidt
2011-09-15 11:31 ` Avi Kivity [this message]
2011-09-17 21:40 ` Blue Swirl
2011-09-18 11:28 ` Avi Kivity
2011-09-19 9:15 ` Alexander Graf
2011-09-19 9:22 ` Avi Kivity
2011-09-19 9:36 ` Alexander Graf
2011-09-19 9:48 ` Avi Kivity
2011-09-14 20:15 ` Avi Kivity
2011-09-14 20:25 ` Blue Swirl
2011-09-15 7:30 ` Avi Kivity
2011-09-13 9:43 ` Andreas Färber
2011-09-12 20:21 ` Blue Swirl
2011-09-13 6:54 ` Alexander Graf
2011-09-13 7:51 ` Avi Kivity
2011-09-13 7:54 ` Alexander Graf
2011-09-13 8:10 ` Avi Kivity
2011-08-22 17:12 ` [Qemu-devel] [PATCH v3 6/6] vga: Drop some unused fields Jan Kiszka
2011-08-22 20:18 ` [Qemu-devel] [PATCH v3 0/6] vga: dirty log cleanup, more linear mapping Anthony Liguori
2011-08-22 20:36 ` Jan Kiszka
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=4E71E219.9090306@redhat.com \
--to=avi@redhat.com \
--cc=agraf@suse.de \
--cc=aliguori@us.ibm.com \
--cc=andreas.faerber@web.de \
--cc=benh@kernel.crashing.org \
--cc=blauwirbel@gmail.com \
--cc=jan.kiszka@siemens.com \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/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.