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

RE: [Xen-users] Vanderpool Hardware Question

  • To: "Goran Vukoman" <vukoman@xxxxxx>, xen-users@xxxxxxxxxxxxxxxxxxx
  • From: "Petersson, Mats" <Mats.Petersson@xxxxxxx>
  • Date: Thu, 20 Apr 2006 17:09:12 +0200
  • Delivery-date: Thu, 20 Apr 2006 08:10:05 -0700
  • List-id: Xen user discussion <xen-users.lists.xensource.com>
  • Thread-index: AcZkiWLMSOuIFY9BQGO+9N675t7J7gAAdppg
  • Thread-topic: [Xen-users] Vanderpool Hardware Question


> -----Original Message-----
> From: xen-users-bounces@xxxxxxxxxxxxxxxxxxx 
> [mailto:xen-users-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Goran Vukoman
> Sent: 20 April 2006 15:01
> To: xen-users@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [Xen-users] Vanderpool Hardware Question
> Thank you Dave for answering my questions.
> ... 
> > > C. I know that I can't assign one ore more 
> graphicadapters to a domU 
> > > with paravirtualisation. But...
> > >
> > >     Is it possible to assign one ore more graphicadapters to one 
> > > guestmaschine in Xen 3.0 with a Vanderpool capable machine?
> > 
> > You can't do PCI passthrough to an hvm guest, no :(  I had 
> wanted to 
> > do this as well, but it is not possible due to memory addressing 
> > problems.
> ...
> So there's still no IOMMU available in a PC to restrict the 
> access for DMA capable devices. Hmph....

It's not as simple as "restricting access" (we can do that in AMD's
devices, but unfortunately, it just aborts the cycle). 

The need for an IOMMU is there also because we map the memory
differently than what the guest actually thinks. The guest will think
that memory starts at address 0 and ends at, say, 512MB. The Hypervisor
knows that this is not actually the case, memory starts at 512MB, and
ends at 1024MB. But we hide this by "modifying the page-tables" in the

So when the graphics card tries to bit-copy from somewhere around 256MB
(guest physical address) to some place in the frame-buffer, it actually
should say copy from 768MB to the frame-buffer. This can only be solved
with two approaches:
1. The graphics driver understands that the REAL physical memory isn't
the same as what the OS thinks it is - this is the para-virtual driver
approach (meaning driver is aware of virtualization). 
2. All direct memory accesses goes through a IOMMU - the memory map of
the guest is translated before the actual hardware gets to see the
memory, so when the graphics card says "I'd like to read at 256MB" it
actually gets memory located at 512MB. 

It may be possible (on AMD processors) to use the GART to achieve this -
it has been used on Linux x86-64 to support 32-bit-only hardware
accessing > 4GB RAM. But I don't know if/when such support may be
available in Xen. 

> But maybe the unsure alternative with "physdev_dom0_hide" 
> work for the second or third graphicadapter.
> Did you get Windows installed in a Xen/linux environment? 
> (Shame on me but some customers want some Windows based 
> network-services)
> ...
> > --
> > Dave Goodlad
> > dgoodlad@xxxxxxxxx or dave@xxxxxxxxxx
> > http://david.goodlad.ca/
> Goran
> _______________________________________________
> Xen-users mailing list
> Xen-users@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-users

Xen-users mailing list



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