From 07faac07d6da6e5004b4d91d84543d94a1206269 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 30 Jan 2008 13:34:06 +0100 Subject: [PATCH] --- yaml --- r: 80523 b: refs/heads/master c: 266b9f8727976769e2ed2dad77ac9295f37e321e h: refs/heads/master i: 80521: 496542c6b802f91cd1e6b99a854739d96a38e0a2 80519: 294c132b005d4062e65fa7aed295e633e94bc5e2 v: v3 --- [refs] | 2 +- trunk/arch/x86/mm/ioremap.c | 17 ++++------------- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/[refs] b/[refs] index d1087435b80d..3475fd93c9ac 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 950f9d95bed1a366434d3597ea75f5b9d772d74f +refs/heads/master: 266b9f8727976769e2ed2dad77ac9295f37e321e diff --git a/trunk/arch/x86/mm/ioremap.c b/trunk/arch/x86/mm/ioremap.c index 24e42cab8d58..e84c09e7d2c1 100644 --- a/trunk/arch/x86/mm/ioremap.c +++ b/trunk/arch/x86/mm/ioremap.c @@ -125,23 +125,14 @@ void __iomem *__ioremap(unsigned long phys_addr, unsigned long size, if (phys_addr >= ISA_START_ADDRESS && last_addr < ISA_END_ADDRESS) return (__force void __iomem *)phys_to_virt(phys_addr); -#ifdef CONFIG_X86_32 /* * Don't allow anybody to remap normal RAM that we're using.. */ - if (phys_addr <= virt_to_phys(high_memory - 1)) { - char *t_addr, *t_end; - struct page *page; - - t_addr = __va(phys_addr); - t_end = t_addr + (size - 1); - - for (page = virt_to_page(t_addr); - page <= virt_to_page(t_end); page++) - if (!PageReserved(page)) - return NULL; + for (offset = phys_addr >> PAGE_SHIFT; offset < max_pfn_mapped && + (offset << PAGE_SHIFT) < last_addr; offset++) { + if (page_is_ram(offset)) + return NULL; } -#endif pgprot = MAKE_GLOBAL(__PAGE_KERNEL | flags);