[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XenPPC] [xenppc-unstable] [XEN][POWERPC] Allocate secondary VCPUs for Dom0
# HG changeset patch # User Jimi Xenidis <jimix@xxxxxxxxxxxxxx> # Node ID 1b00e1288e8ca376d2674628b1bfff698443dbf2 # Parent d7a63be8595e3b7f435ba2fc3352d6089a84a85d [XEN][POWERPC] Allocate secondary VCPUs for Dom0 Signed-off-by: Jimi Xenidis <jimix@xxxxxxxxxxxxxx> --- xen/arch/powerpc/domain_build.c | 23 +++++++++++++++++++++++ 1 files changed, 23 insertions(+) diff -r d7a63be8595e -r 1b00e1288e8c xen/arch/powerpc/domain_build.c --- a/xen/arch/powerpc/domain_build.c Sun Jan 21 07:47:35 2007 -0500 +++ b/xen/arch/powerpc/domain_build.c Sun Jan 21 07:49:50 2007 -0500 @@ -26,6 +26,7 @@ #include <xen/ctype.h> #include <xen/iocap.h> #include <xen/shadow.h> +#include <xen/domain.h> #include <xen/version.h> #include <asm/processor.h> #include <asm/papr.h> @@ -120,6 +121,7 @@ int construct_dom0(struct domain *d, ulong msr; ulong pc; ulong r2; + int vcpu; /* Sanity! */ BUG_ON(d->domain_id != 0); @@ -209,6 +211,27 @@ int construct_dom0(struct domain *d, /* put stack below everything */ v->arch.ctxt.gprs[1] = dst - STACK_FRAME_OVERHEAD; + + /* startup secondary processors */ + if ( opt_dom0_max_vcpus == 0 ) + opt_dom0_max_vcpus = num_online_cpus(); + if ( opt_dom0_max_vcpus > num_online_cpus() ) + opt_dom0_max_vcpus = num_online_cpus(); + if ( opt_dom0_max_vcpus > MAX_VIRT_CPUS ) + opt_dom0_max_vcpus = MAX_VIRT_CPUS; +#ifdef BITS_PER_GUEST_LONG + if ( opt_dom0_max_vcpus > BITS_PER_GUEST_LONG(d) ) + opt_dom0_max_vcpus = BITS_PER_GUEST_LONG(d); +#endif + printk("Dom0 has maximum %u VCPUs\n", opt_dom0_max_vcpus); + + for (vcpu = 1; vcpu < opt_dom0_max_vcpus; vcpu++) { + if (NULL == alloc_vcpu(dom0, vcpu, vcpu)) + panic("Error creating domain 0 vcpu %d\n", vcpu); + /* for now we pin Dom0 VCPUs to their coresponding CPUs */ + if (cpu_isset(vcpu, cpu_online_map)) + dom0->vcpu[vcpu]->cpu_affinity = cpumask_of_cpu(vcpu); + } /* copy relative to Xen */ dst += rma; _______________________________________________ Xen-ppc-devel mailing list Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ppc-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |