diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:33:45 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:33:45 -0500 |
commit | bd796ed0232a036f5ab14ac68d0a05f791ebcc3b (patch) | |
tree | 61ad5d8effd73c1b0242f3e08863184abc4e84ee /arch | |
parent | a8efa1cd51d6f6407df5f42d8f1a7e9fc7178d1a (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.c | 19 |
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 | ||