diff options
Diffstat (limited to 'include/linux/bootmem.h')
-rw-r--r-- | include/linux/bootmem.h | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/include/linux/bootmem.h b/include/linux/bootmem.h index 01eca1794e14..ab344a521105 100644 --- a/include/linux/bootmem.h +++ b/include/linux/bootmem.h | |||
@@ -99,24 +99,31 @@ extern void *__alloc_bootmem_low_node(pg_data_t *pgdat, | |||
99 | unsigned long align, | 99 | unsigned long align, |
100 | unsigned long goal); | 100 | unsigned long goal); |
101 | 101 | ||
102 | #ifdef CONFIG_NO_BOOTMEM | ||
103 | /* We are using top down, so it is safe to use 0 here */ | ||
104 | #define BOOTMEM_LOW_LIMIT 0 | ||
105 | #else | ||
106 | #define BOOTMEM_LOW_LIMIT __pa(MAX_DMA_ADDRESS) | ||
107 | #endif | ||
108 | |||
102 | #define alloc_bootmem(x) \ | 109 | #define alloc_bootmem(x) \ |
103 | __alloc_bootmem(x, SMP_CACHE_BYTES, __pa(MAX_DMA_ADDRESS)) | 110 | __alloc_bootmem(x, SMP_CACHE_BYTES, BOOTMEM_LOW_LIMIT) |
104 | #define alloc_bootmem_align(x, align) \ | 111 | #define alloc_bootmem_align(x, align) \ |
105 | __alloc_bootmem(x, align, __pa(MAX_DMA_ADDRESS)) | 112 | __alloc_bootmem(x, align, BOOTMEM_LOW_LIMIT) |
106 | #define alloc_bootmem_nopanic(x) \ | 113 | #define alloc_bootmem_nopanic(x) \ |
107 | __alloc_bootmem_nopanic(x, SMP_CACHE_BYTES, __pa(MAX_DMA_ADDRESS)) | 114 | __alloc_bootmem_nopanic(x, SMP_CACHE_BYTES, BOOTMEM_LOW_LIMIT) |
108 | #define alloc_bootmem_pages(x) \ | 115 | #define alloc_bootmem_pages(x) \ |
109 | __alloc_bootmem(x, PAGE_SIZE, __pa(MAX_DMA_ADDRESS)) | 116 | __alloc_bootmem(x, PAGE_SIZE, BOOTMEM_LOW_LIMIT) |
110 | #define alloc_bootmem_pages_nopanic(x) \ | 117 | #define alloc_bootmem_pages_nopanic(x) \ |
111 | __alloc_bootmem_nopanic(x, PAGE_SIZE, __pa(MAX_DMA_ADDRESS)) | 118 | __alloc_bootmem_nopanic(x, PAGE_SIZE, BOOTMEM_LOW_LIMIT) |
112 | #define alloc_bootmem_node(pgdat, x) \ | 119 | #define alloc_bootmem_node(pgdat, x) \ |
113 | __alloc_bootmem_node(pgdat, x, SMP_CACHE_BYTES, __pa(MAX_DMA_ADDRESS)) | 120 | __alloc_bootmem_node(pgdat, x, SMP_CACHE_BYTES, BOOTMEM_LOW_LIMIT) |
114 | #define alloc_bootmem_node_nopanic(pgdat, x) \ | 121 | #define alloc_bootmem_node_nopanic(pgdat, x) \ |
115 | __alloc_bootmem_node_nopanic(pgdat, x, SMP_CACHE_BYTES, __pa(MAX_DMA_ADDRESS)) | 122 | __alloc_bootmem_node_nopanic(pgdat, x, SMP_CACHE_BYTES, BOOTMEM_LOW_LIMIT) |
116 | #define alloc_bootmem_pages_node(pgdat, x) \ | 123 | #define alloc_bootmem_pages_node(pgdat, x) \ |
117 | __alloc_bootmem_node(pgdat, x, PAGE_SIZE, __pa(MAX_DMA_ADDRESS)) | 124 | __alloc_bootmem_node(pgdat, x, PAGE_SIZE, BOOTMEM_LOW_LIMIT) |
118 | #define alloc_bootmem_pages_node_nopanic(pgdat, x) \ | 125 | #define alloc_bootmem_pages_node_nopanic(pgdat, x) \ |
119 | __alloc_bootmem_node_nopanic(pgdat, x, PAGE_SIZE, __pa(MAX_DMA_ADDRESS)) | 126 | __alloc_bootmem_node_nopanic(pgdat, x, PAGE_SIZE, BOOTMEM_LOW_LIMIT) |
120 | 127 | ||
121 | #define alloc_bootmem_low(x) \ | 128 | #define alloc_bootmem_low(x) \ |
122 | __alloc_bootmem_low(x, SMP_CACHE_BYTES, 0) | 129 | __alloc_bootmem_low(x, SMP_CACHE_BYTES, 0) |