aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/apic.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/apic.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/apic.c')
-rw-r--r--xen/arch/x86/apic.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
index 6a75036a09..04b9a28f47 100644
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -1464,7 +1464,8 @@ int __init APIC_init_uniprocessor (void)
#ifdef CONFIG_CRASH_DUMP
boot_cpu_physical_apicid = get_apic_id();
#endif
- phys_cpu_present_map = physid_mask_of_physid(boot_cpu_physical_apicid);
+ physids_clear(phys_cpu_present_map);
+ physid_set(boot_cpu_physical_apicid, phys_cpu_present_map);
setup_local_APIC();