x86: move definitions to processor.h
This patch moves definitions that are present in only one of the files (between processor_32.h and processor_64.h), to processor.h. They're mostly structures and function definitions. Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
committed by
Ingo Molnar
parent
fc87e9061a
commit
1a53905add
@@ -399,7 +399,7 @@ __setup("serialnumber", x86_serial_nr_setup);
|
|||||||
/*
|
/*
|
||||||
* This does the hard work of actually picking apart the CPU stuff...
|
* This does the hard work of actually picking apart the CPU stuff...
|
||||||
*/
|
*/
|
||||||
static void __cpuinit identify_cpu(struct cpuinfo_x86 *c)
|
void __cpuinit identify_cpu(struct cpuinfo_x86 *c)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@@ -757,7 +757,7 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
|
|||||||
disable_apic_timer = 1;
|
disable_apic_timer = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __cpuinit detect_ht(struct cpuinfo_x86 *c)
|
void __cpuinit detect_ht(struct cpuinfo_x86 *c)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
u32 eax, ebx, ecx, edx;
|
u32 eax, ebx, ecx, edx;
|
||||||
|
@@ -96,7 +96,12 @@ struct cpuinfo_x86 {
|
|||||||
#define X86_VENDOR_NUM 9
|
#define X86_VENDOR_NUM 9
|
||||||
#define X86_VENDOR_UNKNOWN 0xff
|
#define X86_VENDOR_UNKNOWN 0xff
|
||||||
|
|
||||||
|
/*
|
||||||
|
* capabilities of CPUs
|
||||||
|
*/
|
||||||
extern struct cpuinfo_x86 boot_cpu_data;
|
extern struct cpuinfo_x86 boot_cpu_data;
|
||||||
|
extern struct cpuinfo_x86 new_cpu_data;
|
||||||
|
extern struct tss_struct doublefault_tss;
|
||||||
|
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
DECLARE_PER_CPU(struct cpuinfo_x86, cpu_info);
|
DECLARE_PER_CPU(struct cpuinfo_x86, cpu_info);
|
||||||
@@ -107,11 +112,22 @@ DECLARE_PER_CPU(struct cpuinfo_x86, cpu_info);
|
|||||||
#define current_cpu_data boot_cpu_data
|
#define current_cpu_data boot_cpu_data
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void cpu_detect(struct cpuinfo_x86 *c);
|
||||||
|
|
||||||
|
extern void identify_cpu(struct cpuinfo_x86 *);
|
||||||
|
extern void identify_boot_cpu(void);
|
||||||
|
extern void identify_secondary_cpu(struct cpuinfo_x86 *);
|
||||||
extern void print_cpu_info(struct cpuinfo_x86 *);
|
extern void print_cpu_info(struct cpuinfo_x86 *);
|
||||||
extern void init_scattered_cpuid_features(struct cpuinfo_x86 *c);
|
extern void init_scattered_cpuid_features(struct cpuinfo_x86 *c);
|
||||||
extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c);
|
extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c);
|
||||||
extern unsigned short num_cache_leaves;
|
extern unsigned short num_cache_leaves;
|
||||||
|
|
||||||
|
#if defined(CONFIG_X86_HT) || defined(CONFIG_X86_64)
|
||||||
|
extern void detect_ht(struct cpuinfo_x86 *c);
|
||||||
|
#else
|
||||||
|
static inline void detect_ht(struct cpuinfo_x86 *c) {}
|
||||||
|
#endif
|
||||||
|
|
||||||
static inline void native_cpuid(unsigned int *eax, unsigned int *ebx,
|
static inline void native_cpuid(unsigned int *eax, unsigned int *ebx,
|
||||||
unsigned int *ecx, unsigned int *edx)
|
unsigned int *ecx, unsigned int *edx)
|
||||||
{
|
{
|
||||||
@@ -205,6 +221,11 @@ struct tss_struct {
|
|||||||
|
|
||||||
DECLARE_PER_CPU(struct tss_struct, init_tss);
|
DECLARE_PER_CPU(struct tss_struct, init_tss);
|
||||||
|
|
||||||
|
/* Save the original ist values for checking stack pointers during debugging */
|
||||||
|
struct orig_ist {
|
||||||
|
unsigned long ist[7];
|
||||||
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_X86_32
|
#ifdef CONFIG_X86_32
|
||||||
# include "processor_32.h"
|
# include "processor_32.h"
|
||||||
#else
|
#else
|
||||||
@@ -547,8 +568,28 @@ extern void select_idle_routine(const struct cpuinfo_x86 *c);
|
|||||||
|
|
||||||
extern unsigned long boot_option_idle_override;
|
extern unsigned long boot_option_idle_override;
|
||||||
|
|
||||||
|
extern void enable_sep_cpu(void);
|
||||||
|
extern int sysenter_setup(void);
|
||||||
|
|
||||||
|
/* Defined in head.S */
|
||||||
|
extern struct desc_ptr early_gdt_descr;
|
||||||
|
|
||||||
|
extern void cpu_set_gdt(int);
|
||||||
|
extern void switch_to_new_gdt(void);
|
||||||
|
extern void cpu_init(void);
|
||||||
|
extern void init_gdt(int cpu);
|
||||||
|
|
||||||
|
/* from system description table in BIOS. Mostly for MCA use, but
|
||||||
|
* others may find it useful. */
|
||||||
|
extern unsigned int machine_id;
|
||||||
|
extern unsigned int machine_submodel_id;
|
||||||
|
extern unsigned int BIOS_revision;
|
||||||
|
extern unsigned int mca_pentium_flag;
|
||||||
|
|
||||||
/* Boot loader type from the setup header */
|
/* Boot loader type from the setup header */
|
||||||
extern int bootloader_type;
|
extern int bootloader_type;
|
||||||
|
|
||||||
|
extern char ignore_fpu_irq;
|
||||||
#define cache_line_size() (boot_cpu_data.x86_cache_alignment)
|
#define cache_line_size() (boot_cpu_data.x86_cache_alignment)
|
||||||
|
|
||||||
#define HAVE_ARCH_PICK_MMAP_LAYOUT 1
|
#define HAVE_ARCH_PICK_MMAP_LAYOUT 1
|
||||||
|
@@ -18,36 +18,12 @@
|
|||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <asm/desc_defs.h>
|
#include <asm/desc_defs.h>
|
||||||
|
|
||||||
/*
|
|
||||||
* capabilities of CPUs
|
|
||||||
*/
|
|
||||||
extern struct cpuinfo_x86 new_cpu_data;
|
|
||||||
extern struct tss_struct doublefault_tss;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* the following now lives in the per cpu area:
|
* the following now lives in the per cpu area:
|
||||||
* extern int cpu_llc_id[NR_CPUS];
|
* extern int cpu_llc_id[NR_CPUS];
|
||||||
*/
|
*/
|
||||||
DECLARE_PER_CPU(u8, cpu_llc_id);
|
DECLARE_PER_CPU(u8, cpu_llc_id);
|
||||||
extern char ignore_fpu_irq;
|
|
||||||
|
|
||||||
void __init cpu_detect(struct cpuinfo_x86 *c);
|
|
||||||
|
|
||||||
extern void identify_boot_cpu(void);
|
|
||||||
extern void identify_secondary_cpu(struct cpuinfo_x86 *);
|
|
||||||
|
|
||||||
#ifdef CONFIG_X86_HT
|
|
||||||
extern void detect_ht(struct cpuinfo_x86 *c);
|
|
||||||
#else
|
|
||||||
static inline void detect_ht(struct cpuinfo_x86 *c) {}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* from system description table in BIOS. Mostly for MCA use, but
|
|
||||||
others may find it useful. */
|
|
||||||
extern unsigned int machine_id;
|
|
||||||
extern unsigned int machine_submodel_id;
|
|
||||||
extern unsigned int BIOS_revision;
|
|
||||||
extern unsigned int mca_pentium_flag;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* User space process size: 3GB (default).
|
* User space process size: 3GB (default).
|
||||||
@@ -277,15 +253,4 @@ static inline void prefetchw(const void *x)
|
|||||||
"r" (x));
|
"r" (x));
|
||||||
}
|
}
|
||||||
|
|
||||||
extern void enable_sep_cpu(void);
|
|
||||||
extern int sysenter_setup(void);
|
|
||||||
|
|
||||||
/* Defined in head.S */
|
|
||||||
extern struct desc_ptr early_gdt_descr;
|
|
||||||
|
|
||||||
extern void cpu_set_gdt(int);
|
|
||||||
extern void switch_to_new_gdt(void);
|
|
||||||
extern void cpu_init(void);
|
|
||||||
extern void init_gdt(int cpu);
|
|
||||||
|
|
||||||
#endif /* __ASM_I386_PROCESSOR_H */
|
#endif /* __ASM_I386_PROCESSOR_H */
|
||||||
|
@@ -17,8 +17,6 @@
|
|||||||
#include <linux/personality.h>
|
#include <linux/personality.h>
|
||||||
#include <asm/desc_defs.h>
|
#include <asm/desc_defs.h>
|
||||||
|
|
||||||
extern void identify_cpu(struct cpuinfo_x86 *);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* User space process size. 47bits minus one guard page.
|
* User space process size. 47bits minus one guard page.
|
||||||
*/
|
*/
|
||||||
@@ -51,10 +49,6 @@ union i387_union {
|
|||||||
struct i387_fxsave_struct fxsave;
|
struct i387_fxsave_struct fxsave;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Save the original ist values for checking stack pointers during debugging */
|
|
||||||
struct orig_ist {
|
|
||||||
unsigned long ist[7];
|
|
||||||
};
|
|
||||||
DECLARE_PER_CPU(struct orig_ist, orig_ist);
|
DECLARE_PER_CPU(struct orig_ist, orig_ist);
|
||||||
|
|
||||||
#define INIT_THREAD { \
|
#define INIT_THREAD { \
|
||||||
|
Reference in New Issue
Block a user