X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fasm-i386%2Fprocessor.h;h=5d06e6bd6ba0bff037197c5ff047d66f47faa9fd;hb=6d1d07e41a1de478a0da3cc14b4a8054ef09931c;hp=7149784ed40bbde077e6ff0dbc68fc8cabead1b6;hpb=ecd02dddd1d5bfc2141cbd0e205a53fb9d849c9e;p=linux-2.6 diff --git a/include/asm-i386/processor.h b/include/asm-i386/processor.h index 7149784ed4..5d06e6bd6b 100644 --- a/include/asm-i386/processor.h +++ b/include/asm-i386/processor.h @@ -98,6 +98,7 @@ extern struct cpuinfo_x86 cpu_data[]; #endif extern int phys_proc_id[NR_CPUS]; +extern int cpu_core_id[NR_CPUS]; extern char ignore_fpu_irq; extern void identify_cpu(struct cpuinfo_x86 *); @@ -500,12 +501,16 @@ static inline void load_esp0(struct tss_struct *tss, struct thread_struct *threa } while (0) /* - * This special macro can be used to load a debugging register + * These special macros can be used to get or set a debugging register */ -#define loaddebug(thread,register) \ - __asm__("movl %0,%%db" #register \ - : /* no output */ \ - :"r" ((thread)->debugreg[register])) +#define get_debugreg(var, register) \ + __asm__("movl %%db" #register ", %0" \ + :"=r" (var)) +#define set_debugreg(value, register) \ + __asm__("movl %0,%%db" #register \ + : /* no output */ \ + :"r" (value)) + /* Forward declaration, a strange C thing */ struct task_struct; @@ -686,5 +691,15 @@ extern void select_idle_routine(const struct cpuinfo_x86 *c); #define cache_line_size() (boot_cpu_data.x86_cache_alignment) extern unsigned long boot_option_idle_override; +extern void enable_sep_cpu(void); +extern int sysenter_setup(void); + +#ifdef CONFIG_MTRR +extern void mtrr_ap_init(void); +extern void mtrr_bp_init(void); +#else +#define mtrr_ap_init() do {} while (0) +#define mtrr_bp_init() do {} while (0) +#endif #endif /* __ASM_I386_PROCESSOR_H */