Hi Shanker, On 27/06/16 21:33, Shanker Donthineni wrote:
The number of Redistributor regions allowed for dom0 is hardcoded to a define MAX_RDIST_COUNT which is 4. Some systems, especially latest server chips, may have more than 4 redistributors. Either we have to increase MAX_RDIST_COUNT to a bigger number or allocate memory based on the number of redistributors that are found in MADT table. In the worst case scenario, the macro MAX_RDIST_COUNT should be equal to CONFIG_NR_CPUS in order to support per CPU Redistributors.Increasing MAX_RDIST_COUNT has a effect, it blows 'struct domain' size and hits BUILD_BUG_ON() in domain build code path. struct domain *alloc_domain_struct(void) { struct domain *d; BUILD_BUG_ON(sizeof(*d) > PAGE_SIZE); d = alloc_xenheap_pages(0, 0); if ( d == NULL ) return NULL; ... This patch uses the second approach to fix the BUILD_BUG(). Signed-off-by: Shanker Donthineni <[email protected]>
Reviewed-by: Julien Grall <[email protected]> Regards, -- Julien Grall _______________________________________________ Xen-devel mailing list [email protected] http://lists.xen.org/xen-devel
