|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   xen-ia64-devel
[Xen-devel] [PATCH] fix memory exchange hypercall. 
| This patch fixes memory exchange hypercall which has been broken on ia64.
Especially the error recovery path.
Dropping _PGC_allocated bit and guest_physmap_remove_page() must be done
before stealing page because The ia64 p2m table increments page
refcount and guest_physmap_remove_page() behaves depending on _PGC_allocated.
So far there is work around code in ia64, however the c/s 13366:ed73ff8440d8
of xen-unstable.hg revealed that the work around is broken.
The c/s passes dma bit argument of memory exchange so that it results
in hypercall error.
On x86 platform, memory_exchange() is used only for paravirtualized domain
and guest_physmap_remove_page() and guest_phsymap_add_page() are nop for
paravirtualized domain. So reordering them is safe.
-- 
yamahata
  14378_946572694e6b_ia64_memory_exchange_fix.patch Description: Text Data
 _______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 | 
 
| <Prev in Thread] | Current Thread | [Next in Thread> |  | 
[Xen-devel] [PATCH] fix memory exchange hypercall.,
Isaku Yamahata <=
 |  |  | 
  
    |  |  |