aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/smpboot.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2011-10-14 12:26:20 +0200
committerJan Beulich <jbeulich@suse.com>2011-10-14 12:26:20 +0200
commit2c4aff7e10734e214fc651a840cd9cc9aa2617ae (patch)
tree243b6046637a99a65df5217f17a5a81861efd1ac /xen/arch/x86/smpboot.c
parent9cff0937b26fde65ae0077e1d4589a8b0926c816 (diff)
downloadxen-2c4aff7e10734e214fc651a840cd9cc9aa2617ae.tar.gz
xen-2c4aff7e10734e214fc651a840cd9cc9aa2617ae.tar.bz2
xen-2c4aff7e10734e214fc651a840cd9cc9aa2617ae.zip
x86: clean up physid_mask_t handling
This eliminates passing and returning by value of this type (making it unnecessary for the compiler to create temporary variables for doing so on the stack), thus dramatically reducing the stack frame sizes of a couple of functions (was in one case over 12k for a 4095-CPU build). In one case a local variable gets converted to a static one, possible because the function gets called at most once (during early boot). Some accessors get eliminated altogether as being unused or as being equally well open coded at the place of use. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/arch/x86/smpboot.c')
-rw-r--r--xen/arch/x86/smpboot.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index c008468794..f3a479d097 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -752,7 +752,8 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
{
printk(KERN_NOTICE "SMP motherboard not detected.\n");
init_uniprocessor:
- phys_cpu_present_map = physid_mask_of_physid(0);
+ physids_clear(phys_cpu_present_map);
+ physid_set(0, phys_cpu_present_map);
if (APIC_init_uniprocessor())
printk(KERN_NOTICE "Local APIC not detected."
" Using dummy APIC emulation.\n");
@@ -767,7 +768,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
* CPU too, but we do it for the sake of robustness anyway.
* Makes no sense to do this check in clustered apic mode, so skip it
*/
- if ( !check_phys_apicid_present(boot_cpu_physical_apicid) )
+ if ( !check_apicid_present(boot_cpu_physical_apicid) )
{
printk("weird, boot CPU (#%d) not listed by the BIOS.\n",
boot_cpu_physical_apicid);