From patchwork Thu Mar 30 09:13:20 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Chen X-Patchwork-Id: 9653351 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 77D586034C for ; Thu, 30 Mar 2017 09:17:08 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5CFDC28509 for ; Thu, 30 Mar 2017 09:17:08 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4EE4C2851E; Thu, 30 Mar 2017 09:17:08 +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=-4.1 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, RCVD_IN_DNSWL_MED, 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 AA16B28509 for ; Thu, 30 Mar 2017 09:17:07 +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 1ctWAQ-0005le-61; Thu, 30 Mar 2017 09:14:54 +0000 Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ctWAO-0005k4-Im for xen-devel@lists.xen.org; Thu, 30 Mar 2017 09:14:52 +0000 Received: from [85.158.137.68] by server-6.bemta-3.messagelabs.com id 0E/A9-08534-B8CCCD85; Thu, 30 Mar 2017 09:14:51 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA1VSa0gUURjdOzPOjuLYuCp+Lim6Gkawi6/ALMS MIoishMjC0LGm3a3dVXZW0R+R5lqmGGVhPkolJcrQwEcZar4Sy7RUJDJFEixt8UdqUT7QZpzV 7P465zvnnnsufBSuyCSVFJdu4cwm1qAinYidl2Sx6vz+8bigoX6n8Oq5KiIKHe5pWcaOozMOe lNScnqig271yTcyZcIn3fqpFstEtR55yIkimEwcrq1MYiJRMEUYFOZ0kxLpxcDa3bROEDOMoK WnBJeUVwiypt/YyU0MfrSMERKpQFBWNSIojhTJ+EHB7SxCxO6MNzzNuy8XMc5kI6hbPCRiN+Y 01I29RiImmB1Q1rOAiZhm9oP12RwpYmB8YPT9jfVMR2GeVTq5PlcwUVC+NOQg+V3hbckUIeUD dM7M4JLHG+6NDyApxws+jg4KHSgB+0OfNUbsDMwYAda2q5hEKh3g58Ca/cJRWGvrsON8BLm1S snURED1yDIukRoSBher1iu5MAp48aXVHvUcg9zyFvt1A6wUfsUkvBeGiipIyZSNw6PRYvktpC 7d8o/SLf+oRFgNCuQ5cxpnVodrksx6rc5iZPUGdXBQqMbI8Tyr5QxsEq85l2ysR8I2yITTjAa vH+hCXhSm8qAbHozHKVySks9n6Fhel2BONXB8F9pOUSqgQ94JmquZ03LpF/QGYaU2ZKCcVe70 HlGm+RTWyOu1ktSH1NTqfMcspiBMySZO6UnLRRMjmnSpps2IjcUcRt5KNxoJpRTOKZzZqLf8r 9uQJ4VUbnSEmOKsN1k2X7IJJTChhOe+z2IJC/tPUmaiBF/bZf9jwbPRVtfW1F8rnQdlkaqTxU fu+NlkcPHKcFnIvMW2INe0y+UPd2ts36uK20/IMwobp1/KPsTUhCT+8W3IuutsTPQweIct1ZF qGq+tqzcF5PeeHc0xFExC/Cm24PGE/3RA5ETYtujYtCnaJz60FdNmEI3NXX6BvyNUBK9jg3fh Zp79C/ndMcqTAwAA X-Env-Sender: Wei.Chen@arm.com X-Msg-Ref: server-14.tower-31.messagelabs.com!1490865290!92839061!1 X-Originating-IP: [40.107.0.82] X-SpamReason: No, hits=0.0 required=7.0 tests= X-StarScan-Received: X-StarScan-Version: 9.2.3; banners=-,-,- X-VirusChecked: Checked Received: (qmail 7976 invoked from network); 30 Mar 2017 09:14:51 -0000 Received: from mail-eopbgr00082.outbound.protection.outlook.com (HELO EUR02-AM5-obe.outbound.protection.outlook.com) (40.107.0.82) by server-14.tower-31.messagelabs.com with AES256-SHA256 encrypted SMTP; 30 Mar 2017 09:14:51 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=wY44jWN1ntM0DZraYJPwsmpN9fxYFnRuKHq97qITI8g=; b=nPxfzj1QEZCvPDw5D9CTbcST4OHhOQdA0cCHZqklQlC/dR5IZ8AxrDxGcEVtm662kqhhKqHfWZisget4D2DYdFBchmRkAG2g4HsZ4yFwLTb0000lJGt5y+ASmBFMA8sEu+UkPM0VcD34G7ZnIWO+B02Hyz85FNKB51+HweqlTtA= Received: from VI1PR0801CA0009.eurprd08.prod.outlook.com (10.167.193.147) by DB4PR08MB0224.eurprd08.prod.outlook.com (10.161.251.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.977.11; Thu, 30 Mar 2017 09:14:33 +0000 Received: from VE1EUR03FT048.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e09::209) by VI1PR0801CA0009.outlook.office365.com (2603:10a6:800:32::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1005.10 via Frontend Transport; Thu, 30 Mar 2017 09:14:33 +0000 Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 217.140.96.140 as permitted sender) receiver=protection.outlook.com; client-ip=217.140.96.140; helo=nebula.arm.com; Received: from nebula.arm.com (217.140.96.140) by VE1EUR03FT048.mail.protection.outlook.com (10.152.19.8) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.977.7 via Frontend Transport; Thu, 30 Mar 2017 09:14:33 +0000 Received: from P300.p300.shanghai.arm.com (10.1.2.79) by mail.arm.com (10.1.106.66) with Microsoft SMTP Server id 14.3.294.0; Thu, 30 Mar 2017 10:13:56 +0100 From: Wei Chen To: Date: Thu, 30 Mar 2017 17:13:20 +0800 Message-ID: <1490865209-18283-11-git-send-email-Wei.Chen@arm.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1490865209-18283-1-git-send-email-Wei.Chen@arm.com> References: <1490865209-18283-1-git-send-email-Wei.Chen@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:217.140.96.140; IPV:CAL; SCL:-1; CTRY:GB; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(39840400002)(39860400002)(39400400002)(39450400003)(39850400002)(39410400002)(2980300002)(438002)(199003)(189002)(4326008)(54906002)(47776003)(50986999)(38730400002)(110136004)(76176999)(50466002)(6916009)(77096006)(6666003)(36756003)(2950100002)(356003)(305945005)(5660300001)(8676002)(86362001)(50226002)(104016004)(189998001)(8936002)(2906002)(2351001)(106466001)(48376002)(5003940100001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB4PR08MB0224; H:nebula.arm.com; FPR:; SPF:Pass; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; VE1EUR03FT048; 1:euVpblBXxYFhdV63QFgOEJnQwnYSmlpUhaAS6NgYZC9NlD6FpdEwoqUyYyxzQpmw/cIh8Z/gPegdEPmdMP9S/M85NADl5R8fE6kjk70ut5NFdRvpM9rHf2cGYTQtH+26Rq1cju990oM/grd6K1vYP320a2POcpmqACH4Veqw2PKblw7MihLms4wKkf/VSu0YnqYUGX4PJoLK8E2ffpA9sBhPPQCQuLwIAxqiOYiwrlKUG67LQOD/BNS170WRZKwCZjWFiyYF60UuPm3PHNRzmb4Q/SExTJY9eCWZKnGYpWsHoTMCJSNC4H6j4LkL2EkITHi8vVJkAGfzKzAQ37+jnSqwie2bJhPwYuWT4SeklMQCogQFCnZQRUoe4s78dfhDnpzKP6lS9tZIj6642aDPIrsVEdxDPq4oKWxvoIT9HPIrvX7O6vApwg7dRv7qGCZnpbx0ZiIDJNjrScFjS0nPY6CeZijKEPL49+nQRFptaFGpTgFlq2ivQnmaqg9AJHgj9fVvZybyjkp0xHe/IZ4Ykx4MPP+76qASTXROMrCpflp8P58enJ2SCfM71THs1HMAxtuBAnqAoOgfU6RsPaJ9NzxYRKCSMHNkeosPsxT7O5Q= X-MS-Office365-Filtering-Correlation-Id: 0569ac3e-55ed-445a-cda9-08d4774d2e31 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081); SRVR:DB4PR08MB0224; X-Microsoft-Exchange-Diagnostics: 1; DB4PR08MB0224; 3:P8fd/5PpJn5TrPzbjrilk9kvUuR+7S1DnixGX7hzgZsqkDTA1CI7VjslmQMDsbWDJhqCVtY424SlkI9HgSXy/a6BOjeX/sWa6S1+Vinli9Oa8CA8nmabezGrr7qlkN+r/ZQUd1hVPKjqAA/9/xrrPlSg1AnDwvHmhl4FTCdprHawR5WhhpClCPo0YXUYhBcwK7lX7sVHKuxVsXKX07dPXCoWkDc7iPHmEymg9A9RMzRAF93F8W3SEq63Dqw3xgFzECKR7I4shfg12Gj7Ah/I6Ej7QsvSlAQbqL3FdMc2SzgPwEGxa6Eluq1tP0GIHv0Oc07vLCZo/+FdpSbHgfkQTZMMkaL9c5FkbqHY2X7oPJbQTiqOlldON0pZ5RdW8skDExe6sCLoHeXEnm74G9gYKm41FayKt3WuQSsabA9ZDOwZKDj+S+3qPQdQ/PhOn6QmhqzWFmltzeM4P723zZASBEIHNbQCU+R8PGaBGfLQdkldc2TuL5GGzlxvrXn3lWp5 X-Microsoft-Exchange-Diagnostics: 1; DB4PR08MB0224; 25:RZ+f0xq7iquCeK+WQ8x84y8VxuC3CBGhbrxNVBKxmG4Oyfzs0an/lqjKI5wkPmwz3J+cQjqht8c+mmGRtEFR6FMJUOpkAgXyEGsxvRF4GgpJx8fMAfK0UTOJMatewmo5jQR70e/yvVnYtZ3vVHtruGgWrhGLmG9zqgTrsUrCr4nya825tx7YnIJ6NGrwRKJ1rfXaYryiSpMCZXv8h+Z3yIfmrt9AY6UrVXY1inkDug67y+NrdIRHvcABh0YKtsf0IgcqQBTPtEshk+xMufdq5LRoSQkvdPJwqidrwgfD9nEOf/HottdadnilbLoAa2Ka+24jiQsNBT53oMANBHvkY3I23of5mTVCNGgmUtmbB5GgO/OAMhe6nYrgPJ2g23DvJe6IJRic2yiEAXvw+IEScSzRFugXjfrRS1aq87/BkKjheexc/+oYoi7ew8LbG+v5G8Jpe9zVHeZVjiGm8mxMUQ==; 31:mJXTBY3tDgrvOXPVwjXx3UcGMj9lm3+9GhFfBolPLjF+mrxHHMqdH8W/l1bddCIhM53bRNv4tmxbo9EHrl/sf3xS4V+Lsy2166WtacLx1b91uqYlcSHj4usn8/+yqJ0QvdDVID+JHRWDHPQ5WOKb+vUi5MxDPGFsKr76kk0knz5NzJw+JxVuVe67LlgMVk9Ic5rWTxvh+Y4taAXWNCtHcsqpiPSI8LAypcJzVDeEF7UgoSlDc1DFIHaM3KeO50t9ODJoB+jqge7nCyiGFomrUg== NoDisclaimer: True X-Microsoft-Exchange-Diagnostics: 1; DB4PR08MB0224; 20:OSN6Rk+o//yHxsHn7IbZ8RzF/uUpejdJZly5ci0jcY7sQtIYRLdMjjxB3yZxnp4CWT7OeFAl4ZOA3rzZ8DDiZUxX9YtoLDVd2xyqadgMoCr3QHSt4IKnGi7pLIspONTYdSexIHIIIhdYqcq1CWzGbKxi+dm0KNYpEMhkbzq5LqhB9br1xjW2HJfd6w9Z7yXMimKK2q2DpmZB2+E9Lu40mdJthIsoH35puY51vlU/rUdV1R3MWmWTc3axhPTpLv4e X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(13024025)(13023025)(13020025)(8121501046)(13013025)(5005006)(93006067)(93004067)(3002001)(10201501046)(6055026)(6041248)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(20161123562025)(20161123560025)(20161123555025)(6072148); SRVR:DB4PR08MB0224; BCL:0; PCL:0; RULEID:; SRVR:DB4PR08MB0224; X-Microsoft-Exchange-Diagnostics: 1; DB4PR08MB0224; 4:6fFdZ/YQYxWlpO5CJi/ALLFM2V0HgPpDyq3g5+0/wPB8nFZ+o5GJ88KOBHOiV5uc6BBUYJmMsPaL3bwmjg5Y7nNe32ISAcrGzqzZ7V+1ddG1a2Tv97DtDf3k4kuUu+xNzrNPR6eYNe9coF0srGYIIg740tbkPu0C0rOS+4TssS94TcImLMG5R6nZWpKMBBK1ZNO3g5Aho8a/U6VevG6yVyBlXTG8bFFB/2aAAixS6366HlnoKxCwmqlpl/WUKr2QLgVM1FRCIzgOstrjvfmiH0RVgJfvsBV4x3QH0yQPv+ySIzuS8eAu/4aORR2vyK4gjqgVA+oOZLvwWdtdxnkZ7JbPoky/n1LseGcsAqpvDuw7t9Ja4gS948kC+RMZb+LOHh/jUk/r3fDPCMlaC0Ys88wrL+zJXlsFn+Tj5wMbTMS0PAOvUNeUY/gKatjjgSbcLaYa8zUN2y7Y6BQ/gsFMC2C4wKj2PlrU+Hmmjo+3yMzkGpAM0+2OUj3jN2Q2WGoQR8rQEKFT23dY/gl3XVBOUPuEj3lElofU31ZSbwSjtQc5f07TsNxYkEbF8bKHJgxVDXVRxFsyyjjC67r3tE57sIwbdxRR+yUlj3VZISG4PGP7dQxgICs0GlJc+Sx1Bf8/+hZ4dbem7S8h4puP/YaRJu16NyZtDstw1rZFj+ghzHTYxzR4YoLJwvO2K2Ti/Irx10w960HoqowFp+p/iEHfnHSOYZsCAAG005dBhxwu9lNZUP73XnQbU+LtWlSz/tY3KXNekawppaLZb/uoD1gkZNGEfZj9FY6VnLG8D4F/n939bwJQ7y2T0ip/jPKAqjCByi+C/15YF091oL6/WfvT8yaJk/SAmTW4E+weTG0f8dA= X-Forefront-PRVS: 02622CEF0A X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB4PR08MB0224; 23:njuh57hhMJGireq9uMlZoTihIUJDQSUNflqOFKVyi?= =?us-ascii?Q?mHYlWGyXYgHyZdZcd5IGRwd4uKhiE1ohBHjJFmmhc03W8k7o6/JiN7aBo47Z?= =?us-ascii?Q?Pvr5ooqRfKFR64MKEuwfUjwDcjtbxvLnv90dxx4rllGxz9MKvSDG0hUdCNld?= =?us-ascii?Q?LZj7bHmnUmwmoYLkqbF2ie5oVan8HJzLGBeQyJJcxeShh2wSNnIor7kxQQmA?= =?us-ascii?Q?6jiTY3wevR7vKdKhTZBXVx7T4VO/j4wYALaXQnTzdRObg8SNKjyXgUjEZKAl?= =?us-ascii?Q?YUrnX4sELZfEbk0w3hBs7XaCFqsTr4B7tF/iRJSxtYJXKVrMC3qgxLb++AQ0?= =?us-ascii?Q?ORIGRskysmVLJMe9E+tidUlP8uTe3RqfqswfDT74CuF0F1maUkbUApus/jqU?= =?us-ascii?Q?+XetzksHjYlAAbtCnpTEc++o4lUHE6Z4Sz5xwRphir1C5elk+vGmGnEnGBpL?= =?us-ascii?Q?ma24pyEy60ktEJgKGr7rZpwbPhZ6HWnKoZ4PxLcwwUp/Imwgv2l9hqIf1gXv?= =?us-ascii?Q?PFw/AzPbsvCWRp9gXr4WWJ5oAT359LGMXZzlheI08Av5UESmn6OL0WkcFbCq?= =?us-ascii?Q?QXZ8Vb1i6qjp75BJqclL4A+fHVJnuU5wuMqAxhs281L75ordjmXJ8+NmVk+n?= =?us-ascii?Q?PtpkFLFJ9Ga+aDTQlwMSs5T/WH+83I1z/g2UjQj0e37XfdafVrFNiVEGJ7Ll?= =?us-ascii?Q?LIueprDvxsT+DfBQBX2hCTghCvkbllaBo0qmG7UoBnmeRNdP6E2VZdYSLMXv?= =?us-ascii?Q?VBNfc5YnfXh/AqPknTiK0ezw4J5SQe+YknvTViKVDhGKk/lQeY+jCpib1O1H?= =?us-ascii?Q?2gP1BAMWXG7DsTb1Ob6fM0uHVHyDTY5PpwrYwAd5WsU2J9kBkD3hvZmhrFzB?= =?us-ascii?Q?V6j78zI+x0p4k3ahGpBndPobIq/+qYs4vZUU6wN6ps1NkZe/f6XzBMmnA8sa?= =?us-ascii?Q?HjvyzLEeWOuaWNhExwEC/oXFOKpvEB73BdETtguIQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB4PR08MB0224; 6:K8thSOVa6LD5l1gPomBewWMh82JCKd6GqAJy5DtBONtzatwk0ngh0Yq90nIygNrGgOKLP/roZ6k+lB4J+KnhXqXH/9xqO4Yn2aFTWLgapzPN69euqn+MC19+ooaP5+AukW/LYpBbewa0GahYoA81zwdPIjqoUh1AumlYpMSDQTuBLrk35AJQdY/KFeYeKWaXwE0yVANQ8h3UX9NOGhS+GzM37KSDfQ1kDrHawmJ01WTECQbRkFyXpnIvAZ2YJ3TMFupl7nj3x6ynHabHstzQNB623jCZohCAVrBJjYOZyBHbCIU8SvUcWL9lWbQTS+sBT43ihjKdE1jjnAvRBfuDJTEnPUQIaJjJaywZNJxWDF+Fm7L+xpe/5hFiPqkf9v/BuRZiXekpSxsAIZB/bKitTnqRILqfMMt0ANKFcbwRosk=; 5:vwFxFVnaMP3v6DXc1AO1Wk7Ym3YVzmpNKLw3KSX5hYsO3p+c7gP4TYQNeD2muRTCgIlxv/Xd7HOMBxmLVijp8vtgTlv2/e+gfgqvuZGRSd0IuRq5EvidVATdQuKXaVBZuuupCDzZzLxvTRS8GiADqg==; 24:MhwXL62Jk3yF3MQx0NPsqdNaNKF1uJU+QNkoT+ac4x+n6JBTVXiMK6Gh9FYnnVWin2gPzkMhwM2i1uka7vdq7Lak8pfhH01FYUjsvZSlvJo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB4PR08MB0224; 7:Sy4ZN3u55Mr1T+mr55C8IozMoHEB3sfMqF2qbXparF3RiA8OWVZDPv8M/KaHiD5GYqWkD8LnRCiaOuDdNiHIJzqx3SmAdwiCqZPkb/01D2so9D15fD1+Pne07zHgxveuUfm9LcGyq7yr9zGQEptWxvti+thToObUcY7V3YMgMNmZni/d1vMS7R2B6qldPQytK0Yp+2MnQ4z8qTnqlVy4MrF8au6VK/QbU0BhS91Gg8IUGue/vhUJsPCtFuExDnUc8vTtIh/G60iYjb3rK6Y4JRTuy/QomjLi2RV2Kkwf+zujoUAr+56gB5hipu/gKKHEKXFyRS48r0SjtcjxSV1E/w== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2017 09:14:33.4472 (UTC) X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[217.140.96.140]; Helo=[nebula.arm.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB0224 Cc: sstabellini@kernel.org, wei.chen@arm.com, steve.capper@arm.com, Kaly.Xin@arm.com, julien.grall@arm.com, nd@arm.com Subject: [Xen-devel] [PATCH v2 10/19] xen/arm64: Use alternative to skip the check of pending serrors 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 We have provided an option to administrator to determine how to handle the SErrors. In order to skip the check of pending SError, in conventional way, we have to read the option every time before we try to check the pending SError. This will add overhead to check the option at every trap. The ARM64 supports the alternative patching feature. We can use an ALTERNATIVE to avoid checking option at every trap. We added a new cpufeature named "SKIP_CHECK_PENDING_VSERROR". This feature will be enabled when the option is not diverse. Signed-off-by: Wei Chen Reviewed-by: Stefano Stabellini --- xen/arch/arm/arm64/entry.S | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/xen/arch/arm/arm64/entry.S b/xen/arch/arm/arm64/entry.S index 02802c0..4baa3cb 100644 --- a/xen/arch/arm/arm64/entry.S +++ b/xen/arch/arm/arm64/entry.S @@ -1,5 +1,6 @@ #include #include +#include #include /* @@ -229,12 +230,14 @@ hyp_irq: guest_sync: entry hyp=0, compat=0 - bl check_pending_vserror /* - * If x0 is Non-zero, a vSError took place, the initial exception - * doesn't have any significance to be handled. Exit ASAP + * The vSError will be checked while SKIP_CHECK_PENDING_VSERROR is + * not set. If a vSError took place, the initial exception will be + * skipped. Exit ASAP */ - cbnz x0, 1f + ALTERNATIVE("bl check_pending_vserror; cbnz x0, 1f", + "nop; nop", + SKIP_CHECK_PENDING_VSERROR) msr daifclr, #2 mov x0, sp bl do_trap_hypervisor @@ -243,12 +246,14 @@ guest_sync: guest_irq: entry hyp=0, compat=0 - bl check_pending_vserror /* - * If x0 is Non-zero, a vSError took place, the initial exception - * doesn't have any significance to be handled. Exit ASAP + * The vSError will be checked while SKIP_CHECK_PENDING_VSERROR is + * not set. If a vSError took place, the initial exception will be + * skipped. Exit ASAP */ - cbnz x0, 1f + ALTERNATIVE("bl check_pending_vserror; cbnz x0, 1f", + "nop; nop", + SKIP_CHECK_PENDING_VSERROR) mov x0, sp bl do_trap_irq 1: @@ -267,12 +272,14 @@ guest_error: guest_sync_compat: entry hyp=0, compat=1 - bl check_pending_vserror /* - * If x0 is Non-zero, a vSError took place, the initial exception - * doesn't have any significance to be handled. Exit ASAP + * The vSError will be checked while SKIP_CHECK_PENDING_VSERROR is + * not set. If a vSError took place, the initial exception will be + * skipped. Exit ASAP */ - cbnz x0, 1f + ALTERNATIVE("bl check_pending_vserror; cbnz x0, 1f", + "nop; nop", + SKIP_CHECK_PENDING_VSERROR) msr daifclr, #2 mov x0, sp bl do_trap_hypervisor @@ -281,12 +288,14 @@ guest_sync_compat: guest_irq_compat: entry hyp=0, compat=1 - bl check_pending_vserror /* - * If x0 is Non-zero, a vSError took place, the initial exception - * doesn't have any significance to be handled. Exit ASAP + * The vSError will be checked while SKIP_CHECK_PENDING_VSERROR is + * not set. If a vSError took place, the initial exception will be + * skipped. Exit ASAP */ - cbnz x0, 1f + ALTERNATIVE("bl check_pending_vserror; cbnz x0, 1f", + "nop; nop", + SKIP_CHECK_PENDING_VSERROR) mov x0, sp bl do_trap_irq 1: