diff options
author | marcel <marcel@FreeBSD.org> | 2013-07-23 02:11:22 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2013-07-23 02:11:22 +0000 |
commit | 0680c1f5fe159bba69a242568af0db7d7dc15a79 (patch) | |
tree | 94fe2a041adade2fd91b14b62db36ee8fc2ccab2 /sys/ia64 | |
parent | a7248da0b8ea7ed2d76b65cc5eabd7ed1d3c7d08 (diff) | |
download | FreeBSD-src-0680c1f5fe159bba69a242568af0db7d7dc15a79.zip FreeBSD-src-0680c1f5fe159bba69a242568af0db7d7dc15a79.tar.gz |
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.
Diffstat (limited to 'sys/ia64')
-rw-r--r-- | sys/ia64/ia64/pmap.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/ia64/ia64/pmap.c b/sys/ia64/ia64/pmap.c index f2a4c65..4418184 100644 --- a/sys/ia64/ia64/pmap.c +++ b/sys/ia64/ia64/pmap.c @@ -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) { |