aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Wood <scottwood@freescale.com>2015-10-06 23:48:17 -0400
committerScott Wood <scottwood@freescale.com>2015-10-27 19:13:28 -0400
commitecc4999f68d157a25c500d18586a16f09a029cb4 (patch)
tree7c6a96c0afba6bed7278e22f2055f8207664a0a7
parenteeaab663a06c3ddc7213d30d304de73e30bc772e (diff)
powerpc/book3e-64: Don't limit paca to 256 MiB
This limit only makes sense on book3s, and on book3e it can cause problems with kdump if we don't have any memory under 256 MiB. Signed-off-by: Scott Wood <scottwood@freescale.com>
-rw-r--r--arch/powerpc/kernel/paca.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/paca.c b/arch/powerpc/kernel/paca.c
index 5a23b69f8129..01ea0edf0579 100644
--- a/arch/powerpc/kernel/paca.c
+++ b/arch/powerpc/kernel/paca.c
@@ -204,14 +204,19 @@ static int __initdata paca_size;
204 204
205void __init allocate_pacas(void) 205void __init allocate_pacas(void)
206{ 206{
207 int cpu, limit; 207 u64 limit;
208 int cpu;
208 209
210 limit = ppc64_rma_size;
211
212#ifdef CONFIG_PPC_BOOK3S_64
209 /* 213 /*
210 * We can't take SLB misses on the paca, and we want to access them 214 * We can't take SLB misses on the paca, and we want to access them
211 * in real mode, so allocate them within the RMA and also within 215 * in real mode, so allocate them within the RMA and also within
212 * the first segment. 216 * the first segment.
213 */ 217 */
214 limit = min(0x10000000ULL, ppc64_rma_size); 218 limit = min(0x10000000ULL, limit);
219#endif
215 220
216 paca_size = PAGE_ALIGN(sizeof(struct paca_struct) * nr_cpu_ids); 221 paca_size = PAGE_ALIGN(sizeof(struct paca_struct) * nr_cpu_ids);
217 222