From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932408AbaGWPe0 (ORCPT ); Wed, 23 Jul 2014 11:34:26 -0400 Received: from 8bytes.org ([81.169.241.247]:55928 "EHLO theia.8bytes.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757765AbaGWPeX (ORCPT ); Wed, 23 Jul 2014 11:34:23 -0400 Date: Wed, 23 Jul 2014 17:34:21 +0200 From: Joerg Roedel To: Jiang Liu Cc: David Woodhouse , Yinghai Lu , Bjorn Helgaas , Dan Williams , Vinod Koul , "Rafael J . Wysocki" , Ashok Raj , Yijing Wang , Tony Luck , iommu@lists.linux-foundation.org, linux-pci@vger.kernel.org, linux-hotplug@vger.kernel.org, linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org Subject: Re: [Patch Part3 V4 16/21] iommu/vt-d: Implement DMAR unit hotplug framework Message-ID: <20140723153420.GC14017@8bytes.org> References: <1405059585-10620-1-git-send-email-jiang.liu@linux.intel.com> <1405059585-10620-17-git-send-email-jiang.liu@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1405059585-10620-17-git-send-email-jiang.liu@linux.intel.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > --- > 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 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joerg Roedel Subject: Re: [Patch Part3 V4 16/21] iommu/vt-d: Implement DMAR unit hotplug framework Date: Wed, 23 Jul 2014 17:34:21 +0200 Message-ID: <20140723153420.GC14017@8bytes.org> References: <1405059585-10620-1-git-send-email-jiang.liu@linux.intel.com> <1405059585-10620-17-git-send-email-jiang.liu@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1405059585-10620-17-git-send-email-jiang.liu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Jiang Liu Cc: Tony Luck , Vinod Koul , David Woodhouse , dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, "Rafael J . Wysocki" , linux-hotplug-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Bjorn Helgaas , Dan Williams , Yinghai Lu List-Id: iommu@lists.linux-foundation.org T24gRnJpLCBKdWwgMTEsIDIwMTQgYXQgMDI6MTk6NDBQTSArMDgwMCwgSmlhbmcgTGl1IHdyb3Rl Ogo+IE9uIEludGVsIHBsYXRmb3JtcywgYW4gSU8gSHViIChQQ0kvUENJZSBob3N0IGJyaWRnZSkg bWF5IGNvbnRhaW4gRE1BUgo+IHVuaXRzLCBzbyB3ZSBuZWVkIHRvIHN1cHBvcnQgRE1BUiBob3Rw bHVnIHdoZW4gc3VwcG9ydGluZyBQQ0kgaG9zdAo+IGJyaWRnZSBob3RwbHVnIG9uIEludGVsIHBs YXRmb3Jtcy4KPiAKPiBBY2NvcmRpbmcgdG8gU2VjdGlvbiA4LjggIlJlbWFwcGluZyBIYXJkd2Fy ZSBVbml0IEhvdCBQbHVnIiBpbiAiSW50ZWwKPiBWaXJ0dWFsaXphdGlvbiBUZWNobm9sb2d5IGZv ciBEaXJlY3RlZCBJTyBBcmNoaXRlY3R1cmUgU3BlY2lmaWNhdGlvbgo+IFJldiAyLjIiLCBBQ1BJ IEJJT1Mgc2hvdWxkIGltcGxlbWVudCBBQ1BJIF9EU00gbWV0aG9kIHVuZGVyIHRoZSBBQ1BJCj4g b2JqZWN0IGZvciB0aGUgUENJIGhvc3QgYnJpZGdlIHRvIHN1cHBvcnQgRE1BUiBob3RwbHVnLgo+ IAo+IFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBpbnRlcmZhY2VzIHRvIHBhcnNlIEFDUEkgX0RTTSBt ZXRob2QgZm9yCj4gRE1BUiB1bml0IGhvdHBsdWcuIEl0IGFsc28gaW1wbGVtZW50cyBzdGF0ZSBt YWNoaW5lcyBmb3IgRE1BUiB1bml0Cj4gaG90LWFkZGl0aW9uIGFuZCBob3QtcmVtb3ZhbC4KPiAK PiBUaGUgUENJIGhvc3QgYnJpZGdlIGhvdHBsdWcgZHJpdmVyIHNob3VsZCBjYWxsIGRtYXJfaG90 cGx1Z19ob3RwbHVnKCkKPiBiZWZvcmUgc2Nhbm5pbmcgUENJIGRldmljZXMgY29ubmVjdGVkIGZv ciBob3QtYWRkaXRpb24gYW5kIGFmdGVyCj4gZGVzdHJveWluZyBhbGwgUENJIGRldmljZXMgZm9y IGhvdC1yZW1vdmFsLgo+IAo+IFNpZ25lZC1vZmYtYnk6IEppYW5nIExpdSA8amlhbmcubGl1QGxp bnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9pb21tdS9kbWFyLmMgICAgICAgICAgICAg ICAgfCAgMjY4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCj4gIGRyaXZlcnMv aW9tbXUvaW50ZWwtaW9tbXUuYyAgICAgICAgIHwgICA3OCArKysrKysrKystCj4gIGRyaXZlcnMv aW9tbXUvaW50ZWxfaXJxX3JlbWFwcGluZy5jIHwgICAgNSArCj4gIGluY2x1ZGUvbGludXgvZG1h ci5oICAgICAgICAgICAgICAgIHwgICAzMyArKysrKwo+ICA0IGZpbGVzIGNoYW5nZWQsIDM3MCBp bnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKClRoaXMgcGF0Y2ggdHJpZ2dlcnMgYSBjb21w aWxlIGVycm9yIHdpdGggYWxsbm9jb25maWcgb24gYW1kNjQ6CgogIENDICAgICAgYXJjaC94ODYv a2VybmVsL3BjaS1kbWEubwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gYXJjaC94ODYva2VybmVsL3Bj aS1kbWEuYzozOjA6CmluY2x1ZGUvbGludXgvZG1hci5oOjE2ODozNTogZXJyb3I6IHVua25vd24g dHlwZSBuYW1lIOKAmGFjcGlfaGFuZGxl4oCZCiBzdGF0aWMgaW5saW5lIGludCBkbWFyX2Rldmlj ZV9hZGQoYWNwaV9oYW5kbGUgaGFuZGxlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KaW5jbHVkZS9saW51eC9kbWFyLmg6MTczOjM4OiBlcnJvcjogdW5rbm93biB0eXBlIG5h bWUg4oCYYWNwaV9oYW5kbGXigJkKIHN0YXRpYyBpbmxpbmUgaW50IGRtYXJfZGV2aWNlX3JlbW92 ZShhY3BpX2hhbmRsZSBoYW5kbGUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgptYWtlWzJdOiAqKiogW2FyY2gveDg2L2tlcm5lbC9wY2ktZG1hLm9dIEVycm9yIDEKbWFr ZVsxXTogKioqIFthcmNoL3g4Ni9rZXJuZWxdIEVycm9yIDIKbWFrZTogKioqIFthcmNoL3g4Nl0g RXJyb3IgMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K aW9tbXUgbWFpbGluZyBsaXN0CmlvbW11QGxpc3RzLmxpbnV4LWZvdW5kYXRpb24ub3JnCmh0dHBz Oi8vbGlzdHMubGludXhmb3VuZGF0aW9uLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lvbW11 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joerg Roedel Date: Wed, 23 Jul 2014 15:34:21 +0000 Subject: Re: [Patch Part3 V4 16/21] iommu/vt-d: Implement DMAR unit hotplug framework Message-Id: <20140723153420.GC14017@8bytes.org> List-Id: References: <1405059585-10620-1-git-send-email-jiang.liu@linux.intel.com> <1405059585-10620-17-git-send-email-jiang.liu@linux.intel.com> In-Reply-To: <1405059585-10620-17-git-send-email-jiang.liu@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: Jiang Liu Cc: David Woodhouse , Yinghai Lu , Bjorn Helgaas , Dan Williams , Vinod Koul , "Rafael J . Wysocki" , Ashok Raj , Yijing Wang , Tony Luck , iommu@lists.linux-foundation.org, linux-pci@vger.kernel.org, linux-hotplug@vger.kernel.org, linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org 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 > --- > 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