Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Nov 2017 01:26:07 +0000 (UTC)
From:      Justin Hibbits <jhibbits@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r326354 - head/sys/powerpc/booke
Message-ID:  <201711290126.vAT1Q77g090573@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhibbits
Date: Wed Nov 29 01:26:07 2017
New Revision: 326354
URL: https://svnweb.freebsd.org/changeset/base/326354

Log:
  Only check the page tables if within the KVA.
  
  Devices aren't mapped within the KVA, and with the way 64-bit hashes the
  addresses pte_vatopa() may not return a 0 physical address for a device.
  
  MFC after:	1 week

Modified:
  head/sys/powerpc/booke/pmap.c

Modified: head/sys/powerpc/booke/pmap.c
==============================================================================
--- head/sys/powerpc/booke/pmap.c	Wed Nov 29 00:46:36 2017	(r326353)
+++ head/sys/powerpc/booke/pmap.c	Wed Nov 29 01:26:07 2017	(r326354)
@@ -2091,10 +2091,11 @@ static vm_paddr_t
 mmu_booke_kextract(mmu_t mmu, vm_offset_t va)
 {
 	tlb_entry_t e;
-	vm_paddr_t p;
+	vm_paddr_t p = 0;
 	int i;
 
-	p = pte_vatopa(mmu, kernel_pmap, va);
+	if (va >= VM_MIN_KERNEL_ADDRESS && va <= VM_MAX_KERNEL_ADDRESS)
+		p = pte_vatopa(mmu, kernel_pmap, va);
 	
 	if (p == 0) {
 		/* Check TLB1 mappings */



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