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

[Xen-changelog] [xen-unstable] x86_64: shared_info must be allocated below 4GB as it is advertised to



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1233013019 0
# Node ID d7f524bf90b03654340f8175b129f0c5502b30a4
# Parent  6b10d97d6fd42cbe7e023135cea8e6a0fdd008aa
x86_64: shared_info must be allocated below 4GB as it is advertised to
32-bit guests via a 32-bit machine address field in start_info.

Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
 xen/arch/x86/domain.c |    9 +++++++++
 1 files changed, 9 insertions(+)

diff -r 6b10d97d6fd4 -r d7f524bf90b0 xen/arch/x86/domain.c
--- a/xen/arch/x86/domain.c     Mon Jan 26 23:35:47 2009 +0000
+++ b/xen/arch/x86/domain.c     Mon Jan 26 23:36:59 2009 +0000
@@ -405,8 +405,17 @@ int arch_domain_create(struct domain *d,
         if ( d->arch.ioport_caps == NULL )
             goto fail;
 
+#ifdef __i386__
         if ( (d->shared_info = alloc_xenheap_page()) == NULL )
             goto fail;
+#else
+        pg = alloc_domheap_page(
+            NULL, MEMF_node(domain_to_node(d)) | MEMF_bits(32));
+        if ( pg == NULL )
+            goto fail;
+        pg->count_info |= PGC_xen_heap;
+        d->shared_info = page_to_virt(pg);
+#endif
 
         clear_page(d->shared_info);
         share_xen_page_with_guest(

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


 


Rackspace

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