diff options
Diffstat (limited to 'arch/x86/include')
-rw-r--r-- | arch/x86/include/asm/generic-mman.h | 20 | ||||
-rw-r--r-- | arch/x86/include/asm/generic-module.h | 80 | ||||
-rw-r--r-- | arch/x86/include/asm/generic-scatterlist.h | 33 | ||||
-rw-r--r-- | arch/x86/include/asm/generic-types.h | 30 | ||||
-rw-r--r-- | arch/x86/include/asm/generic-ucontext.h | 18 |
5 files changed, 181 insertions, 0 deletions
diff --git a/arch/x86/include/asm/generic-mman.h b/arch/x86/include/asm/generic-mman.h new file mode 100644 index 00000000000..751af2550ed --- /dev/null +++ b/arch/x86/include/asm/generic-mman.h | |||
@@ -0,0 +1,20 @@ | |||
1 | #ifndef _ASM_X86_MMAN_H | ||
2 | #define _ASM_X86_MMAN_H | ||
3 | |||
4 | #include <asm-generic/mman-common.h> | ||
5 | |||
6 | #define MAP_32BIT 0x40 /* only give out 32bit addresses */ | ||
7 | |||
8 | #define MAP_GROWSDOWN 0x0100 /* stack-like segment */ | ||
9 | #define MAP_DENYWRITE 0x0800 /* ETXTBSY */ | ||
10 | #define MAP_EXECUTABLE 0x1000 /* mark it as an executable */ | ||
11 | #define MAP_LOCKED 0x2000 /* pages are locked */ | ||
12 | #define MAP_NORESERVE 0x4000 /* don't check for reservations */ | ||
13 | #define MAP_POPULATE 0x8000 /* populate (prefault) pagetables */ | ||
14 | #define MAP_NONBLOCK 0x10000 /* do not block on IO */ | ||
15 | #define MAP_STACK 0x20000 /* give out an address that is best suited for process/thread stacks */ | ||
16 | |||
17 | #define MCL_CURRENT 1 /* lock all current mappings */ | ||
18 | #define MCL_FUTURE 2 /* lock all future mappings */ | ||
19 | |||
20 | #endif /* _ASM_X86_MMAN_H */ | ||
diff --git a/arch/x86/include/asm/generic-module.h b/arch/x86/include/asm/generic-module.h new file mode 100644 index 00000000000..47d62743c4d --- /dev/null +++ b/arch/x86/include/asm/generic-module.h | |||
@@ -0,0 +1,80 @@ | |||
1 | #ifndef _ASM_X86_MODULE_H | ||
2 | #define _ASM_X86_MODULE_H | ||
3 | |||
4 | /* x86_32/64 are simple */ | ||
5 | struct mod_arch_specific {}; | ||
6 | |||
7 | #ifdef CONFIG_X86_32 | ||
8 | # define Elf_Shdr Elf32_Shdr | ||
9 | # define Elf_Sym Elf32_Sym | ||
10 | # define Elf_Ehdr Elf32_Ehdr | ||
11 | #else | ||
12 | # define Elf_Shdr Elf64_Shdr | ||
13 | # define Elf_Sym Elf64_Sym | ||
14 | # define Elf_Ehdr Elf64_Ehdr | ||
15 | #endif | ||
16 | |||
17 | #ifdef CONFIG_X86_64 | ||
18 | /* X86_64 does not define MODULE_PROC_FAMILY */ | ||
19 | #elif defined CONFIG_M386 | ||
20 | #define MODULE_PROC_FAMILY "386 " | ||
21 | #elif defined CONFIG_M486 | ||
22 | #define MODULE_PROC_FAMILY "486 " | ||
23 | #elif defined CONFIG_M586 | ||
24 | #define MODULE_PROC_FAMILY "586 " | ||
25 | #elif defined CONFIG_M586TSC | ||
26 | #define MODULE_PROC_FAMILY "586TSC " | ||
27 | #elif defined CONFIG_M586MMX | ||
28 | #define MODULE_PROC_FAMILY "586MMX " | ||
29 | #elif defined CONFIG_MCORE2 | ||
30 | #define MODULE_PROC_FAMILY "CORE2 " | ||
31 | #elif defined CONFIG_M686 | ||
32 | #define MODULE_PROC_FAMILY "686 " | ||
33 | #elif defined CONFIG_MPENTIUMII | ||
34 | #define MODULE_PROC_FAMILY "PENTIUMII " | ||
35 | #elif defined CONFIG_MPENTIUMIII | ||
36 | #define MODULE_PROC_FAMILY "PENTIUMIII " | ||
37 | #elif defined CONFIG_MPENTIUMM | ||
38 | #define MODULE_PROC_FAMILY "PENTIUMM " | ||
39 | #elif defined CONFIG_MPENTIUM4 | ||
40 | #define MODULE_PROC_FAMILY "PENTIUM4 " | ||
41 | #elif defined CONFIG_MK6 | ||
42 | #define MODULE_PROC_FAMILY "K6 " | ||
43 | #elif defined CONFIG_MK7 | ||
44 | #define MODULE_PROC_FAMILY "K7 " | ||
45 | #elif defined CONFIG_MK8 | ||
46 | #define MODULE_PROC_FAMILY "K8 " | ||
47 | #elif defined CONFIG_X86_ELAN | ||
48 | #define MODULE_PROC_FAMILY "ELAN " | ||
49 | #elif defined CONFIG_MCRUSOE | ||
50 | #define MODULE_PROC_FAMILY "CRUSOE " | ||
51 | #elif defined CONFIG_MEFFICEON | ||
52 | #define MODULE_PROC_FAMILY "EFFICEON " | ||
53 | #elif defined CONFIG_MWINCHIPC6 | ||
54 | #define MODULE_PROC_FAMILY "WINCHIPC6 " | ||
55 | #elif defined CONFIG_MWINCHIP3D | ||
56 | #define MODULE_PROC_FAMILY "WINCHIP3D " | ||
57 | #elif defined CONFIG_MCYRIXIII | ||
58 | #define MODULE_PROC_FAMILY "CYRIXIII " | ||
59 | #elif defined CONFIG_MVIAC3_2 | ||
60 | #define MODULE_PROC_FAMILY "VIAC3-2 " | ||
61 | #elif defined CONFIG_MVIAC7 | ||
62 | #define MODULE_PROC_FAMILY "VIAC7 " | ||
63 | #elif defined CONFIG_MGEODEGX1 | ||
64 | #define MODULE_PROC_FAMILY "GEODEGX1 " | ||
65 | #elif defined CONFIG_MGEODE_LX | ||
66 | #define MODULE_PROC_FAMILY "GEODE " | ||
67 | #else | ||
68 | #error unknown processor family | ||
69 | #endif | ||
70 | |||
71 | #ifdef CONFIG_X86_32 | ||
72 | # ifdef CONFIG_4KSTACKS | ||
73 | # define MODULE_STACKSIZE "4KSTACKS " | ||
74 | # else | ||
75 | # define MODULE_STACKSIZE "" | ||
76 | # endif | ||
77 | # define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_STACKSIZE | ||
78 | #endif | ||
79 | |||
80 | #endif /* _ASM_X86_MODULE_H */ | ||
diff --git a/arch/x86/include/asm/generic-scatterlist.h b/arch/x86/include/asm/generic-scatterlist.h new file mode 100644 index 00000000000..263d397d2ee --- /dev/null +++ b/arch/x86/include/asm/generic-scatterlist.h | |||
@@ -0,0 +1,33 @@ | |||
1 | #ifndef _ASM_X86_SCATTERLIST_H | ||
2 | #define _ASM_X86_SCATTERLIST_H | ||
3 | |||
4 | #include <asm/types.h> | ||
5 | |||
6 | struct scatterlist { | ||
7 | #ifdef CONFIG_DEBUG_SG | ||
8 | unsigned long sg_magic; | ||
9 | #endif | ||
10 | unsigned long page_link; | ||
11 | unsigned int offset; | ||
12 | unsigned int length; | ||
13 | dma_addr_t dma_address; | ||
14 | unsigned int dma_length; | ||
15 | }; | ||
16 | |||
17 | #define ARCH_HAS_SG_CHAIN | ||
18 | #define ISA_DMA_THRESHOLD (0x00ffffff) | ||
19 | |||
20 | /* | ||
21 | * These macros should be used after a pci_map_sg call has been done | ||
22 | * to get bus addresses of each of the SG entries and their lengths. | ||
23 | * You should only work with the number of sg entries pci_map_sg | ||
24 | * returns. | ||
25 | */ | ||
26 | #define sg_dma_address(sg) ((sg)->dma_address) | ||
27 | #ifdef CONFIG_X86_32 | ||
28 | # define sg_dma_len(sg) ((sg)->length) | ||
29 | #else | ||
30 | # define sg_dma_len(sg) ((sg)->dma_length) | ||
31 | #endif | ||
32 | |||
33 | #endif /* _ASM_X86_SCATTERLIST_H */ | ||
diff --git a/arch/x86/include/asm/generic-types.h b/arch/x86/include/asm/generic-types.h new file mode 100644 index 00000000000..09b97745772 --- /dev/null +++ b/arch/x86/include/asm/generic-types.h | |||
@@ -0,0 +1,30 @@ | |||
1 | #ifndef _ASM_X86_TYPES_H | ||
2 | #define _ASM_X86_TYPES_H | ||
3 | |||
4 | #include <asm-generic/int-ll64.h> | ||
5 | |||
6 | #ifndef __ASSEMBLY__ | ||
7 | |||
8 | typedef unsigned short umode_t; | ||
9 | |||
10 | #endif /* __ASSEMBLY__ */ | ||
11 | |||
12 | /* | ||
13 | * These aren't exported outside the kernel to avoid name space clashes | ||
14 | */ | ||
15 | #ifdef __KERNEL__ | ||
16 | |||
17 | #ifndef __ASSEMBLY__ | ||
18 | |||
19 | typedef u64 dma64_addr_t; | ||
20 | #if defined(CONFIG_X86_64) || defined(CONFIG_HIGHMEM64G) | ||
21 | /* DMA addresses come in 32-bit and 64-bit flavours. */ | ||
22 | typedef u64 dma_addr_t; | ||
23 | #else | ||
24 | typedef u32 dma_addr_t; | ||
25 | #endif | ||
26 | |||
27 | #endif /* __ASSEMBLY__ */ | ||
28 | #endif /* __KERNEL__ */ | ||
29 | |||
30 | #endif /* _ASM_X86_TYPES_H */ | ||
diff --git a/arch/x86/include/asm/generic-ucontext.h b/arch/x86/include/asm/generic-ucontext.h new file mode 100644 index 00000000000..87324cf439d --- /dev/null +++ b/arch/x86/include/asm/generic-ucontext.h | |||
@@ -0,0 +1,18 @@ | |||
1 | #ifndef _ASM_X86_UCONTEXT_H | ||
2 | #define _ASM_X86_UCONTEXT_H | ||
3 | |||
4 | #define UC_FP_XSTATE 0x1 /* indicates the presence of extended state | ||
5 | * information in the memory layout pointed | ||
6 | * by the fpstate pointer in the ucontext's | ||
7 | * sigcontext struct (uc_mcontext). | ||
8 | */ | ||
9 | |||
10 | struct ucontext { | ||
11 | unsigned long uc_flags; | ||
12 | struct ucontext *uc_link; | ||
13 | stack_t uc_stack; | ||
14 | struct sigcontext uc_mcontext; | ||
15 | sigset_t uc_sigmask; /* mask last for extensibility */ | ||
16 | }; | ||
17 | |||
18 | #endif /* _ASM_X86_UCONTEXT_H */ | ||