Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Jul 2013 02:11:22 +0000 (UTC)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r253558 - head/sys/ia64/ia64
Message-ID:  <201307230211.r6N2BMsJ014081@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marcel
Date: Tue Jul 23 02:11:22 2013
New Revision: 253558
URL: http://svnweb.freebsd.org/changeset/base/253558

Log:
  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.

Modified:
  head/sys/ia64/ia64/pmap.c

Modified: head/sys/ia64/ia64/pmap.c
==============================================================================
--- head/sys/ia64/ia64/pmap.c	Mon Jul 22 23:08:36 2013	(r253557)
+++ head/sys/ia64/ia64/pmap.c	Tue Jul 23 02:11:22 2013	(r253558)
@@ -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) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307230211.r6N2BMsJ014081>