Re: [Patch Part3 V4 16/21] iommu/vt-d: Implement DMAR unit hotplug framework

Joerg Roedel
2014-07-23T15:34:26Z

On Fri, Jul 11, 2014 at 02:19:40PM +0800, Jiang Liu wrote:
> 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>
> ---
> drivers/iommu/dmar.c | 268 +++++++++++++++++++++++++++++++++--
> drivers/iommu/intel-iommu.c | 78 +++++++++-
> drivers/iommu/intel_irq_remapping.c | 5 +
> include/linux/dmar.h | 33 +++++
> 4 files changed, 370 insertions(+), 14 deletions(-)

This patch triggers a compile error with allnoconfig on amd64:

CC arch/x86/kernel/pci-dma.o
In file included from arch/x86/kernel/pci-dma.c:3:0:
include/linux/dmar.h:168:35: error: unknown type name ‘acpi_handle’
static inline int dmar_device_add(acpi_handle handle)
^
include/linux/dmar.h:173:38: error: unknown type name ‘acpi_handle’
static inline int dmar_device_remove(acpi_handle handle)
^
make[2]: *** [arch/x86/kernel/pci-dma.o] Error 1
make[1]: *** [arch/x86/kernel] Error 2
make: *** [arch/x86] Error 2