patch-2.2.18 linux/arch/i386/mm/ioremap.c
Next file: linux/arch/i386/vmlinux.lds.S
Previous file: linux/arch/i386/mm/init.c
Back to the patch index
Back to the overall index
- Lines: 20
- Date:
Thu Dec 7 15:03:54 2000
- Orig file:
v2.2.17/arch/i386/mm/ioremap.c
- Orig date:
Fri Apr 21 12:45:46 2000
diff -u --new-file --recursive --exclude-from /usr/src/exclude v2.2.17/arch/i386/mm/ioremap.c linux/arch/i386/mm/ioremap.c
@@ -110,7 +110,18 @@
* Don't allow anybody to remap normal RAM that we're using..
*/
if (phys_addr < virt_to_phys(high_memory))
- return NULL;
+ {
+ char *temp_addr, *temp_end;
+ int i;
+
+ temp_addr = __va(phys_addr);
+ temp_end = temp_addr + (size - 1);
+
+ for(i = MAP_NR(temp_addr); i <= MAP_NR(temp_end); i++) {
+ if(!PageReserved(mem_map + i))
+ return NULL;
+ }
+ }
/*
* Mappings have to be page-aligned
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)