diff options
Diffstat (limited to 'arch/x86/include/asm/processor.h')
| -rw-r--r-- | arch/x86/include/asm/processor.h | 54 | 
1 files changed, 17 insertions, 37 deletions
diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h index 888184b2fc8..22224b3b43b 100644 --- a/arch/x86/include/asm/processor.h +++ b/arch/x86/include/asm/processor.h @@ -89,12 +89,8 @@ struct cpuinfo_x86 {  	char			wp_works_ok;	/* It doesn't on 386's */  	/* Problems on some 486Dx4's and old 386's: */ -	char			hlt_works_ok;  	char			hard_math;  	char			rfu; -	char			fdiv_bug; -	char			f00f_bug; -	char			coma_bug;  	char			pad0;  #else  	/* Number of 4K pages in DTLB/ITLB combined(in pages): */ @@ -108,7 +104,7 @@ struct cpuinfo_x86 {  	__u32			extended_cpuid_level;  	/* Maximum supported CPUID level, -1=no CPUID: */  	int			cpuid_level; -	__u32			x86_capability[NCAPINTS]; +	__u32			x86_capability[NCAPINTS + NBUGINTS];  	char			x86_vendor_id[16];  	char			x86_model_id[64];  	/* in KB - valid for CPUS which support this call: */ @@ -165,15 +161,6 @@ DECLARE_PER_CPU_SHARED_ALIGNED(struct cpuinfo_x86, cpu_info);  extern const struct seq_operations cpuinfo_op; -static inline int hlt_works(int cpu) -{ -#ifdef CONFIG_X86_32 -	return cpu_data(cpu).hlt_works_ok; -#else -	return 1; -#endif -} -  #define cache_line_size()	(boot_cpu_data.x86_cache_alignment)  extern void cpu_detect(struct cpuinfo_x86 *c); @@ -190,6 +177,14 @@ extern void init_amd_cacheinfo(struct cpuinfo_x86 *c);  extern void detect_extended_topology(struct cpuinfo_x86 *c);  extern void detect_ht(struct cpuinfo_x86 *c); +#ifdef CONFIG_X86_32 +extern int have_cpuid_p(void); +#else +static inline int have_cpuid_p(void) +{ +	return 1; +} +#endif  static inline void native_cpuid(unsigned int *eax, unsigned int *ebx,  				unsigned int *ecx, unsigned int *edx)  { @@ -725,12 +720,13 @@ extern unsigned long		boot_option_idle_override;  extern bool			amd_e400_c1e_detected;  enum idle_boot_override {IDLE_NO_OVERRIDE=0, IDLE_HALT, IDLE_NOMWAIT, -			 IDLE_POLL, IDLE_FORCE_MWAIT}; +			 IDLE_POLL};  extern void enable_sep_cpu(void);  extern int sysenter_setup(void);  extern void early_trap_init(void); +void early_trap_pf_init(void);  /* Defined in head.S */  extern struct desc_ptr		early_gdt_descr; @@ -943,7 +939,7 @@ extern void start_thread(struct pt_regs *regs, unsigned long new_ip,  extern int get_tsc_mode(unsigned long adr);  extern int set_tsc_mode(unsigned int val); -extern int amd_get_nb_id(int cpu); +extern u16 amd_get_nb_id(int cpu);  struct aperfmperf {  	u64 aperf, mperf; @@ -974,31 +970,15 @@ unsigned long calc_aperfmperf_ratio(struct aperfmperf *old,  	return ratio;  } -/* - * AMD errata checking - */ -#ifdef CONFIG_CPU_SUP_AMD -extern const int amd_erratum_383[]; -extern const int amd_erratum_400[]; -extern bool cpu_has_amd_erratum(const int *); - -#define AMD_LEGACY_ERRATUM(...)		{ -1, __VA_ARGS__, 0 } -#define AMD_OSVW_ERRATUM(osvw_id, ...)	{ osvw_id, __VA_ARGS__, 0 } -#define AMD_MODEL_RANGE(f, m_start, s_start, m_end, s_end) \ -	((f << 24) | (m_start << 16) | (s_start << 12) | (m_end << 4) | (s_end)) -#define AMD_MODEL_RANGE_FAMILY(range)	(((range) >> 24) & 0xff) -#define AMD_MODEL_RANGE_START(range)	(((range) >> 12) & 0xfff) -#define AMD_MODEL_RANGE_END(range)	((range) & 0xfff) - -#else -#define cpu_has_amd_erratum(x)	(false) -#endif /* CONFIG_CPU_SUP_AMD */ -  extern unsigned long arch_align_stack(unsigned long sp);  extern void free_init_pages(char *what, unsigned long begin, unsigned long end);  void default_idle(void); -bool set_pm_idle_to_default(void); +#ifdef	CONFIG_XEN +bool xen_set_default_idle(void); +#else +#define xen_set_default_idle 0 +#endif  void stop_this_cpu(void *dummy);  |