[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-users] 3D acceleration


  • To: xen-users@xxxxxxxxxxxxxxxxxxx
  • From: "David Shirley" <tephra@xxxxxxxxx>
  • Date: Tue, 8 Aug 2006 15:13:58 +1000
  • Delivery-date: Mon, 07 Aug 2006 22:14:45 -0700
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=K56Tfn9hywI9U7bGTQO9VMP5eZsMMgL11eNAcm4G+xOGyQNOgMMUf1FzBtnl6lwEID9FuFJ9w0gS270hZ4serZUSobduT/oSfQBA6xqGUyEG4mvt0khn5+70HzDOngsqdGKjru0myNysiiFsWZRSZMgz3n7oSMh0GJe3ggxjtFQ=
  • List-id: Xen user discussion <xen-users.lists.xensource.com>

Very clear explanation there - :)

However could this all be solved if the graphics card driver just
asked for the correct address?

ie if Nvidia added Xen Aware windows drivers and you "passthroughed"
your VGA card to domU then it *should just work*?

Cheers
Dave

--snip--
You don't have to have a Xenified driver if there is an IOMMU in the
system. But those don't exist today in most systems (IBM has one, but
it's only used in LARGE multiprocessor systems - and there's no
support in Xen for it anyways - yet at least).

So to explain why:

Let's say you have a Dom0 that has 256MB of memory, and a DomU that
also has 256MB of memory.

The DomU will think that the memory starts at zero, because Xen will
fake the memory configuration for the domain when it's starting. There
are mechanisms (called shadow-paging) to hide the actual memory
configuration from the guest, and the guest _WILL_ believe that it's
got memory from 0 ... 256MB.

Now, the driver for the graphics card will be given a bitmap in
user-memory to draw to the video-card. Since we assume this is a
"fancy" graphics card, it can do direct memory access (DMA) from the
main memory into the video-memory. So the driver will just say "at
address XXXXX you can find a bitmap, please DMA it into video memory
at address YYYYY". However, XXXXX is a PHYSICAL address within the
guest memory - but the ACTUAL physical address that the guest doesn't
know about is 256MB + XXXXX. But neither the guest, nor the graphcis
card knows that the Guest address is not ACTUAL physical address... So
what gets drawn to your screen in this case, would be whatever is at
physical address XXXXX - not the INTENDED XXXXX+256MB - and you'll
probably find that at XXXXX is some completely different type of data,
so the screen will look like someone spilt a bunch of mixed pixels and
swept them up into a pile... Or put another way, rubbish will appear
on the screen.

Does that make it clear?

--
Mats

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.