[{"id":1776741,"web_url":"http://patchwork.ozlabs.org/comment/1776741/","msgid":"<20170928040457.GZ12504@umbus>","list_archive_url":null,"date":"2017-09-28T04:04:57","subject":"Re: [Qemu-devel] [PATCH v2 1/5] pci: conventional-pci-device and\n\tpci-express-device interfaces","submitter":{"id":47,"url":"http://patchwork.ozlabs.org/api/people/47/","name":"David Gibson","email":"david@gibson.dropbear.id.au"},"content":"On Wed, Sep 27, 2017 at 04:56:31PM -0300, Eduardo Habkost wrote:\n> Those two interfaces will be used to indicate which device types\n> support Conventional PCI or PCI Express buses.  Management\n> software will be able to use the qom-list-types QMP command to\n> query that information.\n> \n> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>\n\nReviewed-by: David Gibson <david@gibson.dropbear.id.au>\n\n> ---\n> Changes v1 -> v2:\n> * s/legacy/conventional/\n>   * Suggested-by: Alex Williamson <alex.williamson@redhat.com>\n> ---\n>  include/hw/pci/pci.h |  6 ++++++\n>  hw/pci/pci.c         | 12 ++++++++++++\n>  2 files changed, 18 insertions(+)\n> \n> diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h\n> index aa7ef9cf69..8d02a0a383 100644\n> --- a/include/hw/pci/pci.h\n> +++ b/include/hw/pci/pci.h\n> @@ -198,6 +198,12 @@ enum {\n>  #define PCI_DEVICE_GET_CLASS(obj) \\\n>       OBJECT_GET_CLASS(PCIDeviceClass, (obj), TYPE_PCI_DEVICE)\n>  \n> +/* Implemented by devices that can be plugged on PCI Express buses */\n> +#define INTERFACE_PCIE_DEVICE \"pci-express-device\"\n> +\n> +/* Implemented by devices that can be plugged on Conventional PCI buses */\n> +#define INTERFACE_CONVENTIONAL_PCI_DEVICE \"conventional-pci-device\"\n> +\n>  typedef struct PCIINTxRoute {\n>      enum {\n>          PCI_INTX_ENABLED,\n> diff --git a/hw/pci/pci.c b/hw/pci/pci.c\n> index 1e6fb88eba..1b08e18205 100644\n> --- a/hw/pci/pci.c\n> +++ b/hw/pci/pci.c\n> @@ -170,6 +170,16 @@ static const TypeInfo pci_bus_info = {\n>      .class_init = pci_bus_class_init,\n>  };\n>  \n> +static const TypeInfo pcie_interface_info = {\n> +    .name          = INTERFACE_PCIE_DEVICE,\n> +    .parent        = TYPE_INTERFACE,\n> +};\n> +\n> +static const TypeInfo conventional_pci_interface_info = {\n> +    .name          = INTERFACE_CONVENTIONAL_PCI_DEVICE,\n> +    .parent        = TYPE_INTERFACE,\n> +};\n> +\n>  static const TypeInfo pcie_bus_info = {\n>      .name = TYPE_PCIE_BUS,\n>      .parent = TYPE_PCI_BUS,\n> @@ -2667,6 +2677,8 @@ static void pci_register_types(void)\n>  {\n>      type_register_static(&pci_bus_info);\n>      type_register_static(&pcie_bus_info);\n> +    type_register_static(&conventional_pci_interface_info);\n> +    type_register_static(&pcie_interface_info);\n>      type_register_static(&pci_device_type_info);\n>  }\n>","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=gibson.dropbear.id.au\n\theader.i=@gibson.dropbear.id.au header.b=\"Cs5K1Ogz\"; \n\tdkim-atps=neutral"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y2hJ73NQJz9t49\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 28 Sep 2017 14:18:15 +1000 (AEST)","from localhost ([::1]:57302 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dxQH7-0003vs-Be\n\tfor incoming@patchwork.ozlabs.org; Thu, 28 Sep 2017 00:18:13 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:53979)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <dgibson@ozlabs.org>) id 1dxQCV-0000dm-1N\n\tfor qemu-devel@nongnu.org; Thu, 28 Sep 2017 00:13:28 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <dgibson@ozlabs.org>) id 1dxQCR-0003V5-S5\n\tfor qemu-devel@nongnu.org; Thu, 28 Sep 2017 00:13:26 -0400","from ozlabs.org ([103.22.144.67]:56489)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <dgibson@ozlabs.org>) id 1dxQCQ-0003TN-GQ\n\tfor qemu-devel@nongnu.org; Thu, 28 Sep 2017 00:13:23 -0400","by ozlabs.org (Postfix, from userid 1007)\n\tid 3y2hBM53XTz9tXN; Thu, 28 Sep 2017 14:13:15 +1000 (AEST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple;\n\td=gibson.dropbear.id.au; s=201602; t=1506571995;\n\tbh=xz5AJFItGIo4mCehhkUEzfwjohTpErPGJWghYF+LitY=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=Cs5K1OgzXTk10VhNSuyR6GO61eEsgk8Tgh3GDBa0k06sYDvmtVOd7CCPr+Ez1Ef00\n\tJlJ3h9ULQjGMUMxURM+IA33Xu0HB+WK+edhXju09GUUDNdCVd5kOhqDwrjlvcDdl6H\n\tGQLimmkKrRLIxz9ndlRnPHokRMO0SNa8sqLe10CE=","Date":"Thu, 28 Sep 2017 14:04:57 +1000","From":"David Gibson <david@gibson.dropbear.id.au>","To":"Eduardo Habkost <ehabkost@redhat.com>","Message-ID":"<20170928040457.GZ12504@umbus>","References":"<20170927195635.16014-1-ehabkost@redhat.com>\n\t<20170927195635.16014-2-ehabkost@redhat.com>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha256;\n\tprotocol=\"application/pgp-signature\"; boundary=\"CtqPPqYpYc7tL2y7\"","Content-Disposition":"inline","In-Reply-To":"<20170927195635.16014-2-ehabkost@redhat.com>","User-Agent":"Mutt/1.9.0 (2017-09-02)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"103.22.144.67","Subject":"Re: [Qemu-devel] [PATCH v2 1/5] pci: conventional-pci-device and\n\tpci-express-device interfaces","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"\"Michael S. Tsirkin\" <mst@redhat.com>, qemu-devel@nongnu.org,\n\tAlex Williamson <alex.williamson@redhat.com>,\n\tLaine Stump <laine@redhat.com>, Alistair Francis <alistair23@gmail.com>, \n\tMarcel Apfelbaum <marcel@redhat.com>, David Gibson <dgibson@redhat.com>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}},{"id":1776896,"web_url":"http://patchwork.ozlabs.org/comment/1776896/","msgid":"<89188579-ecb9-341a-2084-f4e27fa21774@redhat.com>","list_archive_url":null,"date":"2017-09-28T09:08:28","subject":"Re: [Qemu-devel] [PATCH v2 1/5] pci: conventional-pci-device and\n\tpci-express-device interfaces","submitter":{"id":65362,"url":"http://patchwork.ozlabs.org/api/people/65362/","name":"Marcel Apfelbaum","email":"marcel@redhat.com"},"content":"On 27/09/2017 22:56, Eduardo Habkost wrote:\n> Those two interfaces will be used to indicate which device types\n> support Conventional PCI or PCI Express buses.  Management\n> software will be able to use the qom-list-types QMP command to\n> query that information.\n> \n> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>\n> ---\n> Changes v1 -> v2:\n> * s/legacy/conventional/\n>    * Suggested-by: Alex Williamson <alex.williamson@redhat.com>\n> ---\n>   include/hw/pci/pci.h |  6 ++++++\n>   hw/pci/pci.c         | 12 ++++++++++++\n>   2 files changed, 18 insertions(+)\n> \n> diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h\n> index aa7ef9cf69..8d02a0a383 100644\n> --- a/include/hw/pci/pci.h\n> +++ b/include/hw/pci/pci.h\n> @@ -198,6 +198,12 @@ enum {\n>   #define PCI_DEVICE_GET_CLASS(obj) \\\n>        OBJECT_GET_CLASS(PCIDeviceClass, (obj), TYPE_PCI_DEVICE)\n>   \n> +/* Implemented by devices that can be plugged on PCI Express buses */\n> +#define INTERFACE_PCIE_DEVICE \"pci-express-device\"\n> +\n> +/* Implemented by devices that can be plugged on Conventional PCI buses */\n> +#define INTERFACE_CONVENTIONAL_PCI_DEVICE \"conventional-pci-device\"\n> +\n>   typedef struct PCIINTxRoute {\n>       enum {\n>           PCI_INTX_ENABLED,\n> diff --git a/hw/pci/pci.c b/hw/pci/pci.c\n> index 1e6fb88eba..1b08e18205 100644\n> --- a/hw/pci/pci.c\n> +++ b/hw/pci/pci.c\n> @@ -170,6 +170,16 @@ static const TypeInfo pci_bus_info = {\n>       .class_init = pci_bus_class_init,\n>   };\n>   \n> +static const TypeInfo pcie_interface_info = {\n> +    .name          = INTERFACE_PCIE_DEVICE,\n> +    .parent        = TYPE_INTERFACE,\n> +};\n> +\n> +static const TypeInfo conventional_pci_interface_info = {\n> +    .name          = INTERFACE_CONVENTIONAL_PCI_DEVICE,\n> +    .parent        = TYPE_INTERFACE,\n> +};\n> +\n>   static const TypeInfo pcie_bus_info = {\n>       .name = TYPE_PCIE_BUS,\n>       .parent = TYPE_PCI_BUS,\n> @@ -2667,6 +2677,8 @@ static void pci_register_types(void)\n>   {\n>       type_register_static(&pci_bus_info);\n>       type_register_static(&pcie_bus_info);\n> +    type_register_static(&conventional_pci_interface_info);\n> +    type_register_static(&pcie_interface_info);\n>       type_register_static(&pci_device_type_info);\n>   }\n>   \n> \n\n\nReviewed-by: Marcel Apfelbaum <marcel@redhat.com>\n\nThanks,\nMarcel","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ext-mx08.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx08.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=marcel@redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y2plt6Kpnz9t2c\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 28 Sep 2017 19:09:13 +1000 (AEST)","from localhost ([::1]:58067 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dxUog-0005gF-JE\n\tfor incoming@patchwork.ozlabs.org; Thu, 28 Sep 2017 05:09:10 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:57259)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <marcel@redhat.com>) id 1dxUoI-0005fp-F0\n\tfor qemu-devel@nongnu.org; Thu, 28 Sep 2017 05:08:51 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <marcel@redhat.com>) id 1dxUoF-0003cC-7A\n\tfor qemu-devel@nongnu.org; Thu, 28 Sep 2017 05:08:46 -0400","from mx1.redhat.com ([209.132.183.28]:36760)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <marcel@redhat.com>) id 1dxUoE-0003bo-UV\n\tfor qemu-devel@nongnu.org; Thu, 28 Sep 2017 05:08:43 -0400","from smtp.corp.redhat.com\n\t(int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 9CFFAC01A708;\n\tThu, 28 Sep 2017 09:08:41 +0000 (UTC)","from mapfelba-osx.local (unknown [10.35.206.52])\n\tby smtp.corp.redhat.com (Postfix) with ESMTPS id 900468F896;\n\tThu, 28 Sep 2017 09:08:30 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 9CFFAC01A708","To":"Eduardo Habkost <ehabkost@redhat.com>, qemu-devel@nongnu.org","References":"<20170927195635.16014-1-ehabkost@redhat.com>\n\t<20170927195635.16014-2-ehabkost@redhat.com>","From":"Marcel Apfelbaum <marcel@redhat.com>","Message-ID":"<89188579-ecb9-341a-2084-f4e27fa21774@redhat.com>","Date":"Thu, 28 Sep 2017 12:08:28 +0300","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0)\n\tGecko/20100101 Thunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20170927195635.16014-2-ehabkost@redhat.com>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.14","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.32]);\n\tThu, 28 Sep 2017 09:08:41 +0000 (UTC)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"209.132.183.28","Subject":"Re: [Qemu-devel] [PATCH v2 1/5] pci: conventional-pci-device and\n\tpci-express-device interfaces","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"David Gibson <dgibson@redhat.com>,\n\tAlex Williamson <alex.williamson@redhat.com>,\n\t\"Michael S. Tsirkin\" <mst@redhat.com>, Laine Stump <laine@redhat.com>,\n\tAlistair Francis <alistair23@gmail.com>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}}]