From: Blue Swirl <blauwirbel@gmail.com>
To: Hollis Blanchard <hollisb@us.ibm.com>
Cc: kvm-ppc@vger.kernel.org, Jan Kiszka <jan.kiszka@siemens.com>,
Liu Yu-B13201 <Yu.Liu@freescale.com>,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 4/7] kvm: Add sanity checks to slot management
Date: Wed, 29 Apr 2009 21:54:14 +0300 [thread overview]
Message-ID: <f43fc5580904291154u4f8589ccmf86c812b29d4c7f0@mail.gmail.com> (raw)
In-Reply-To: <1241028165.24990.61.camel@slate.austin.ibm.com>
On 4/29/09, Hollis Blanchard <hollisb@us.ibm.com> wrote:
> On Wed, 2009-04-29 at 12:38 -0500, Anthony Liguori wrote:
> > Hollis Blanchard wrote:
> > > On Wed, 2009-04-29 at 12:38 +0200, Jan Kiszka wrote:
> > >
> > >> What is the alignment of those regions then? None? And do regions of
> > >> different types overlap even on the same page? Maybe the check reveals
> > >> some deeper conflict /wrt KVM. Can you point me to the involved code files?
> > >>
> > >
> > > These PCI controllers make separate calls to
> > > cpu_register_physical_memory() for separate callbacks. Reading
> > > ppce500_pci_init(), for example:
> > > 0xe0008000 -> CFGADDR (4 bytes)
> > > 0xe0008004 -> CFGDATA (4 bytes)
> > > 0xe0008c00 -> other registers
> > >
> >
> > That's goofy. If the single device owns the entire region, it should
> > region the entire region instead of relying on subpage functionality.
> >
> > If just requires a switch() on the address to dispatch to the
> > appropriate functions. It should be easy enough to fix.
>
> There are two cases that share this code path:
> 1) same driver registers multiple regions in the same page
> 2) different drivers register regions in the same page
>
> This is case 1, and as you say, we could add a switch statement to
> handle it. I did not look closely to see how many other callers fall
> into this category.
>
> However, are you suggesting that case 2 is also "goofy" and will never
> work with KVM? It works in qemu today. As long as case 2 works, case 1
> will work too, so why change anything?
I don't see why it would be wrong to register multiple regions within
the same page. It means that you can catch accesses to unassigned
addresses between the regions.
There are two instances of Sparc32 DMA controller, one to serve ESP
and the other for Lance. These are at addresses dma_base and dma_base
+ 16. Before subpage, this was handled with a switch, but now we rely
on the subpage mechanism instead.
next prev parent reply other threads:[~2009-04-29 18:54 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-11 17:20 [Qemu-devel] [PATCH 0/7] kvm: fix system reset & rework slot management Jan Kiszka
2009-04-11 17:20 ` [Qemu-devel] [PATCH 2/7] kvm: Apply SMM-already-initialized workaround on reset Jan Kiszka
2009-04-11 17:20 ` [Qemu-devel] [PATCH 5/7] kvm: improve handling of overlapping slots Jan Kiszka
2009-04-13 11:00 ` [Qemu-devel] [PATCH 5/7 v2] " Jan Kiszka
2009-04-17 14:36 ` Anthony Liguori
2009-04-11 17:20 ` [Qemu-devel] [PATCH 6/7] vga: Fix inconsistent tracking of map_addr Jan Kiszka
2009-04-11 17:20 ` [Qemu-devel] [PATCH 4/7] kvm: Add sanity checks to slot management Jan Kiszka
2009-04-29 10:31 ` Liu Yu-B13201
2009-04-29 10:38 ` Jan Kiszka
2009-04-29 11:10 ` Liu Yu-B13201
2009-04-29 11:36 ` Jan Kiszka
2009-04-29 17:10 ` Hollis Blanchard
2009-04-29 17:30 ` Jan Kiszka
2009-04-29 17:37 ` Hollis Blanchard
2009-04-29 18:08 ` Jan Kiszka
2009-04-30 2:39 ` Liu Yu-B13201
2009-04-29 17:38 ` Anthony Liguori
2009-04-29 18:02 ` Hollis Blanchard
2009-04-29 18:54 ` Blue Swirl [this message]
2009-04-11 17:20 ` [Qemu-devel] [PATCH 1/7] kvm: Sync CPU state on reset Jan Kiszka
2009-04-17 14:26 ` Anthony Liguori
2009-04-11 17:20 ` [Qemu-devel] [PATCH 7/7] vga: Cleanup dirty logging Jan Kiszka
2009-04-11 17:20 ` [Qemu-devel] [PATCH 3/7] kvm: Cleanup unmap condition in kvm_set_phys_mem Jan Kiszka
2009-04-17 14:27 ` [Qemu-devel] [PATCH 0/7] kvm: fix system reset & rework slot management Anthony Liguori
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=f43fc5580904291154u4f8589ccmf86c812b29d4c7f0@mail.gmail.com \
--to=blauwirbel@gmail.com \
--cc=Yu.Liu@freescale.com \
--cc=hollisb@us.ibm.com \
--cc=jan.kiszka@siemens.com \
--cc=kvm-ppc@vger.kernel.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).