x86: introduce macro to check whether an address range is in the ISA range
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>
This commit is contained in:
Родитель
dd0c7c4903
Коммит
bcc643dc28
|
@ -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);
|
||||
|
||||
/*
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче