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)
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to