diff options
author | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2006-02-16 16:31:22 +0100 |
---|---|---|
committer | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2006-02-16 16:31:22 +0100 |
commit | 0510339782be95981d02c8bd52bafd6ebf90b394 (patch) | |
tree | fca074cadd992fb11df036a22d8ff8626c463d0d /xen/include/asm-x86/smp.h | |
parent | 5f3c901acc28bf701a37cbc9b0d014a82129fbab (diff) | |
download | xen-0510339782be95981d02c8bd52bafd6ebf90b394.tar.gz xen-0510339782be95981d02c8bd52bafd6ebf90b394.tar.bz2 xen-0510339782be95981d02c8bd52bafd6ebf90b394.zip |
Upgrade smpboot.c to linux-2.6.16-rc2 codebase.
Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'xen/include/asm-x86/smp.h')
-rw-r--r-- | xen/include/asm-x86/smp.h | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/xen/include/asm-x86/smp.h b/xen/include/asm-x86/smp.h index 552b699bc4..f05c5feb0e 100644 --- a/xen/include/asm-x86/smp.h +++ b/xen/include/asm-x86/smp.h @@ -37,8 +37,6 @@ extern int smp_num_siblings; extern cpumask_t cpu_sibling_map[]; extern cpumask_t cpu_core_map[]; -extern void smp_flush_tlb(void); -extern void smp_invalidate_rcv(void); /* Process an NMI */ extern void (*mtrr_hook) (void); #ifdef CONFIG_X86_64 @@ -50,16 +48,23 @@ extern void zap_low_mappings(l2_pgentry_t *base); #define MAX_APICID 256 extern u8 x86_cpu_to_apicid[]; +#define cpu_physical_id(cpu) x86_cpu_to_apicid[cpu] + +#ifdef CONFIG_HOTPLUG_CPU +extern void cpu_exit_clear(void); +extern void cpu_uninit(void); +#endif + /* * This function is needed by all SMP systems. It must _always_ be valid * from the initial startup. We map APIC_BASE very early in page_setup(), * so this is correct in the x86 case. */ -#define __smp_processor_id() (get_processor_id()) +#define raw_smp_processor_id() (get_processor_id()) extern cpumask_t cpu_callout_map; extern cpumask_t cpu_callin_map; -#define cpu_possible_map cpu_callout_map +extern cpumask_t cpu_possible_map; /* We don't mark CPUs online until __cpu_up(), so we need another measure */ static inline int num_booting_cpus(void) @@ -67,9 +72,6 @@ static inline int num_booting_cpus(void) return cpus_weight(cpu_callout_map); } -extern void map_cpu_to_logical_apicid(void); -extern void unmap_cpu_to_logical_apicid(int cpu); - #ifdef CONFIG_X86_LOCAL_APIC #ifdef APIC_DEFINITION @@ -90,8 +92,15 @@ static __inline int logical_smp_processor_id(void) } #endif + +extern int __cpu_disable(void); +extern void __cpu_die(unsigned int cpu); #endif /* !__ASSEMBLY__ */ +#else /* CONFIG_SMP */ + +#define cpu_physical_id(cpu) boot_cpu_physical_apicid + #define NO_PROC_ID 0xFF /* No processor magic marker */ #endif |