svn commit: r338537 - head/sys/arm/arm
Mark Johnston
markj at FreeBSD.org
Sat Sep 8 21:51:48 UTC 2018
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
More information about the svn-src-all
mailing list