diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-x86_64/msr.h | 1 | ||||
-rw-r--r-- | include/asm-x86_64/proto.h | 2 | ||||
-rw-r--r-- | include/asm-x86_64/smp.h | 29 |
3 files changed, 8 insertions, 24 deletions
diff --git a/include/asm-x86_64/msr.h b/include/asm-x86_64/msr.h index 66f0be1..513e52c 100644 --- a/include/asm-x86_64/msr.h +++ b/include/asm-x86_64/msr.h @@ -163,6 +163,7 @@ extern inline unsigned int cpuid_edx(unsigned int op) #define EFER_NX (1<<_EFER_NX) /* Intel MSRs. Some also available on other CPUs */ +#define MSR_IA32_TSC 0x10 #define MSR_IA32_PLATFORM_ID 0x17 #define MSR_IA32_PERFCTR0 0xc1 diff --git a/include/asm-x86_64/proto.h b/include/asm-x86_64/proto.h index 217bd9a..d0f8f8b 100644 --- a/include/asm-x86_64/proto.h +++ b/include/asm-x86_64/proto.h @@ -29,7 +29,7 @@ extern void config_acpi_tables(void); extern void ia32_syscall(void); extern void iommu_hole_init(void); -extern void time_init_smp(void); +extern void time_init_gtod(void); extern void do_softirq_thunk(void); diff --git a/include/asm-x86_64/smp.h b/include/asm-x86_64/smp.h index f5eaa1a..96844fe 100644 --- a/include/asm-x86_64/smp.h +++ b/include/asm-x86_64/smp.h @@ -31,12 +31,16 @@ extern int disable_apic; struct pt_regs; +extern cpumask_t cpu_present_mask; +extern cpumask_t cpu_possible_map; +extern cpumask_t cpu_online_map; +extern cpumask_t cpu_callout_map; + /* * Private routines/data */ extern void smp_alloc_memory(void); -extern cpumask_t cpu_online_map; extern volatile unsigned long smp_invalidate_needed; extern int pic_mode; extern int smp_num_siblings; @@ -44,7 +48,6 @@ extern void smp_flush_tlb(void); extern void smp_message_irq(int cpl, void *dev_id, struct pt_regs *regs); extern void smp_send_reschedule(int cpu); extern void smp_invalidate_rcv(void); /* Process an NMI */ -extern void (*mtrr_hook) (void); extern void zap_low_mappings(void); void smp_stop_cpu(void); extern cpumask_t cpu_sibling_map[NR_CPUS]; @@ -60,10 +63,6 @@ extern u8 cpu_core_id[NR_CPUS]; * compresses data structures. */ -extern cpumask_t cpu_callout_map; -extern cpumask_t cpu_callin_map; -#define cpu_possible_map cpu_callout_map - static inline int num_booting_cpus(void) { return cpus_weight(cpu_callout_map); @@ -77,7 +76,7 @@ extern __inline int hard_smp_processor_id(void) return GET_APIC_ID(*(unsigned int *)(APIC_BASE+APIC_ID)); } -#define safe_smp_processor_id() (disable_apic ? 0 : x86_apicid_to_cpu(hard_smp_processor_id())) +extern int safe_smp_processor_id(void); #endif /* !ASSEMBLY */ @@ -99,22 +98,6 @@ static inline unsigned int cpu_mask_to_apicid(cpumask_t cpumask) return cpus_addr(cpumask)[0]; } -static inline int x86_apicid_to_cpu(u8 apicid) -{ - int i; - - for (i = 0; i < NR_CPUS; ++i) - if (x86_cpu_to_apicid[i] == apicid) - return i; - - /* No entries in x86_cpu_to_apicid? Either no MPS|ACPI, - * or called too early. Either way, we must be CPU 0. */ - if (x86_cpu_to_apicid[0] == BAD_APICID) - return 0; - - return -1; -} - static inline int cpu_present_to_apicid(int mps_cpu) { if (mps_cpu < NR_CPUS) |