diff options
author | Andi Kleen <ak@suse.de> | 2005-04-16 18:25:15 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:25:15 -0400 |
commit | 3dd9d514846cdca1dcef2e4fce666d85e199e844 (patch) | |
tree | 28e60a8b733db213e88b0aee8ef3861a93a6fa48 /include | |
parent | f2ea2750fbe56867bc8e0eb595115b14195a3e5e (diff) |
[PATCH] x86_64: add support for Intel dual-core detection and displaying
Appended patch adds the support for Intel dual-core detection and displaying
the core related information in /proc/cpuinfo.
It adds two new fields "core id" and "cpu cores" to x86 /proc/cpuinfo and the
"core id" field for x86_64("cpu cores" field is already present in x86_64).
Number of processor cores in a die is detected using cpuid(4) and this is
documented in IA-32 Intel Architecture Software Developer's Manual (vol 2a)
(http://developer.intel.com/design/pentium4/manuals/index_new.htm#sdm_vol2a)
This patch also adds cpu_core_map similar to cpu_sibling_map.
Slightly hacked by AK.
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-i386/processor.h | 1 | ||||
-rw-r--r-- | include/asm-i386/smp.h | 1 | ||||
-rw-r--r-- | include/asm-x86_64/smp.h | 2 |
3 files changed, 4 insertions, 0 deletions
diff --git a/include/asm-i386/processor.h b/include/asm-i386/processor.h index 7149784ed40b..359bb0151742 100644 --- a/include/asm-i386/processor.h +++ b/include/asm-i386/processor.h | |||
@@ -98,6 +98,7 @@ extern struct cpuinfo_x86 cpu_data[]; | |||
98 | #endif | 98 | #endif |
99 | 99 | ||
100 | extern int phys_proc_id[NR_CPUS]; | 100 | extern int phys_proc_id[NR_CPUS]; |
101 | extern int cpu_core_id[NR_CPUS]; | ||
101 | extern char ignore_fpu_irq; | 102 | extern char ignore_fpu_irq; |
102 | 103 | ||
103 | extern void identify_cpu(struct cpuinfo_x86 *); | 104 | extern void identify_cpu(struct cpuinfo_x86 *); |
diff --git a/include/asm-i386/smp.h b/include/asm-i386/smp.h index dd1491225d51..e03a206dfa36 100644 --- a/include/asm-i386/smp.h +++ b/include/asm-i386/smp.h | |||
@@ -35,6 +35,7 @@ extern void smp_alloc_memory(void); | |||
35 | extern int pic_mode; | 35 | extern int pic_mode; |
36 | extern int smp_num_siblings; | 36 | extern int smp_num_siblings; |
37 | extern cpumask_t cpu_sibling_map[]; | 37 | extern cpumask_t cpu_sibling_map[]; |
38 | extern cpumask_t cpu_core_map[]; | ||
38 | 39 | ||
39 | extern void smp_flush_tlb(void); | 40 | extern void smp_flush_tlb(void); |
40 | extern void smp_message_irq(int cpl, void *dev_id, struct pt_regs *regs); | 41 | extern void smp_message_irq(int cpl, void *dev_id, struct pt_regs *regs); |
diff --git a/include/asm-x86_64/smp.h b/include/asm-x86_64/smp.h index fe523e3e2ff4..f5eaa1ab48ff 100644 --- a/include/asm-x86_64/smp.h +++ b/include/asm-x86_64/smp.h | |||
@@ -48,7 +48,9 @@ extern void (*mtrr_hook) (void); | |||
48 | extern void zap_low_mappings(void); | 48 | extern void zap_low_mappings(void); |
49 | void smp_stop_cpu(void); | 49 | void smp_stop_cpu(void); |
50 | extern cpumask_t cpu_sibling_map[NR_CPUS]; | 50 | extern cpumask_t cpu_sibling_map[NR_CPUS]; |
51 | extern cpumask_t cpu_core_map[NR_CPUS]; | ||
51 | extern u8 phys_proc_id[NR_CPUS]; | 52 | extern u8 phys_proc_id[NR_CPUS]; |
53 | extern u8 cpu_core_id[NR_CPUS]; | ||
52 | 54 | ||
53 | #define SMP_TRAMPOLINE_BASE 0x6000 | 55 | #define SMP_TRAMPOLINE_BASE 0x6000 |
54 | 56 | ||