|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   xen-ia64-devel
Re: [Xen-ia64-devel] Problem with xen-unstable cset 7937 (grant	tabletra 
| 
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
 | 
 |  | 
  
    |  |  |