processor.h (7b179e251ba089898b4e8e6d065be8ae2c0a4a3e) | processor.h (04402116846f36adea9503d7cd5104a7ed27a1a6) |
---|---|
1#ifndef _ASM_X86_PROCESSOR_H 2#define _ASM_X86_PROCESSOR_H 3 4#include <asm/processor-flags.h> 5 6/* Forward declaration, a strange C thing */ 7struct task_struct; 8struct mm_struct; --- 66 unchanged lines hidden (view full) --- 75extern u16 __read_mostly tlb_lli_4m[NR_INFO]; 76extern u16 __read_mostly tlb_lld_4k[NR_INFO]; 77extern u16 __read_mostly tlb_lld_2m[NR_INFO]; 78extern u16 __read_mostly tlb_lld_4m[NR_INFO]; 79extern u16 __read_mostly tlb_lld_1g[NR_INFO]; 80 81/* 82 * CPU type and hardware bug flags. Kept separately for each CPU. | 1#ifndef _ASM_X86_PROCESSOR_H 2#define _ASM_X86_PROCESSOR_H 3 4#include <asm/processor-flags.h> 5 6/* Forward declaration, a strange C thing */ 7struct task_struct; 8struct mm_struct; --- 66 unchanged lines hidden (view full) --- 75extern u16 __read_mostly tlb_lli_4m[NR_INFO]; 76extern u16 __read_mostly tlb_lld_4k[NR_INFO]; 77extern u16 __read_mostly tlb_lld_2m[NR_INFO]; 78extern u16 __read_mostly tlb_lld_4m[NR_INFO]; 79extern u16 __read_mostly tlb_lld_1g[NR_INFO]; 80 81/* 82 * CPU type and hardware bug flags. Kept separately for each CPU. |
83 * Members of this structure are referenced in head.S, so think twice | 83 * Members of this structure are referenced in head_32.S, so think twice |
84 * before touching them. [mj] 85 */ 86 87struct cpuinfo_x86 { 88 __u8 x86; /* CPU family */ 89 __u8 x86_vendor; /* CPU vendor */ 90 __u8 x86_model; 91 __u8 x86_mask; 92#ifdef CONFIG_X86_32 93 char wp_works_ok; /* It doesn't on 386's */ | 84 * before touching them. [mj] 85 */ 86 87struct cpuinfo_x86 { 88 __u8 x86; /* CPU family */ 89 __u8 x86_vendor; /* CPU vendor */ 90 __u8 x86_model; 91 __u8 x86_mask; 92#ifdef CONFIG_X86_32 93 char wp_works_ok; /* It doesn't on 386's */ |
94 95 /* Problems on some 486Dx4's and old 386's: */ 96 char rfu; 97 char pad0; 98 char pad1; | |
99#else 100 /* Number of 4K pages in DTLB/ITLB combined(in pages): */ 101 int x86_tlbsize; 102#endif 103 __u8 x86_virt_bits; 104 __u8 x86_phys_bits; 105 /* CPUID returned core id bits: */ 106 __u8 x86_coreid_bits; --- 192 unchanged lines hidden (view full) --- 299 u64 sp2; 300 u64 reserved2; 301 u64 ist[7]; 302 u32 reserved3; 303 u32 reserved4; 304 u16 reserved5; 305 u16 io_bitmap_base; 306 | 94#else 95 /* Number of 4K pages in DTLB/ITLB combined(in pages): */ 96 int x86_tlbsize; 97#endif 98 __u8 x86_virt_bits; 99 __u8 x86_phys_bits; 100 /* CPUID returned core id bits: */ 101 __u8 x86_coreid_bits; --- 192 unchanged lines hidden (view full) --- 294 u64 sp2; 295 u64 reserved2; 296 u64 ist[7]; 297 u32 reserved3; 298 u32 reserved4; 299 u16 reserved5; 300 u16 io_bitmap_base; 301 |
307} __attribute__((packed)) ____cacheline_aligned; | 302} __attribute__((packed)); |
308#endif 309 310/* 311 * IO-bitmap sizes: 312 */ 313#define IO_BITMAP_BITS 65536 314#define IO_BITMAP_BYTES (IO_BITMAP_BITS/8) 315#define IO_BITMAP_LONGS (IO_BITMAP_BYTES/sizeof(long)) --- 21 unchanged lines hidden (view full) --- 337 unsigned long SYSENTER_stack_canary; 338 unsigned long SYSENTER_stack[64]; 339#endif 340 341} ____cacheline_aligned; 342 343DECLARE_PER_CPU_SHARED_ALIGNED(struct tss_struct, cpu_tss); 344 | 303#endif 304 305/* 306 * IO-bitmap sizes: 307 */ 308#define IO_BITMAP_BITS 65536 309#define IO_BITMAP_BYTES (IO_BITMAP_BITS/8) 310#define IO_BITMAP_LONGS (IO_BITMAP_BYTES/sizeof(long)) --- 21 unchanged lines hidden (view full) --- 332 unsigned long SYSENTER_stack_canary; 333 unsigned long SYSENTER_stack[64]; 334#endif 335 336} ____cacheline_aligned; 337 338DECLARE_PER_CPU_SHARED_ALIGNED(struct tss_struct, cpu_tss); 339 |
340/* 341 * sizeof(unsigned long) coming from an extra "long" at the end 342 * of the iobitmap. 343 * 344 * -1? seg base+limit should be pointing to the address of the 345 * last valid byte 346 */ 347#define __KERNEL_TSS_LIMIT \ 348 (IO_BITMAP_OFFSET + IO_BITMAP_BYTES + sizeof(unsigned long) - 1) 349 |
|
345#ifdef CONFIG_X86_32 346DECLARE_PER_CPU(unsigned long, cpu_current_top_of_stack); 347#endif 348 349/* 350 * Save the original ist values for checking stack pointers during debugging 351 */ 352struct orig_ist { --- 573 unchanged lines hidden --- | 350#ifdef CONFIG_X86_32 351DECLARE_PER_CPU(unsigned long, cpu_current_top_of_stack); 352#endif 353 354/* 355 * Save the original ist values for checking stack pointers during debugging 356 */ 357struct orig_ist { --- 573 unchanged lines hidden --- |