freebsd-dev/sys/amd64/conf
Alexander Motin 7af4475a6e vmd(4): Major driver refactoring
- Re-implement pcib interface to use standard pci bus driver on top of
vmd(4) instead of custom one.
 - Re-implement memory/bus resource allocation to properly handle even
complicated configurations.
 - Re-implement interrupt handling to evenly distribute children's MSI/
MSI-X interrupts between available vmd(4) MSI-X vectors and setup them
to be handled by standard OS mechanisms with minimal overhead, except
sharing when unavoidable.

Successfully tested on Dell XPS 13 laptop with Core i7-1185G7 CPU (VMD
device ID 0x9a0b) and single NVMe SSD, dual-booting with Windows 10.

Successfully tested on Supermicro X11DPI-NT motherboard with Xeon(R)
Gold 6242R CPUs (VMD device ID 0x201d), simultaneously handling NVMe
SSD on one PCIe port and PLX bridge with 3 NVMe and 1 AHCI SSDs on
another.  Handles SSD hot-plug (except Optane 905p for some reason,
which are not detected until manual bus rescan) and enabled IOMMU
(directly connected SSDs work, but ones connected to the PLX fail
without errors from IOMMU).

MFC after:	2 weeks
Sponsored by:	iXsystems, Inc.
Differential revision:	https://reviews.freebsd.org/D31762
2021-09-02 20:58:02 -04:00
..
DEFAULTS
GENERIC vmd(4): Major driver refactoring 2021-09-02 20:58:02 -04:00
GENERIC-KASAN amd64: Add MD bits for KASAN 2021-04-13 17:42:20 -04:00
GENERIC-KCSAN sys/*/conf/*, docs: fix links to handbook 2021-05-20 09:27:10 +01:00
GENERIC-KMSAN Add a GENERIC-KMSAN kernel configuration for amd64 2021-08-10 21:27:53 -04:00
GENERIC-MMCCAM Fix amd64 GENERIC-MMCCAM kernel build 2020-12-24 22:30:52 +01:00
GENERIC-NODEBUG sys/*/conf/*, docs: fix links to handbook 2021-05-20 09:27:10 +01:00
GENERIC.hints
LINT Create in-tree LINT files 2020-10-09 01:48:14 +00:00
LINT-NOINET Create in-tree LINT files 2020-10-09 01:48:14 +00:00
LINT-NOINET6 Create in-tree LINT files 2020-10-09 01:48:14 +00:00
LINT-NOIP Create in-tree LINT files 2020-10-09 01:48:14 +00:00
MINIMAL kvm_clock: KVM paravirtual clock support 2021-08-14 15:57:54 +03:00
NOTES vmd(4): Major driver refactoring 2021-09-02 20:58:02 -04:00