diff options
Diffstat (limited to 'include/asm-um')
-rw-r--r-- | include/asm-um/common.lds.S | 9 | ||||
-rw-r--r-- | include/asm-um/elf.h | 2 | ||||
-rw-r--r-- | include/asm-um/page.h | 2 | ||||
-rw-r--r-- | include/asm-um/pgtable-3level.h | 2 | ||||
-rw-r--r-- | include/asm-um/processor-generic.h | 10 |
5 files changed, 16 insertions, 9 deletions
diff --git a/include/asm-um/common.lds.S b/include/asm-um/common.lds.S index a3d6aab0e74d..1010153faaf9 100644 --- a/include/asm-um/common.lds.S +++ b/include/asm-um/common.lds.S | |||
@@ -8,11 +8,6 @@ | |||
8 | _sdata = .; | 8 | _sdata = .; |
9 | PROVIDE (sdata = .); | 9 | PROVIDE (sdata = .); |
10 | 10 | ||
11 | . = ALIGN(16); /* Exception table */ | ||
12 | __start___ex_table = .; | ||
13 | __ex_table : { *(__ex_table) } | ||
14 | __stop___ex_table = .; | ||
15 | |||
16 | RODATA | 11 | RODATA |
17 | 12 | ||
18 | .unprotected : { *(.unprotected) } | 13 | .unprotected : { *(.unprotected) } |
@@ -20,6 +15,10 @@ | |||
20 | PROVIDE (_unprotected_end = .); | 15 | PROVIDE (_unprotected_end = .); |
21 | 16 | ||
22 | . = ALIGN(4096); | 17 | . = ALIGN(4096); |
18 | __start___ex_table = .; | ||
19 | __ex_table : { *(__ex_table) } | ||
20 | __stop___ex_table = .; | ||
21 | |||
23 | __uml_setup_start = .; | 22 | __uml_setup_start = .; |
24 | .uml.setup.init : { *(.uml.setup.init) } | 23 | .uml.setup.init : { *(.uml.setup.init) } |
25 | __uml_setup_end = .; | 24 | __uml_setup_end = .; |
diff --git a/include/asm-um/elf.h b/include/asm-um/elf.h index b3a7258f9971..7908f8fe8231 100644 --- a/include/asm-um/elf.h +++ b/include/asm-um/elf.h | |||
@@ -13,7 +13,7 @@ extern long elf_aux_hwcap; | |||
13 | 13 | ||
14 | #define elf_check_arch(x) (1) | 14 | #define elf_check_arch(x) (1) |
15 | 15 | ||
16 | #ifdef CONFIG_64_BIT | 16 | #ifdef CONFIG_64BIT |
17 | #define ELF_CLASS ELFCLASS64 | 17 | #define ELF_CLASS ELFCLASS64 |
18 | #else | 18 | #else |
19 | #define ELF_CLASS ELFCLASS32 | 19 | #define ELF_CLASS ELFCLASS32 |
diff --git a/include/asm-um/page.h b/include/asm-um/page.h index 3620a08dc9f3..102eb3df1aaf 100644 --- a/include/asm-um/page.h +++ b/include/asm-um/page.h | |||
@@ -27,7 +27,7 @@ struct page; | |||
27 | #define clear_user_page(page, vaddr, pg) clear_page(page) | 27 | #define clear_user_page(page, vaddr, pg) clear_page(page) |
28 | #define copy_user_page(to, from, vaddr, pg) copy_page(to, from) | 28 | #define copy_user_page(to, from, vaddr, pg) copy_page(to, from) |
29 | 29 | ||
30 | #if defined(CONFIG_3_LEVEL_PGTABLES) && !defined(CONFIG_64_BIT) | 30 | #if defined(CONFIG_3_LEVEL_PGTABLES) && !defined(CONFIG_64BIT) |
31 | 31 | ||
32 | typedef struct { unsigned long pte_low, pte_high; } pte_t; | 32 | typedef struct { unsigned long pte_low, pte_high; } pte_t; |
33 | typedef struct { unsigned long long pmd; } pmd_t; | 33 | typedef struct { unsigned long long pmd; } pmd_t; |
diff --git a/include/asm-um/pgtable-3level.h b/include/asm-um/pgtable-3level.h index bdbc3f97e20b..d309f3a9e6f6 100644 --- a/include/asm-um/pgtable-3level.h +++ b/include/asm-um/pgtable-3level.h | |||
@@ -145,7 +145,7 @@ static inline pmd_t pfn_pmd(pfn_t page_nr, pgprot_t pgprot) | |||
145 | */ | 145 | */ |
146 | #define PTE_FILE_MAX_BITS 32 | 146 | #define PTE_FILE_MAX_BITS 32 |
147 | 147 | ||
148 | #ifdef CONFIG_64_BIT | 148 | #ifdef CONFIG_64BIT |
149 | 149 | ||
150 | #define pte_to_pgoff(p) ((p).pte >> 32) | 150 | #define pte_to_pgoff(p) ((p).pte >> 32) |
151 | 151 | ||
diff --git a/include/asm-um/processor-generic.h b/include/asm-um/processor-generic.h index 038ba6fc88b8..b953b1ad3b02 100644 --- a/include/asm-um/processor-generic.h +++ b/include/asm-um/processor-generic.h | |||
@@ -17,6 +17,10 @@ struct task_struct; | |||
17 | struct mm_struct; | 17 | struct mm_struct; |
18 | 18 | ||
19 | struct thread_struct { | 19 | struct thread_struct { |
20 | /* This flag is set to 1 before calling do_fork (and analyzed in | ||
21 | * copy_thread) to mark that we are begin called from userspace (fork / | ||
22 | * vfork / clone), and reset to 0 after. It is left to 0 when called | ||
23 | * from kernelspace (i.e. kernel_thread() or fork_idle(), as of 2.6.11). */ | ||
20 | int forking; | 24 | int forking; |
21 | int nsyscalls; | 25 | int nsyscalls; |
22 | struct pt_regs regs; | 26 | struct pt_regs regs; |
@@ -89,7 +93,11 @@ extern struct task_struct *alloc_task_struct(void); | |||
89 | extern void release_thread(struct task_struct *); | 93 | extern void release_thread(struct task_struct *); |
90 | extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags); | 94 | extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags); |
91 | extern void dump_thread(struct pt_regs *regs, struct user *u); | 95 | extern void dump_thread(struct pt_regs *regs, struct user *u); |
92 | extern void prepare_to_copy(struct task_struct *tsk); | 96 | |
97 | static inline void prepare_to_copy(struct task_struct *tsk) | ||
98 | { | ||
99 | } | ||
100 | |||
93 | 101 | ||
94 | extern unsigned long thread_saved_pc(struct task_struct *t); | 102 | extern unsigned long thread_saved_pc(struct task_struct *t); |
95 | 103 | ||