From 57e65e9bda74727be4e99b8e617855b283ad5d4e Mon Sep 17 00:00:00 2001 From: Marcel Moolenaar Date: Tue, 23 Jul 2013 02:11:22 +0000 Subject: [PATCH] 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. --- sys/ia64/ia64/pmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/ia64/ia64/pmap.c b/sys/ia64/ia64/pmap.c index f2a4c65ec13c..44181848afee 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) {