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 ---