In pmap_mapdev(), if the physical memory range is not covered by an EFI
memory descriptor, don't return NULL as the virtual address, return the direct-mapped uncacheable virtual address for it. At first, this was needed only for the Altix 350, but now even some high-end HP machines have devices mapped to physical addresses that aren't covered by the EFI memory map.
This commit is contained in:
parent
fc2b167929
commit
57e65e9bda
@ -2451,7 +2451,7 @@ pmap_mapdev(vm_paddr_t pa, vm_size_t sz)
|
||||
if (md == NULL) {
|
||||
printf("%s: [%#lx..%#lx] not covered by memory descriptor\n",
|
||||
__func__, pa, pa + sz - 1);
|
||||
return (NULL);
|
||||
return ((void *)IA64_PHYS_TO_RR6(pa));
|
||||
}
|
||||
|
||||
if (md->md_type == EFI_MD_TYPE_FREE) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user