x86: introduce macro to check whether an address range is in the ISA range
authorAndreas Herrmann <andreas.herrmann3@amd.com>
Fri, 20 Jun 2008 19:58:46 +0000 (21:58 +0200)
committerIngo Molnar <mingo@elte.hu>
Tue, 24 Jun 2008 11:05:48 +0000 (13:05 +0200)
Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Cc: Suresh B Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/mm/ioremap.c
arch/x86/mm/pat.c
include/asm-x86/e820.h

index 7452eb3..6d9960d 100644 (file)
@@ -142,7 +142,7 @@ static void __iomem *__ioremap_caller(resource_size_t phys_addr,
        /*
         * Don't remap the low PCI/ISA area, it's always mapped..
         */
-       if (phys_addr >= ISA_START_ADDRESS && last_addr < ISA_END_ADDRESS)
+       if (is_ISA_range(phys_addr, last_addr))
                return (__force void __iomem *)phys_to_virt(phys_addr);
 
        /*
index 227df3c..5bbc22e 100644 (file)
@@ -215,7 +215,7 @@ int reserve_memtype(u64 start, u64 end, unsigned long req_type,
        }
 
        /* Low ISA region is always mapped WB in page table. No need to track */
-       if (start >= ISA_START_ADDRESS && (end - 1) <= ISA_END_ADDRESS) {
+       if (is_ISA_range(start, end - 1)) {
                if (ret_type)
                        *ret_type = _PAGE_CACHE_WB;
 
@@ -415,9 +415,8 @@ int free_memtype(u64 start, u64 end)
        }
 
        /* Low ISA region is always mapped WB. No need to track */
-       if (start >= ISA_START_ADDRESS && end <= ISA_END_ADDRESS) {
+       if (is_ISA_range(start, end - 1))
                return 0;
-       }
 
        spin_lock(&memtype_lock);
        list_for_each_entry(ml, &memtype_list, nd) {
index 7004251..5103d0b 100644 (file)
@@ -24,6 +24,7 @@ struct e820map {
 
 #define ISA_START_ADDRESS      0xa0000
 #define ISA_END_ADDRESS                0x100000
+#define is_ISA_range(s, e) ((s) >= ISA_START_ADDRESS && (e) < ISA_END_ADDRESS)
 
 #define BIOS_BEGIN             0x000a0000
 #define BIOS_END               0x00100000