svn commit: r302291 - head/sys/arm64/include

Wojciech Macek wma at FreeBSD.org
Thu Jun 30 04:58:21 UTC 2016


Author: wma
Date: Thu Jun 30 04:58:19 2016
New Revision: 302291
URL: https://svnweb.freebsd.org/changeset/base/302291

Log:
  ARM64: fix DMAP calculation
  
      Use arithmetic operators instead of logical. This fixes
      DMAP ranges calculation for ThunderX Dual Socket.
  
      Obtained from:         Semihalf
      Sponsored by:          Cavium
      Reviewed by:           zbb
      Differential Revision: https://reviews.freebsd.org/D7023
      Approved by:           re (gjb)

Modified:
  head/sys/arm64/include/vmparam.h

Modified: head/sys/arm64/include/vmparam.h
==============================================================================
--- head/sys/arm64/include/vmparam.h	Thu Jun 30 01:33:14 2016	(r302290)
+++ head/sys/arm64/include/vmparam.h	Thu Jun 30 04:58:19 2016	(r302291)
@@ -181,7 +181,7 @@
 	KASSERT(PHYS_IN_DMAP(pa),					\
 	    ("%s: PA out of range, PA: 0x%lx", __func__,		\
 	    (vm_paddr_t)(pa)));						\
-	((pa) - dmap_phys_base) | DMAP_MIN_ADDRESS;			\
+	((pa) - dmap_phys_base) + DMAP_MIN_ADDRESS;			\
 })
 
 #define	DMAP_TO_PHYS(va)						\
@@ -189,7 +189,7 @@
 	KASSERT(VIRT_IN_DMAP(va),					\
 	    ("%s: VA out of range, VA: 0x%lx", __func__,		\
 	    (vm_offset_t)(va)));					\
-	((va) & ~DMAP_MIN_ADDRESS) + dmap_phys_base;			\
+	((va) - DMAP_MIN_ADDRESS) + dmap_phys_base;			\
 })
 
 #define	VM_MIN_USER_ADDRESS	(0x0000000000000000UL)


More information about the svn-src-head mailing list