Author: markj
Date: Sat Sep  8 21:51:47 2018
New Revision: 338537
URL: https://svnweb.freebsd.org/changeset/base/338537

Log:
  Bump MAX_HWCNT and MAX_EXCNT.
  
  These limits are hit on the ThunderX.  Also make
  arm_physmem_exclude_region() panic rather than fail silently if the
  limit on excluded regions is reached.
  
  PR:           231064
  Reviewed by:  andrew
  Approved by:  re (kib)
  MFC after:    1 week
  Sponsored by: The FreeBSD Foundation
  Differential Revision:        https://reviews.freebsd.org/D17073

Modified:
  head/sys/arm/arm/physmem.c

Modified: head/sys/arm/arm/physmem.c
==============================================================================
--- head/sys/arm/arm/physmem.c  Sat Sep  8 21:49:43 2018        (r338536)
+++ head/sys/arm/arm/physmem.c  Sat Sep  8 21:51:47 2018        (r338537)
@@ -48,8 +48,8 @@ __FBSDID("$FreeBSD$");
  * that can be allocated, or both, depending on the exclusion flags associated
  * with the region.
  */
-#define        MAX_HWCNT       10
-#define        MAX_EXCNT       10
+#define        MAX_HWCNT       16
+#define        MAX_EXCNT       16
 
 #if defined(__arm__)
 #define        MAX_PHYS_ADDR   0xFFFFFFFFull
@@ -359,7 +359,8 @@ arm_physmem_hardware_region(uint64_t pa, uint64_t sz)
 /*
  * Add an exclusion region.
  */
-void arm_physmem_exclude_region(vm_paddr_t pa, vm_size_t sz, uint32_t exflags)
+void
+arm_physmem_exclude_region(vm_paddr_t pa, vm_size_t sz, uint32_t exflags)
 {
        vm_offset_t adj;
 
@@ -371,8 +372,9 @@ void arm_physmem_exclude_region(vm_paddr_t pa, vm_size
        pa  = trunc_page(pa);
        sz  = round_page(sz + adj);
 
-       if (excnt < nitems(exregions))
-               excnt = insert_region(exregions, excnt, pa, sz, exflags);
+       if (excnt >= nitems(exregions))
+               panic("failed to exclude region %#lx-%#lx", pa, pa + sz);
+       excnt = insert_region(exregions, excnt, pa, sz, exflags);
 }
 
 size_t
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to