]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
iommu/vt-d: Implement DMAR unit hotplug framework
authorJiang Liu <jiang.liu@linux.intel.com>
Sun, 9 Nov 2014 14:47:58 +0000 (22:47 +0800)
committerJoerg Roedel <jroedel@suse.de>
Tue, 18 Nov 2014 10:18:35 +0000 (11:18 +0100)
commit6b1972493a84f8fe13ff9d202745590f6c53d670
treebb418163c4f1e0497bbc5b0b74c6159e03205610
parent78d8e7046111425bb688cddc4303d79cb0f0d281
iommu/vt-d: Implement DMAR unit hotplug framework

On Intel platforms, an IO Hub (PCI/PCIe host bridge) may contain DMAR
units, so we need to support DMAR hotplug when supporting PCI host
bridge hotplug on Intel platforms.

According to Section 8.8 "Remapping Hardware Unit Hot Plug" in "Intel
Virtualization Technology for Directed IO Architecture Specification
Rev 2.2", ACPI BIOS should implement ACPI _DSM method under the ACPI
object for the PCI host bridge to support DMAR hotplug.

This patch introduces interfaces to parse ACPI _DSM method for
DMAR unit hotplug. It also implements state machines for DMAR unit
hot-addition and hot-removal.

The PCI host bridge hotplug driver should call dmar_hotplug_hotplug()
before scanning PCI devices connected for hot-addition and after
destroying all PCI devices for hot-removal.

Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Reviewed-by: Yijing Wang <wangyijing@huawei.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/dmar.c
drivers/iommu/intel-iommu.c
drivers/iommu/intel_irq_remapping.c
include/linux/dmar.h