From patchwork Fri Aug 11 16:55:35 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Manish Jaggi X-Patchwork-Id: 9896359 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 1373360351 for ; Fri, 11 Aug 2017 17:00:58 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 02BF7285A3 for ; Fri, 11 Aug 2017 17:00:58 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id EBF2B28C70; Fri, 11 Aug 2017 17:00:57 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, RCVD_IN_DNSWL_MED, RCVD_IN_SORBS_WEB, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id DF4CB28C72 for ; Fri, 11 Aug 2017 17:00:56 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dgDGj-0004sQ-Fn; Fri, 11 Aug 2017 16:58:41 +0000 Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dgDGh-0004s9-Rt for xen-devel@lists.xenproject.org; Fri, 11 Aug 2017 16:58:39 +0000 Received: from [85.158.137.68] by server-4.bemta-3.messagelabs.com id A8/8C-04533-E32ED895; Fri, 11 Aug 2017 16:58:38 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrFKsWRWlGSWpSXmKPExsWSoa/goWv7qDf S4PcHS4vvWyYzOTB6HP5whSWAMYo1My8pvyKBNePX1V8sBc/FK+Zc7GBpYHwu1MXIxcEi0Mss 8eXjf8YuRk4ORoFIifm/WtlAEkICnUwSm5vOgyXYBOQldvZeYgKxRQSUJO6tmgxmMwvkSix79 RasRljAS2Lbk3/MIDaLgKrEmsndQIM4OHgFPCW69puDhCUE5CRunutkBglzApX//aADEhYCqn g2oxNsIq+AoMTJmU9YIKZLSBx88YIZolVR4tmNk0wQdiejxML7+RC9ahLTTndBxWUljp6dwwJ h+0rc3fyGEeQVCYFrTBKH5m+BSjSzS3y6KA5h60jc3XkbKr6cXeLYCx8IW0ti3dWPUIsLJH7v 2sQEMegcq8TBDfcYIRIyEg8WnWGB2sAqcb0D4lQhgSSJY/NPsEMkXvNKzGz8AVXVyS5xbVYHG yS4pCTe7zjJOIFRdRaSv2ch+XsBI9MqRo3i1KKy1CJdI2O9pKLM9IyS3MTMHF1DA2O93NTi4s T01JzEpGK95PzcTYzAdFDPwMC4g7Fvr98hRkkOJiVR3gSf3kghvqT8lMqMxOKM+KLSnNTiQ4w yHBxKErwaD4FygkWp6akVaZk5wMQEk5bg4FES4RUGSfMWFyTmFmemQ6ROMepyvJrw/xuTEEte fl6qlDgvD0iRAEhRRmke3AhYkrzEKCslzMvIwMAgxFOQWpSbWYIq/4pRnINRSZjXC2QKT2ZeC dymV0BHMAEd0ecDdkRJIkJKqoGRX+bJpZ+b1CNDEs0ezWT7xzTdZ/Lm872vWX5ZV4o8XvT15w ODios32kQ1CvemiFhUq3hZHp+yyEngmvHl5FUMBhEuWhPfOSca3ta3Lfg0dc90tzSv7e61622 ePY99tj7v9KfLr0qkdzZ9VJuW2eGtk73PsaFxY8fvEzK3dRyiJet+1OnFrbuvxFKckWioxVxU nAgAbnrhw40DAAA= X-Env-Sender: Manish.Jaggi@cavium.com X-Msg-Ref: server-15.tower-31.messagelabs.com!1502470716!105594659!1 X-Originating-IP: [104.47.32.72] X-SpamReason: No, hits=0.0 required=7.0 tests= X-StarScan-Received: X-StarScan-Version: 9.4.45; banners=-,-,- X-VirusChecked: Checked Received: (qmail 39368 invoked from network); 11 Aug 2017 16:58:37 -0000 Received: from mail-sn1nam01on0072.outbound.protection.outlook.com (HELO NAM01-SN1-obe.outbound.protection.outlook.com) (104.47.32.72) by server-15.tower-31.messagelabs.com with AES256-SHA256 encrypted SMTP; 11 Aug 2017 16:58:37 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=8Dn5DYc71DT8ESiPhdsLy9/Woc1BXAiGcUi1sw9R2iQ=; b=NTEAeHfQWg/r136y+SF+L/QekTQ49v50NnbhgEYDtvPzSXKgYGTiueb4w1mQxcQCIcZGRdQ/evLpzTjEag5ejnZhPDdnnugqR0s92rYFxhtF5gIy3d0jQ4PTrDU0mAwSKmjJCIIBctrrGZAlhQ1hylW2N1dI141Os/OY0ZhGBlc= Received: from mjaggi.caveonetworks.com (111.93.218.67) by BY2PR0701MB2071.namprd07.prod.outlook.com (10.163.156.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1341.17; Fri, 11 Aug 2017 16:56:22 +0000 From: mjaggi@caviumnetworks.com To: xen-devel@lists.xenproject.org Date: Fri, 11 Aug 2017 22:25:35 +0530 Message-Id: <1502470538-20299-3-git-send-email-mjaggi@caviumnetworks.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1502470538-20299-1-git-send-email-mjaggi@caviumnetworks.com> References: <1502470538-20299-1-git-send-email-mjaggi@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: MA1PR01CA0113.INDPRD01.PROD.OUTLOOK.COM (10.174.56.157) To BY2PR0701MB2071.namprd07.prod.outlook.com (10.163.156.149) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a6deae01-228e-41a5-09c8-08d4e0d9e5e6 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:BY2PR0701MB2071; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB2071; 3:83ojsgsCTmT93VaiEoCQvDy3zmzqSmG03wAjepi3nMQEirlIqj61N3zNaGSzmS59fErAqThIupgfSwv/2smbDJLp+/KHxehDwtbNXvdlFP6RHaUEBeZDVOUcO+//yKkffbtB21FYLhZWCoczP0T1OXbuuNeOLpnDIb75A69eA9xwMQzM6LmcqPHCeoxM8tIYlzetMvHXSw+fQUefKYkWd/BpXk0ZuRcl26fkEtMcg43ZgeNN0KY17Jy5CBJdwE+E; 25:An8y8s937Lm1H+Y4Kt0PjdIFDNotHTu2WzWY9RT5PPGp0+VsMYAqppG3dQfjzXin8KCMor585WyS2j+JyRo5cQZuAyXSrkkTwbH9yJjmf3QhIFBrzJ+nLErEgmUnL6kKLx8EHfMn31RJaCo0eHi4RVZujym1IrWJlyEAxcI5cX4F7LOt5sSjsunzX2jfRNTWlVQW0JYLh0l1w3W7lHghyNYEsfxJK8CC5CBpKEoDt7qEDJghIjRVmBbgoEdrQ189ZMKGdfYnNshWIr8n78y8a7fKKlW/mYihBCvKZeVwopz3b5pZGuF5P/GzTp3rOhXfrOt7U98shHOwIZNrXHexfQ==; 31:cmD/MDKeVgDFDcJhpZMzvnxiNLMKRyiwGaajNwqwj1WcCnsS27GQZsjM7s9NoCI48knu1bdXj6+jT5+RWJ7Km81dn6y1D/Kb5hHQhL6qtsWmIQw30fvKV4p7hGS4u6le17GwN/h23Hnt4+7H8Vr3uVpKQ0Ebq+wuCAt3SVDoH7FaJbp+JIQVuhXpnwn8usJ200uZXmVtOnWY6geMNUg0+DwHmN/bszUcyetTDfGp2KM= X-MS-TrafficTypeDiagnostic: BY2PR0701MB2071: X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB2071; 20:+/GQm4mN9PSrFnUFP++pqhLiCK/DaoL/LiG3kedg7hgqyT+BHqYYrSuzZpdoUeENTdxrCeuIYtU1qUlQsW0Aps/hA/dDPFVun7+V2BWedwmCQ61BcZYrnJCWAkhblhrWAsFgqXYAavxFIgvcBOJEd4mKE7BIdNPT/KYH9OQI+4pdJoPuQsss0JCp3BiLYcO1lSTW3pWrLCmMIpDjZLn+HEAGZOEjy0nvwmCs+zu9e6zls1GsgQxxWr/ZyWBZ/6QxI6BxM6z+QcYhRl9zupc0m9NjlMqwitMaqc8m/rxYJQzOmwfR9jreXKnqWiJgibzh2k0nfC7s5AtgY06zDueoat8UK8G+4rgvt30S0GOhkB1U7hCWZ4x0bX+A9ajz/p/DxmZ9Bx6duMuteqyL5G/HGVx59Z3+XUpihNnWMvD1bIdj78M8H82EySAIDJO3EzMKa4CYmMkQ0xN+LNFVFVWgmfYJElZTFmSKMDSMUcw0efRN7xm04SG2RYFCOWeq5orU9f5eVDhgL1J+vX46iewTbPuf1d0JXofCrFrN6ydkUo7y1JGlTh+p+ZTwX3pDzJh9dp8f4EbCA282XTTBqy3GvoecPGNNKYo7x2Mt6IwfozU=; 4:8zVVUeOlbYebodvLrGYzXu/4ja/b4DicRN59eBpXiWmbQaP5lOTIOdhxdI+/FNqQ93VtsRo8Z2XWsuGNbD67q3BRxBm57OeyQV4Zx3o0UlUOMGuiXxpM7gql8FJFuW81bXBPn2ewbIY75hJ7Ktt8MIPo7hq8UWrOfhtXZ+dBE/2ppdXx5fVr/w4SzsZAZyqgca8sSQXR2wKykAB4MP/DN3Hmfj2VJ3HRmyQsHly5dxzqak6fevQ4HTIRaqpTroeG X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(100000703101)(100105400095)(10201501046)(3002001)(6041248)(20161123560025)(20161123564025)(20161123562025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY2PR0701MB2071; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY2PR0701MB2071; X-Forefront-PRVS: 03965EFC76 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6009001)(199003)(189002)(97736004)(2906002)(72206003)(42186005)(33646002)(2361001)(8676002)(6116002)(106356001)(3846002)(68736007)(2351001)(6512007)(9686003)(5003940100001)(81166006)(47776003)(81156014)(53936002)(48376002)(5660300001)(107886003)(105586002)(6666003)(50466002)(2950100002)(6916009)(110136004)(42882006)(4326008)(50226002)(189998001)(575784001)(7350300001)(25786009)(53416004)(69596002)(50986999)(76176999)(5009440100003)(6486002)(36756003)(478600001)(7736002)(101416001)(305945005)(66066001)(85772001)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR0701MB2071; H:mjaggi.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR0701MB2071; 23:+BA9ypiAiKGPlIj3EVexAyYBL1J7qnUUAgebFDw?= =?us-ascii?Q?hwxnltghm1OiaNsA74ULhHTyyc2zFmCOje9lMzQtWUA9yzyqh74J8m3hLKDY?= =?us-ascii?Q?vTc45clJU2fkk7/n5yTmxJWAL/ruZlFJJJ9tipZCuu/GlKY2b4tx53l4MILz?= =?us-ascii?Q?IsEvmxHO3B8EErcdxfbZRzP3PT8w9e1yuJPPqIR4cwWA5kWXfxpvjmDGSh24?= =?us-ascii?Q?EVUFgbnruohzuiGi8FmiJjqZvOrSUV699KyOlCZixRIsT0dTDOOGXhaeIGuI?= =?us-ascii?Q?SA0zK1m4dxcat8YxGyrfy/iLFdhCzG9HJnYmsnXfHdpeV/15HprFCmO0W3Cb?= =?us-ascii?Q?gW7ad3eWipLBEobLAZ6pPvee/Zlxk+S8gG3yrY24SnjLQSIwlWmwhvbfgLGr?= =?us-ascii?Q?08cKWQGJetG0aW/oX8nj/Q84407BZk/vhlI5cDmCZP+aImWnDBHQ1V2CUvjj?= =?us-ascii?Q?IBmZmWRbAzqs9muhFEgLb2jOD60TGx8NqpJjRwhgdUoL2qMgq1HARUw4olEK?= =?us-ascii?Q?jeDHlJLOmMK2DD4/CUfQAbjaPgxlrwqljkeOhWFm4oRHUDvGTgD2wHnvFq+I?= =?us-ascii?Q?GuCAG8ruJBqfaoyOIgWl8++4wOTDfg67NyIT617/vuMrLZixVmros5msrJll?= =?us-ascii?Q?/QswTwTfyGJOXluGArnP9qcXGH0CcluSpQIDVigw7/kg2zjoiMywX06EeGru?= =?us-ascii?Q?zjYABsXfnb4gKT5yVkmZSx7i0zVd4vW7JMMtL+d5VPE7NpCDFs/9co1uoVYG?= =?us-ascii?Q?p/xoikuxbW7+601NXObDuTk1wYw1bLQgVlOZtbKdoTSCid7jjGm6fALR1CeR?= =?us-ascii?Q?YzV8O7c8gn5Oex4WhmqQ7cPl12Ckcgl98Z8mcmfyzHt6zOOY3qye7v50tOhj?= =?us-ascii?Q?Oogse8SZSnpJJkbwvnaRBWgc+6CjsKNBFUNRPfyiQXHSPK9ARWJu7HY19ZHE?= =?us-ascii?Q?ohWguE0HMStc6dECS48jSDS6MiDjIFB4HXMvSvDNAXqeELeP7LCRkphTMkrc?= =?us-ascii?Q?AXSiajhiiYv8KprbU9CjhlwoLBKUWExv+EttuJz7WMSG+2dJTrMiHK80qNgS?= =?us-ascii?Q?n2kspjac9MZ3SNGcagDBG2LPtUYoTp9Q9eTTfy2XPx7THfOkCsmfQ17KfCuW?= =?us-ascii?Q?Nx2Rv4fQYU7WRCyNKYDhy6WPL8AX8tyvjQ4F+/UB6uRjRFY60Uq7Jf9IDKhr?= =?us-ascii?Q?z9AyoE6W73lm+MkNdDkfu4VqmakouqFE91Zg2kBe2TO/t6cmTsnhmks9PyC8?= =?us-ascii?Q?cl3feQNjHOOxRldMfrxiW7njKhS8qfwkQZZ2YfZ8Pd/V5zH7aX7eWwRzZBR/?= =?us-ascii?Q?VL4LhwnAIx70nO+L1BrvkXZA=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR0701MB2071; 6:YhWz0DngtXHp62Yf1Hd731h87EbIRCrr4b9NvqBcs73q/HD+d4entOKDMBnEnKAVh/g9FyMfzZVg+DE5bIa892xZ4/Jo775CGnH55HXrhx3XadO7yzWhH30Zcb8K26QN+bXKk6AF3drUfNDJGExVYWOmoEBiCLOsdHVkVsyO24LkFL7TnraAp3Eys1R9kMgNlRjAIlxbFm6lfeM7T7ut0HI2z8PKUccm7mPIIBZMbYDktIJKtbudZBSc3Q64cVlbyayqBjch27s6sNVyMhZiYRjBdaYsuKlO84z5JkoFw+7MLCqKmorPv46/8aTzwOauYCNtUUsbTIJ3sCWvu2BmaQ==; 5:P3tgIJF0YD+XXAtEBxW3t6NL0G/3t25iB6rL1JlpIpZC8xyJ2oUxLfy/v7D0aQyiGFKicUKRwhdHP7O7RmodzigqNCg2/sh4ZGsac9JflPgEbIMaZ1nnkX8FZVF1t9j8IwqODAozIEYROnQBUYVb4g==; 24:28gkC8+maihmZQF5xoPMDXoOI3X/y2ouc7GSvjAJqLxDjSJudWVeqpf0R0ewzTMFG0Sh1uOsMm7569G14wecRCgKCem6GX5Cfx6fghkEKhE=; 7:IIIZdmJY5ssjG3dgZK5agGE3oOdX99SAY/KE5IBuINfsjBnx5Erh99EeU5mKS0bMYUKKLraptkVs96VzPE4wfcoS2Om9+Mrvop/MVJwbIvKQt4SIWuzSC3/mYap1ecM5PIMZIiWiRpE1b4w+yr95E42d3z2m+lygIdJ5si5uDMYjJHbnbri2qzg9aIUl2Ij9v8ti/Osx00JJ8WM9Kc70cnDitld9Z0WdzGB05/0Ir74= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2017 16:56:22.0509 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0701MB2071 Cc: Andre.Przywara@arm.com, julien.grall@arm.com, sstabellini@kernel.org, Manish Jaggi Subject: [Xen-devel] [PATCH 2/2] ARM: ITS: Populate host_its_list from ACPI MADT Table X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" X-Virus-Scanned: ClamAV using ClamSMTP From: Manish Jaggi Added gicv3_its_acpi_init to update host_its_list from MADT table. Signed-off-by: Manish Jaggi --- xen/arch/arm/gic-v3-its.c | 14 ++++++++++++++ xen/arch/arm/gic-v3.c | 8 ++++++++ xen/include/asm-arm/gic_v3_its.h | 13 +++++++++++++ 3 files changed, 35 insertions(+) diff --git a/xen/arch/arm/gic-v3-its.c b/xen/arch/arm/gic-v3-its.c index f844a0d..c4f1288 100644 --- a/xen/arch/arm/gic-v3-its.c +++ b/xen/arch/arm/gic-v3-its.c @@ -32,6 +32,7 @@ #include #define ITS_CMD_QUEUE_SZ SZ_1M +#define ACPI_GICV3_ITS_MEM_SIZE (SZ_64K) /* * No lock here, as this list gets only populated upon boot while scanning @@ -1020,6 +1021,19 @@ void gicv3_its_dt_init(const struct dt_device_node *node) } } +#ifdef CONFIG_ACPI +int gicv3_its_acpi_init(struct acpi_subtable_header *header, + const unsigned long end) +{ + struct acpi_madt_generic_translator *its; + + its = (struct acpi_madt_generic_translator *)header; + + return add_to_host_its_list(its->base_address, + ACPI_GICV3_ITS_MEM_SIZE, NULL); +} +#endif + /* * Local variables: * mode: C diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c index f990eae..0be8942 100644 --- a/xen/arch/arm/gic-v3.c +++ b/xen/arch/arm/gic-v3.c @@ -1567,6 +1567,14 @@ static void __init gicv3_acpi_init(void) gicv3.rdist_stride = 0; + /* Parse ITS information */ + count = acpi_table_parse_madt(ACPI_MADT_TYPE_GENERIC_TRANSLATOR, + gicv3_its_acpi_init, 0); + + if ( count <= 0 ) + panic("GICv3: Can't get ITS entry"); + + /* * In ACPI, 0 is considered as the invalid address. However the rest * of the initialization rely on the invalid address to be diff --git a/xen/include/asm-arm/gic_v3_its.h b/xen/include/asm-arm/gic_v3_its.h index 1fac1c7..2b7493d 100644 --- a/xen/include/asm-arm/gic_v3_its.h +++ b/xen/include/asm-arm/gic_v3_its.h @@ -105,6 +105,7 @@ #include #include +#include #define HOST_ITS_FLUSH_CMD_QUEUE (1U << 0) #define HOST_ITS_USES_PTA (1U << 1) @@ -135,6 +136,10 @@ extern struct list_head host_its_list; /* Parse the host DT and pick up all host ITSes. */ void gicv3_its_dt_init(const struct dt_device_node *node); +#ifdef CONFIG_ACPI +int gicv3_its_acpi_init(struct acpi_subtable_header *header, + const unsigned long end); +#endif bool gicv3_its_host_has_its(void); unsigned int vgic_v3_its_count(const struct domain *d); @@ -196,6 +201,14 @@ static inline void gicv3_its_dt_init(const struct dt_device_node *node) { } +#ifdef CONFIG_ACPI +static inline int gicv3_its_acpi_init(struct acpi_subtable_header *header, + const unsigned long end) +{ + return false; +} +#endif + static inline bool gicv3_its_host_has_its(void) { return false;