git: 53545967642d - main - vtd: Increase DRHD_MAX_UNITS
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 31 Jan 2023 21:58:08 UTC
The branch main has been updated by erj: URL: https://cgit.FreeBSD.org/src/commit/?id=53545967642d850eee4f2dd9fa27cae52ae981b9 commit 53545967642d850eee4f2dd9fa27cae52ae981b9 Author: Eric Joyner <erj@FreeBSD.org> AuthorDate: 2023-01-30 21:34:03 +0000 Commit: Eric Joyner <erj@FreeBSD.org> CommitDate: 2023-01-31 21:57:42 +0000 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@ MFC after: 1 day Differential Revision: https://reviews.freebsd.org/D38285 --- sys/amd64/vmm/intel/vtd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/amd64/vmm/intel/vtd.c b/sys/amd64/vmm/intel/vtd.c index 21e81223f6ee..b860e4de3817 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];