diff options
Diffstat (limited to 'arch/um/include/as-layout.h')
-rw-r--r-- | arch/um/include/as-layout.h | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/arch/um/include/as-layout.h b/arch/um/include/as-layout.h index a2008f550fee..606bb5c7fdf6 100644 --- a/arch/um/include/as-layout.h +++ b/arch/um/include/as-layout.h | |||
@@ -29,21 +29,10 @@ | |||
29 | #define _AC(X, Y) __AC(X, Y) | 29 | #define _AC(X, Y) __AC(X, Y) |
30 | #endif | 30 | #endif |
31 | 31 | ||
32 | /* | 32 | #define STUB_START _AC(, 0x100000) |
33 | * The "- 1"'s are to avoid gcc complaining about integer overflows | 33 | #define STUB_CODE _AC((unsigned long), STUB_START) |
34 | * and unrepresentable decimal constants. With 3-level page tables, | 34 | #define STUB_DATA _AC((unsigned long), STUB_CODE + UM_KERN_PAGE_SIZE) |
35 | * TASK_SIZE is 0x80000000, which gets turned into its signed decimal | 35 | #define STUB_END _AC((unsigned long), STUB_DATA + UM_KERN_PAGE_SIZE) |
36 | * equivalent in asm-offsets.s. gcc then complains about that being | ||
37 | * unsigned only in C90. To avoid that, UM_TASK_SIZE is defined as | ||
38 | * TASK_SIZE - 1. To compensate, we need to add the 1 back here. | ||
39 | * However, adding it back to UM_TASK_SIZE produces more gcc | ||
40 | * complaints. So, I adjust the thing being subtracted from | ||
41 | * UM_TASK_SIZE instead. Bah. | ||
42 | */ | ||
43 | #define STUB_CODE _AC((unsigned long), \ | ||
44 | UM_TASK_SIZE - (2 * UM_KERN_PAGE_SIZE - 1)) | ||
45 | #define STUB_DATA _AC((unsigned long), UM_TASK_SIZE - (UM_KERN_PAGE_SIZE - 1)) | ||
46 | #define STUB_START _AC(, STUB_CODE) | ||
47 | 36 | ||
48 | #ifndef __ASSEMBLY__ | 37 | #ifndef __ASSEMBLY__ |
49 | 38 | ||