aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-01-30 07:33:45 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:33:45 -0500
commitbd796ed0232a036f5ab14ac68d0a05f791ebcc3b (patch)
tree61ad5d8effd73c1b0242f3e08863184abc4e84ee /arch
parenta8efa1cd51d6f6407df5f42d8f1a7e9fc7178d1a (diff)
x86: add debug warnings to early_ioremap()
Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/mm/ioremap_32.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/arch/x86/mm/ioremap_32.c b/arch/x86/mm/ioremap_32.c
index 63f76ecae44..4bcd5e065df 100644
--- a/arch/x86/mm/ioremap_32.c
+++ b/arch/x86/mm/ioremap_32.c
@@ -306,12 +306,15 @@ void __init *early_ioremap(unsigned long phys_addr, unsigned long size)
306 306
307 /* Don't allow wraparound or zero size */ 307 /* Don't allow wraparound or zero size */
308 last_addr = phys_addr + size - 1; 308 last_addr = phys_addr + size - 1;
309 if (!size || last_addr < phys_addr) 309 if (!size || last_addr < phys_addr) {
310 WARN_ON(1);
310 return NULL; 311 return NULL;
312 }
311 313
312 if (nesting >= FIX_BTMAPS_NESTING) 314 if (nesting >= FIX_BTMAPS_NESTING) {
315 WARN_ON(1);
313 return NULL; 316 return NULL;
314 317 }
315 early_ioremap_nested++; 318 early_ioremap_nested++;
316 /* 319 /*
317 * Mappings have to be page-aligned 320 * Mappings have to be page-aligned
@@ -324,8 +327,10 @@ void __init *early_ioremap(unsigned long phys_addr, unsigned long size)
324 * Mappings have to fit in the FIX_BTMAP area. 327 * Mappings have to fit in the FIX_BTMAP area.
325 */ 328 */
326 nrpages = size >> PAGE_SHIFT; 329 nrpages = size >> PAGE_SHIFT;
327 if (nrpages > NR_FIX_BTMAPS) 330 if (nrpages > NR_FIX_BTMAPS) {
331 WARN_ON(1);
328 return NULL; 332 return NULL;
333 }
329 334
330 /* 335 /*
331 * Ok, go for it.. 336 * Ok, go for it..
@@ -351,11 +356,13 @@ void __init early_iounmap(void *addr, unsigned long size)
351 unsigned int nesting; 356 unsigned int nesting;
352 357
353 nesting = --early_ioremap_nested; 358 nesting = --early_ioremap_nested;
359 WARN_ON(nesting < 0);
354 360
355 virt_addr = (unsigned long)addr; 361 virt_addr = (unsigned long)addr;
356 if (virt_addr < fix_to_virt(FIX_BTMAP_BEGIN)) 362 if (virt_addr < fix_to_virt(FIX_BTMAP_BEGIN)) {
363 WARN_ON(1);
357 return; 364 return;
358 365 }
359 offset = virt_addr & ~PAGE_MASK; 366 offset = virt_addr & ~PAGE_MASK;
360 nrpages = PAGE_ALIGN(offset + size - 1) >> PAGE_SHIFT; 367 nrpages = PAGE_ALIGN(offset + size - 1) >> PAGE_SHIFT;
361 368