From mboxrd@z Thu Jan 1 00:00:00 1970 From: vijay.kilari@gmail.com Subject: [PATCH v5 04/22] xen/arm: Set nr_cpu_ids to available number of cpus Date: Mon, 27 Jul 2015 16:41:46 +0530 Message-ID: <1437995524-19772-5-git-send-email-vijay.kilari@gmail.com> References: <1437995524-19772-1-git-send-email-vijay.kilari@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1437995524-19772-1-git-send-email-vijay.kilari@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian.Campbell@citrix.com, julien.grall@citrix.com, stefano.stabellini@eu.citrix.com, stefano.stabellini@citrix.com, tim@xen.org, xen-devel@lists.xen.org Cc: Prasun.Kapoor@caviumnetworks.com, manish.jaggi@caviumnetworks.com, Vijaya Kumar K , vijay.kilari@gmail.com List-Id: xen-devel@lists.xenproject.org From: Vijaya Kumar K nr_cpu_ids for arm platforms is set to 128 irrespective of number of cpus supported by platform. Signed-off-by: Vijaya Kumar K --- xen/arch/arm/setup.c | 1 + xen/arch/arm/smpboot.c | 11 +++++++++++ xen/include/asm-arm/smp.h | 1 + 3 files changed, 13 insertions(+) diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c index a46c583..6ca787b 100644 --- a/xen/arch/arm/setup.c +++ b/xen/arch/arm/setup.c @@ -772,6 +772,7 @@ void __init start_xen(unsigned long boot_phys_offset, smp_init_cpus(); cpus = smp_get_max_cpus(); + set_nr_cpu_ids(cpus); init_xen_time(); diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c index a96cda2..233ad95 100644 --- a/xen/arch/arm/smpboot.c +++ b/xen/arch/arm/smpboot.c @@ -243,6 +243,17 @@ void __init smp_init_cpus(void) } } +void __init set_nr_cpu_ids(unsigned int max_cpus) +{ + if ( !max_cpus ) + max_cpus = 1; + else if ( max_cpus > NR_CPUS ) + max_cpus = NR_CPUS; + + printk(XENLOG_INFO "SMP: Allowing %u CPUs\n", max_cpus); + nr_cpu_ids = max_cpus; +} + int __init smp_get_max_cpus (void) { diff --git a/xen/include/asm-arm/smp.h b/xen/include/asm-arm/smp.h index 91b1e52..c23bd0f 100644 --- a/xen/include/asm-arm/smp.h +++ b/xen/include/asm-arm/smp.h @@ -29,6 +29,7 @@ extern void init_secondary(void); extern void smp_init_cpus(void); extern void smp_clear_cpu_maps (void); extern int smp_get_max_cpus (void); +extern void set_nr_cpu_ids(unsigned int max_cpus); #endif /* -- 1.7.9.5