Ka Ho Ng b5c74dfd64 vmm: Fix AMD-vi using wrong rid range
The ACPI parsing code around rid range was wrong on assuming there is
only one pair of start/end device id range. Besides, ivhd_dev_parse()
never work as supposed. The start/end rid info was always zero.

Restructure the code to build dynamic-sized tables for each IOMMU softc
holding device entries. The device entries are enumerated to find a
suitable IOMMU unit. Operations on devices not governed (e.g. the IOMMU
unit itself) are no-op from now on. There are also a minor fix on wrong
%b formatting string usage.

Tested on my EPYC 7282.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	grehan
Differential Revision:	https://reviews.freebsd.org/D30827
2021-07-14 01:53:10 +08:00
..
2021-07-14 01:53:10 +08:00
2020-11-28 01:16:59 +00:00
2019-11-12 15:51:47 +00:00
2018-06-13 07:02:58 +00:00
2018-06-13 07:02:58 +00:00
2019-08-01 02:16:48 +00:00
2019-08-01 02:16:48 +00:00
2020-02-13 19:03:12 +00:00
2020-11-28 01:16:59 +00:00
2020-11-28 01:16:59 +00:00