WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

Re: [Xen-ia64-devel] Problem with xen-unstable cset 7937 (grant tabletra

To: "Magenheimer, Dan (HP Labs Fort Collins)" <dan.magenheimer@xxxxxx>
Subject: Re: [Xen-ia64-devel] Problem with xen-unstable cset 7937 (grant tabletransfer fix)
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Tue, 22 Nov 2005 05:56:42 +0000
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 22 Nov 2005 06:05:53 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <516F50407E01324991DD6D07B0531AD5875B41@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
References: <516F50407E01324991DD6D07B0531AD5875B41@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx

On 22 Nov 2005, at 00:46, Magenheimer, Dan (HP Labs Fort Collins) wrote:

Keir, could you translate the asm statement in gnttab_transfer
into a cmpxchg (see include/asm-x86/system.h)?  Or is it doing
something that the macros can't do?

Yes, it can be. The cmpxchg is relying on count_info and domain fields being adjacent, by the way. And the construction of old/new values to pass to cmpxchg is specific to little endian systems. It might be best to define an arch-specific function for atomically stealing a page from a domain, although we might get away with defining a endian-aware macro for concatenating two u32's into a u64, and turning cmpxchg8b into cmpxchg().

Also, I've attached a patch that shows the differences between
the x86 and ia64 versions.  If you think it would be possible
to merge most of these differences (and/or incorporate a
small number of ifdefs into common/grant_table.c), that
would be very helpful.

No patch!

 -- Keir


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