aboutsummaryrefslogtreecommitdiff
path: root/sys/amd64/vmm
diff options
context:
space:
mode:
authorEric Joyner <erj@FreeBSD.org>2023-01-30 21:34:03 +0000
committerEric Joyner <erj@FreeBSD.org>2023-02-06 22:48:19 +0000
commit7aaa7dad32ca350e972d7c4688e39c50d818b45b (patch)
treea5cc48b951abeaef30e6c842b3a1674bf0c22fae /sys/amd64/vmm
parent4da78e7a355e702d5cc353f06669b6ef6f43b559 (diff)
vtd: Increase DRHD_MAX_UNITS
Observed on a couple Ice Lake-SP platforms (Intel Coyote Pass, Dell R750), there are more than 8 DRHD sections enumerated in the DMAR ACPI section. Since the previous limit was 8, this resulted in some of these not being parsed by vtd when the iommu is initialized; in this case when PCI devices are being passthru'd to a bhyve VM. This omission later causes a kernel panic later in initialization when devices could not be found in a valid DRHD scope because the DHRD containing the device's scope was not added to vtd. Signed-off-by: Eric Joyner <erj@FreeBSD.org> PR: 268486 Sponsored by: Intel Corporation Reviewed by: rew@, corvink@ Differential Revision: https://reviews.freebsd.org/D38285 (cherry picked from commit 53545967642d850eee4f2dd9fa27cae52ae981b9)
Diffstat (limited to 'sys/amd64/vmm')
-rw-r--r--sys/amd64/vmm/intel/vtd.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/amd64/vmm/intel/vtd.c b/sys/amd64/vmm/intel/vtd.c
index 8f06dc823364..c3af7779a7ca 100644
--- a/sys/amd64/vmm/intel/vtd.c
+++ b/sys/amd64/vmm/intel/vtd.c
@@ -117,7 +117,7 @@ struct domain {
static SLIST_HEAD(, domain) domhead;
-#define DRHD_MAX_UNITS 8
+#define DRHD_MAX_UNITS 16
static ACPI_DMAR_HARDWARE_UNIT *drhds[DRHD_MAX_UNITS];
static int drhd_num;
static struct vtdmap *vtdmaps[DRHD_MAX_UNITS];