111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/**************************************************************************** 211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert **************************************************************************** 311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** This header was automatically generated from a Linux kernel header 511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** of the same name, to make information necessary for userspace to 611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** call into the kernel available to libc. It contains only constants, 711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** structures, and macros generated from the original header, and thus, 811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** contains no copyrightable information. 911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** To edit the content of this header, modify the corresponding 1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** source file (e.g. under external/kernel-headers/original/) then 1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** run bionic/libc/kernel/tools/update_all.py 1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** Any manual change here will be lost the next time this script will 1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** be run. You've been warned! 1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert **************************************************************************** 1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/ 1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef __ASM_I386_PROCESSOR_H 2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __ASM_I386_PROCESSOR_H 2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <asm/vm86.h> 2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <asm/math_emu.h> 2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <asm/segment.h> 2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <asm/page.h> 2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <asm/types.h> 2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <asm/sigcontext.h> 2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <asm/cpufeature.h> 3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <asm/msr.h> 3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <asm/system.h> 3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/cache.h> 3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/threads.h> 3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <asm/percpu.h> 3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/cpumask.h> 3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/init.h> 3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <asm/processor-flags.h> 4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct desc_struct { 4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long a,b; 4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define desc_empty(desc) (!((desc)->a | (desc)->b)) 4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define desc_equal(desc1, desc2) (((desc1)->a == (desc2)->a) && ((desc1)->b == (desc2)->b)) 4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define current_text_addr() ({ void *pc; __asm__("movl $1f,%0\n1:":"=g" (pc)); pc; }) 4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct cpuinfo_x86 { 4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 x86; 5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 x86_vendor; 5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 x86_model; 5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 x86_mask; 5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char wp_works_ok; 5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char hlt_works_ok; 5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char hard_math; 5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char rfu; 5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int cpuid_level; 6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long x86_capability[NCAPINTS]; 6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char x86_vendor_id[16]; 6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char x86_model_id[64]; 6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int x86_cache_size; 6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int x86_cache_alignment; 6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char fdiv_bug; 6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char f00f_bug; 6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char coma_bug; 7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char pad0; 7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int x86_power; 7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long loops_per_jiffy; 7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char x86_max_cores; 7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char apicid; 7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short x86_clflush_size; 7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} __attribute__((__aligned__(SMP_CACHE_BYTES))); 7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define X86_VENDOR_INTEL 0 8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define X86_VENDOR_CYRIX 1 8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define X86_VENDOR_AMD 2 8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define X86_VENDOR_UMC 3 8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define X86_VENDOR_NEXGEN 4 8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define X86_VENDOR_CENTAUR 5 8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define X86_VENDOR_TRANSMETA 7 8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define X86_VENDOR_NSC 8 8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define X86_VENDOR_NUM 9 9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define X86_VENDOR_UNKNOWN 0xff 9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define cpu_data(cpu) boot_cpu_data 9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define current_cpu_data boot_cpu_data 9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define load_cr3(pgdir) write_cr3(__pa(pgdir)) 9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define TASK_SIZE (PAGE_OFFSET) 9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define TASK_UNMAPPED_BASE (PAGE_ALIGN(TASK_SIZE / 3)) 9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HAVE_ARCH_PICK_MMAP_LAYOUT 9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IO_BITMAP_BITS 65536 10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IO_BITMAP_BYTES (IO_BITMAP_BITS/8) 10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IO_BITMAP_LONGS (IO_BITMAP_BYTES/sizeof(long)) 10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IO_BITMAP_OFFSET offsetof(struct tss_struct,io_bitmap) 10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INVALID_IO_BITMAP_OFFSET 0x8000 10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INVALID_IO_BITMAP_OFFSET_LAZY 0x9000 10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct i387_fsave_struct { 10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long cwd; 10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long swd; 11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long twd; 11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long fip; 11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long fcs; 11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long foo; 11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long fos; 11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long st_space[20]; 11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long status; 11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct i387_fxsave_struct { 12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short cwd; 12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short swd; 12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short twd; 12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short fop; 12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long fip; 12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long fcs; 12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long foo; 13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long fos; 13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long mxcsr; 13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long mxcsr_mask; 13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long st_space[32]; 13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long xmm_space[32]; 13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long padding[56]; 13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} __attribute__ ((aligned (16))); 13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct i387_soft_struct { 14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long cwd; 14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long swd; 14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long twd; 14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long fip; 14511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long fcs; 14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long foo; 14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long fos; 14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long st_space[20]; 15011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char ftop, changed, lookahead, no_update, rm, alimit; 15111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct info *info; 15211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long entry_eip; 15311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 15411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 15511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertunion i387_union { 15611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct i387_fsave_struct fsave; 15711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct i387_fxsave_struct fxsave; 15811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 15911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct i387_soft_struct soft; 16011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 16111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct { 16211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long seg; 16311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 16411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} mm_segment_t; 16511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct thread_struct; 16611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct i386_hw_tss { 16711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short back_link,__blh; 16811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 16911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long esp0; 17011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short ss0,__ss0h; 17111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long esp1; 17211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short ss1,__ss1h; 17311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 17411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long esp2; 17511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short ss2,__ss2h; 17611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long __cr3; 17711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long eip; 17811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 17911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long eflags; 18011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long eax,ecx,edx,ebx; 18111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long esp; 18211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long ebp; 18311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 18411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long esi; 18511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long edi; 18611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short es, __esh; 18711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short cs, __csh; 18811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 18911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short ss, __ssh; 19011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short ds, __dsh; 19111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short fs, __fsh; 19211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short gs, __gsh; 19311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 19411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short ldt, __ldth; 19511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short trace, io_bitmap_base; 19611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} __attribute__((packed)); 19711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct tss_struct { 19811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 19911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct i386_hw_tss x86_tss; 20011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long io_bitmap[IO_BITMAP_LONGS + 1]; 20111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long io_bitmap_max; 20211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct thread_struct *io_bitmap_owner; 20311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 20411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long __cacheline_filler[35]; 20511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long stack[64]; 20611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} __attribute__((packed)); 20711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ARCH_MIN_TASKALIGN 16 20811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 20911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct thread_struct { 21011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct desc_struct tls_array[GDT_ENTRY_TLS_ENTRIES]; 21111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long esp0; 21211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long sysenter_cs; 21311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 21411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long eip; 21511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long esp; 21611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long fs; 21711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long gs; 21811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 21911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long debugreg[8]; 22011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long cr2, trap_no, error_code; 22111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert union i387_union i387; 22211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct vm86_struct __user * vm86_info; 22311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 22411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long screen_bitmap; 22511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long v86flags, v86mask, saved_esp0; 22611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int saved_fs, saved_gs; 22711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long *io_bitmap_ptr; 22811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 22911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long iopl; 23011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long io_bitmap_max; 23111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 23211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INIT_THREAD { .esp0 = sizeof(init_stack) + (long)&init_stack, .vm86_info = NULL, .sysenter_cs = __KERNEL_CS, .io_bitmap_ptr = NULL, .fs = __KERNEL_PERCPU, } 23311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 23411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INIT_TSS { .x86_tss = { .esp0 = sizeof(init_stack) + (long)&init_stack, .ss0 = __KERNEL_DS, .ss1 = __KERNEL_CS, .io_bitmap_base = INVALID_IO_BITMAP_OFFSET, }, .io_bitmap = { [ 0 ... IO_BITMAP_LONGS] = ~0 }, } 23511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define start_thread(regs, new_eip, new_esp) do { __asm__("movl %0,%%gs": :"r" (0)); regs->xfs = 0; set_fs(USER_DS); regs->xds = __USER_DS; regs->xes = __USER_DS; regs->xss = __USER_DS; regs->xcs = __USER_CS; regs->eip = new_eip; regs->esp = new_esp; } while (0) 23611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct task_struct; 23711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct mm_struct; 23811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 23911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define THREAD_SIZE_LONGS (THREAD_SIZE/sizeof(unsigned long)) 24011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KSTK_TOP(info) ({ unsigned long *__ptr = (unsigned long *)(info); (unsigned long)(&__ptr[THREAD_SIZE_LONGS]); }) 24111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define task_pt_regs(task) ({ struct pt_regs *__regs__; __regs__ = (struct pt_regs *)(KSTK_TOP(task_stack_page(task))-8); __regs__ - 1; }) 24211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KSTK_EIP(task) (task_pt_regs(task)->eip) 24311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KSTK_ESP(task) (task_pt_regs(task)->esp) 24511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct microcode_header { 24611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int hdrver; 24711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int rev; 24811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int date; 25011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int sig; 25111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int cksum; 25211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int ldrver; 25311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 25411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int pf; 25511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int datasize; 25611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int totalsize; 25711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int reserved[3]; 25811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 25911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 26011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct microcode { 26111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct microcode_header hdr; 26211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int bits[0]; 26311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 26411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 26511cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct microcode microcode_t; 26611cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct microcode_header microcode_header_t; 26711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct extended_signature { 26811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 26911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int sig; 27011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int pf; 27111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int cksum; 27211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 27311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 27411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct extended_sigtable { 27511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int count; 27611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int cksum; 27711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int reserved[3]; 27811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 27911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct extended_signature sigs[0]; 28011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 28111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define cpu_relax() rep_nop() 28211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define paravirt_enabled() 0 28311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 28411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __cpuid native_cpuid 28511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define get_debugreg(var, register) (var) = native_get_debugreg(register) 28611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define set_debugreg(value, register) native_set_debugreg(register, value) 28711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define set_iopl_mask native_set_iopl_mask 28811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 28911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define GENERIC_NOP1 ".byte 0x90\n" 29011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define GENERIC_NOP2 ".byte 0x89,0xf6\n" 29111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define GENERIC_NOP3 ".byte 0x8d,0x76,0x00\n" 29211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define GENERIC_NOP4 ".byte 0x8d,0x74,0x26,0x00\n" 29311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define GENERIC_NOP5 GENERIC_NOP1 GENERIC_NOP4 29511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define GENERIC_NOP6 ".byte 0x8d,0xb6,0x00,0x00,0x00,0x00\n" 29611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define GENERIC_NOP7 ".byte 0x8d,0xb4,0x26,0x00,0x00,0x00,0x00\n" 29711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define GENERIC_NOP8 GENERIC_NOP1 GENERIC_NOP7 29811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K8_NOP1 GENERIC_NOP1 30011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K8_NOP2 ".byte 0x66,0x90\n" 30111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K8_NOP3 ".byte 0x66,0x66,0x90\n" 30211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K8_NOP4 ".byte 0x66,0x66,0x66,0x90\n" 30311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 30411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K8_NOP5 K8_NOP3 K8_NOP2 30511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K8_NOP6 K8_NOP3 K8_NOP3 30611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K8_NOP7 K8_NOP4 K8_NOP3 30711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K8_NOP8 K8_NOP4 K8_NOP4 30811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 30911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K7_NOP1 GENERIC_NOP1 31011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K7_NOP2 ".byte 0x8b,0xc0\n" 31111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K7_NOP3 ".byte 0x8d,0x04,0x20\n" 31211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K7_NOP4 ".byte 0x8d,0x44,0x20,0x00\n" 31311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 31411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K7_NOP5 K7_NOP4 ASM_NOP1 31511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K7_NOP6 ".byte 0x8d,0x80,0,0,0,0\n" 31611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K7_NOP7 ".byte 0x8D,0x04,0x05,0,0,0,0\n" 31711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define K7_NOP8 K7_NOP7 ASM_NOP1 31811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 31911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define P6_NOP1 GENERIC_NOP1 32011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define P6_NOP2 ".byte 0x66,0x90\n" 32111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define P6_NOP3 ".byte 0x0f,0x1f,0x00\n" 32211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define P6_NOP4 ".byte 0x0f,0x1f,0x40,0\n" 32311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 32411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define P6_NOP5 ".byte 0x0f,0x1f,0x44,0x00,0\n" 32511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define P6_NOP6 ".byte 0x66,0x0f,0x1f,0x44,0x00,0\n" 32611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define P6_NOP7 ".byte 0x0f,0x1f,0x80,0,0,0,0\n" 32711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define P6_NOP8 ".byte 0x0f,0x1f,0x84,0x00,0,0,0,0\n" 32811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 32911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ASM_NOP1 GENERIC_NOP1 33011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ASM_NOP2 GENERIC_NOP2 33111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ASM_NOP3 GENERIC_NOP3 33211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ASM_NOP4 GENERIC_NOP4 33311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 33411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ASM_NOP5 GENERIC_NOP5 33511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ASM_NOP6 GENERIC_NOP6 33611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ASM_NOP7 GENERIC_NOP7 33711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ASM_NOP8 GENERIC_NOP8 33811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 33911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ASM_NOP_MAX 8 34011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ARCH_HAS_PREFETCH 34111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ARCH_HAS_PREFETCH 34211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ARCH_HAS_PREFETCHW 34311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ARCH_HAS_SPINLOCK_PREFETCH 34511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define spin_lock_prefetch(x) prefetchw(x) 34611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define cache_line_size() (boot_cpu_data.x86_cache_alignment) 34711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 34811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 349