static inline void setup_node_to_cpumask_map(void) { }
  #endif
  
 -#if defined(CONFIG_HAVE_SETUP_PER_CPU_AREA) && defined(CONFIG_X86_SMP)
 +#ifdef CONFIG_X86_64
 +
 +/* correctly size the local cpu masks */
- static void setup_cpu_local_masks(void)
++static void __init setup_cpu_local_masks(void)
 +{
 +      alloc_bootmem_cpumask_var(&cpu_initialized_mask);
 +      alloc_bootmem_cpumask_var(&cpu_callin_mask);
 +      alloc_bootmem_cpumask_var(&cpu_callout_mask);
 +      alloc_bootmem_cpumask_var(&cpu_sibling_setup_mask);
 +}
 +
 +#else /* CONFIG_X86_32 */
 +
 +static inline void setup_cpu_local_masks(void)
 +{
 +}
 +
 +#endif /* CONFIG_X86_32 */
 +
 +#ifdef CONFIG_HAVE_SETUP_PER_CPU_AREA
  /*
   * Copy data used in early init routines from the initial arrays to the
   * per cpu data areas.  These arrays then become expendable and the