 
	
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] Allow Hypervisor build with more than 64 CPUs
 
Trying to build the Xen hypervisor with max_phys_cpus=128
for x86_64 fails. (Note that this was on a 3.1 base, but
unstable appears to have the same issue).
There is a build assertion due to the size of
the page_info structure and the shadow_page_info
structures get out of sync due to the presence
of cpumask_t in the page info structure (which
grows with more than 64 CPUs).
The proposed fix is to tack on the following to
the end of shadow_page_info structure.
Kudo's to Eduardo Habkost for the workaround.
Signed-off-by: Bill Burns <bburns@xxxxxxxxxx>
--- xen/arch/x86/mm/shadow/private.h.orig       2007-12-06 12:48:38.000000000 
-0500
+++ xen/arch/x86/mm/shadow/private.h    2008-08-12 12:52:49.000000000 -0400
@@ -243,6 +243,12 @@ struct shadow_page_info
         /* For non-pinnable shadows, a higher entry that points at us */
         paddr_t up;
     };
+#if NR_CPUS > 64
+    /* Need to add some padding to match struct page_info size,
+    * if cpumask_t is larger than a long
+    */
+    u8 padding[sizeof(cpumask_t)-sizeof(long)];
+#endif
 };
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 | 
|  | Lists.xenproject.org is hosted with RackSpace, monitoring our |