From: Alex Williamson <alex.williamson@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: intel-gfx@lists.freedesktop.org,
Andrew Barnes <umbramalison@gmail.com>,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [IGDVFIO] [PATCH 3/8] RFC and help completing: Intel IGD Direct Assignment with VFIO
Date: Wed, 24 Sep 2014 14:57:22 -0600 [thread overview]
Message-ID: <1411592242.24563.177.camel@ul30vt.home> (raw)
In-Reply-To: <54232A2F.9020107@redhat.com>
On Wed, 2014-09-24 at 22:31 +0200, Paolo Bonzini wrote:
> Il 24/09/2014 21:47, Alex Williamson ha scritto:
> > So the opregion is mapped by a config write on the IGD device itself and
> > the other 3 regions, that we know about so far, are mapped via writes to
> > the host bridge.
>
> AFAIU the opregion is mapped by the (host) BIOS, that writes the address
> to a well-known scratch dword in the configuration space. The host
> reads from the dword and finds the opregion that way.
Right, that's the physical mapping, Andy's patches are mimicking that
behavior virtually. Seabios reserves memory, creates e820 entries, and
"maps" the hardware by writing to these registers. That triggers QEMU
to adjust the MemoryRegion in the guest address space which is an mmap
to the host address space, using /dev/mem for now, but hopefully the
vfio file descriptor in the future (I should be careful what I hope
for).
The opregion is pretty trivial because the write is to the IGD itself.
The others are to the host bridge, so we need to figure out what sort of
abstraction makes sense to get that back into vfio code.
Perhaps vfio creates all the memory regions and registers them into an
igd service and the host bridge can make calls like:
gtt = igd_get_gtt_mr();
which returns NULL and nothing happens or the registered MemoryRegion
and the host bridge places it into the address space. Thanks,
Alex
next prev parent reply other threads:[~2014-09-24 20:57 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-24 13:20 [Qemu-devel] [IGDVFIO] [PATCH 3/8] RFC and help completing: Intel IGD Direct Assignment with VFIO Andrew Barnes
2014-09-24 19:47 ` Alex Williamson
2014-09-24 20:31 ` Paolo Bonzini
2014-09-24 20:57 ` Alex Williamson [this message]
2014-09-24 21:18 ` Paolo Bonzini
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=1411592242.24563.177.camel@ul30vt.home \
--to=alex.williamson@redhat.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=umbramalison@gmail.com \
/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).