diff options
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kernel/head_32.S | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S index 53eeb226657c..7e429c99c728 100644 --- a/arch/x86/kernel/head_32.S +++ b/arch/x86/kernel/head_32.S | |||
@@ -62,9 +62,16 @@ | |||
62 | #define PAGE_TABLE_SIZE(pages) ((pages) / PTRS_PER_PGD) | 62 | #define PAGE_TABLE_SIZE(pages) ((pages) / PTRS_PER_PGD) |
63 | #endif | 63 | #endif |
64 | 64 | ||
65 | /* Number of possible pages in the lowmem region */ | 65 | /* |
66 | LOWMEM_PAGES = (((1<<32) - __PAGE_OFFSET) >> PAGE_SHIFT) | 66 | * Number of possible pages in the lowmem region. |
67 | 67 | * | |
68 | * We shift 2 by 31 instead of 1 by 32 to the left in order to avoid a | ||
69 | * gas warning about overflowing shift count when gas has been compiled | ||
70 | * with only a host target support using a 32-bit type for internal | ||
71 | * representation. | ||
72 | */ | ||
73 | LOWMEM_PAGES = (((2<<31) - __PAGE_OFFSET) >> PAGE_SHIFT) | ||
74 | |||
68 | /* Enough space to fit pagetables for the low memory linear map */ | 75 | /* Enough space to fit pagetables for the low memory linear map */ |
69 | MAPPING_BEYOND_END = PAGE_TABLE_SIZE(LOWMEM_PAGES) << PAGE_SHIFT | 76 | MAPPING_BEYOND_END = PAGE_TABLE_SIZE(LOWMEM_PAGES) << PAGE_SHIFT |
70 | 77 | ||