Hacker News new | ask | show | jobs
by wtallis 3566 days ago
Yes. Most Intel CPUs from the past decade have supported hardware virtualization extensions (VT-x) that allow for efficient virtual machines, where the host system allocates CPU time and memory much as it would for an ordinary userspace process. Select Intel CPUs also support an IOMMU extension (VT-d) that allows PCIe devices to be virtually isolated from the host system; effectively, the device's DMA goes in to the VM's memory space instead of the host system's memory space. This can be done on a per-device granularity. It allows the OS in the VM to access the device exactly the same way it would if the OS were running on bare metal, so no driver changes are necessary.

Storage for VMs is still primarily emulated rather than virtualized, but you can use VT-d to grant a VM exclusive access to a HBA or RAID card or NVMe SSD, because VT-d works for any type of PCIe device.

1 comments

e.g. with Xen (and probably ESXi/KVM?), it is possible to run FreeNAS in a VM with PCI passthrough of the storage controller, pfSense in a VM with PCI passthrough of physical NICs (or bridge to virtual NICs), Windows in a VM with a dedicated GPU, and Linux or OpenBSD in yet other VMs, all on one "desktop" that consolidates clients/firewall/NAS. If you get the right hardware, BIOS and PCI devices.