This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] RE: VP problematic for backend drivers on IA64?

To: "Muli Ben-Yehuda" <mulix@xxxxxxxxx>
Subject: [Xen-devel] RE: VP problematic for backend drivers on IA64?
From: "Magenheimer, Dan (HP Labs Fort Collins)" <dan.magenheimer@xxxxxx>
Date: Fri, 20 Jan 2006 09:08:21 -0800
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, okrieg@xxxxxxxxxx
Delivery-date: Fri, 20 Jan 2006 17:16:19 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcYdZIP1cEcRio1yS7GtsEzhnykhOgAfF6jA
Thread-topic: VP problematic for backend drivers on IA64?
Hi Muli --

I'm cc'ing the xen-ia64-devel list as many of the
Xen/ia64 team don't keep up with xen-devel...

Side note for anyone new to following this thread:
The terms P2M, P==M, and VP are as defined in

The backend drivers have a lot of code that assume P2M.
Blkback has been "ported" to handle P==M but netback
never was.  Neither has been "ported" to VP yet so there
is some work to do.  It may turn out to be easy (e.g.
#define'ing a few macros to be no-ops).  However, there's
likely to be some subtle changes too as there was for P==M.

But the real problem is not really in the backend drivers,
it is in the lower layers of the driver stack that the
backend drivers sit on top of.  VP means that the machine
addresses are hidden to the domain.  But domain0 (and
future driver domains) still need to program DMA-capable
devices, both for any domain0 I/O and for I/O on behalf
of domU's (via blkfront/blkback).  Thus, domain0 cannot
really be fully VP.

I think what we discussed at the summit was a modified form
of VP which is somewhere between VP and P2M.  All RAM
addressing is VP, but all device addressing needs to be
P2M.   It was observed that since an IOMMU intercepts all
device addressing (and only device addressing), by ensuring
that domain0 (and any driver domain) only has device
addressing via a "software IOMMU", the problem should be

That just about exhausts my expertise in this area, so
others can feel free to jump in (and please correct my


> -----Original Message-----
> From: Muli Ben-Yehuda [mailto:mulix@xxxxxxxxx] 
> Sent: Thursday, January 19, 2006 6:55 PM
> To: Magenheimer, Dan (HP Labs Fort Collins)
> Cc: xen-devel; okrieg@xxxxxxxxxx
> Subject: VP problematic for backend drivers on IA64?
> Hi Dan,
> I understand that during the IA64 session at the summit there was some
> discussion on VP being problematic for the current backend drivers (or
> the other way around), and IOMMUs were suggested as a possible
> solution. Could you please elaborate on what's the problem?
> Thanks,
> Muli
> -- 
> Muli Ben-Yehuda
> http://www.mulix.org | http://mulix.livejournal.com/

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>