From patchwork Fri Mar 31 13:07:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Chen X-Patchwork-Id: 9656367 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 57A1E60351 for ; Fri, 31 Mar 2017 13:11:07 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 48FD927F93 for ; Fri, 31 Mar 2017 13:11:07 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3DA8B28643; Fri, 31 Mar 2017 13:11:07 +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=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 BAABF27F93 for ; Fri, 31 Mar 2017 13:11:06 +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 1ctwIZ-0008SG-1p; Fri, 31 Mar 2017 13:09:03 +0000 Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ctwIX-0008OK-Jl for xen-devel@lists.xen.org; Fri, 31 Mar 2017 13:09:01 +0000 Received: from [85.158.143.35] by server-6.bemta-6.messagelabs.com id A4/3D-03430-DE45ED85; Fri, 31 Mar 2017 13:09:01 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrMKsWRWlGSWpSXmKPExsWSoc9gq/sm5F6 Ewd0nShZLPi5mcWD0OLr7N1MAYxRrZl5SfkUCa8a+v3uZCqZqVtz6eJexgfGEWBcjFweLQAOz RM+0ZtYuRk4OIYFlTBIrDluAJIQEjjNJfOmexwjiMApcYpTYfXQmM0RmH6NE4/MTUM5EJonTj +8wQTjzGSWWfZnBAjKMTUBRondiI5gtIiArsbprDjuIzSzQzCix7qcbiC0sEC4xY/orNhCbRU BV4vGDm0D1HBy8AvYSzzZngYQlBOQkbp7rZAaxOYHCl84uYoK41U7iZ8NOsJG8AoISJ2c+YYE YLyFx8MULZogaWYnpd84yQsyRlLh28wI7yHgJAWWJUy1+EOGLLBLNv7hAzpcQ2MIqsfnOeTaI hK/E/Jfr2SES3YwSS3d/ZoZwtrJIbO7eB+XsY5M413QH7CQ+ASGJ7Q/2MEEktjFJrJr9kx1iV o7E3AO/mCBsa4mL0+azQRQ1M0vcnnOaZQKj7iwkf8xC8scCRqZVjBrFqUVlqUW6hqZ6SUWZ6R kluYmZObqGBmZ6uanFxYnpqTmJScV6yfm5mxiBiYEBCHYwflsWcIhRkoNJSZT3++O7EUJ8Sfk plRmJxRnxRaU5qcWHGGU4OJQkePuC70UICRalpqdWpGXmAFMUTFqCg0dJhPdpEFCat7ggMbc4 Mx0idYpRUUqctxOkTwAkkVGaB9cGS4uXGGWlhHkZgQ4R4ilILcrNLEGVf8UozsGoJMyrCjKFJ zOvBG76K6DFTECLLb7eBVlckoiQkmpgdFhrL9vg6q6/4srhKs42zdaSySt7PE4fLL11TtTM5t bh3NKemx9bpp38XtN5KrpmXqTn4Qyeh86WZ6K3Fz6suiRQ+PZLpertJyt3hckm9u/sE31Uf3b +1y1OSQqsD/UiBV4cft58/+vCU6u2iWkWH9FYsVJHSlllnbylaK9QTqPn3g1lf/nvKbEUZyQa ajEXFScCANcastmGAwAA X-Env-Sender: Wei.Chen@arm.com X-Msg-Ref: server-14.tower-21.messagelabs.com!1490965740!55645406!1 X-Originating-IP: [104.47.0.61] 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 28696 invoked from network); 31 Mar 2017 13:09:00 -0000 Received: from mail-he1eur01on0061.outbound.protection.outlook.com (HELO EUR01-HE1-obe.outbound.protection.outlook.com) (104.47.0.61) by server-14.tower-21.messagelabs.com with AES256-SHA256 encrypted SMTP; 31 Mar 2017 13:09:00 -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=qW/7yMdd/R1RGcj7NuiNhYm7mDZ2XoOMeAZwSv7l82Y=; b=Fgl0HbbymFakTQezQKVF0dMUSuFiXdbtvbY+p+Z5OBVGZqAcHQWK/o/HetajSHu7g8XTh6okt8oeePB/Yv4jtUL3VVShy1ta4SlmOhCBJAi6P9YJLRrgrCbnInqabWHeyK0kkckPODBU65/Gye3K6Nj8Sk0nEqA6RBn+pAMQwxA= Received: from DB3PR08CA0027.eurprd08.prod.outlook.com (2a01:111:e400:503c::37) by DB3PR08MB0217.eurprd08.prod.outlook.com (2a01:111:e400:504d::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.991.14; Fri, 31 Mar 2017 13:08:50 +0000 Received: from DB5EUR03FT012.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e0a::203) by DB3PR08CA0027.outlook.office365.com (2a01:111:e400:503c::37) 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; Fri, 31 Mar 2017 13:08:50 +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 DB5EUR03FT012.mail.protection.outlook.com (10.152.20.161) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.1005.5 via Frontend Transport; Fri, 31 Mar 2017 13:08:50 +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; Fri, 31 Mar 2017 14:08:38 +0100 From: Wei Chen To: Date: Fri, 31 Mar 2017 21:07:54 +0800 Message-ID: <1490965679-619-15-git-send-email-Wei.Chen@arm.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1490965679-619-1-git-send-email-Wei.Chen@arm.com> References: <1490965679-619-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)(39410400002)(39400400002)(39850400002)(39860400002)(39840400002)(39450400003)(2980300002)(438002)(199003)(189002)(50986999)(48376002)(77096006)(76176999)(4326008)(110136004)(38730400002)(6916009)(2950100002)(305945005)(356003)(36756003)(6666003)(5660300001)(47776003)(5003940100001)(189998001)(106466001)(2906002)(2351001)(104016004)(8936002)(54906002)(50226002)(86362001)(8676002); DIR:OUT; SFP:1101; SCL:1; SRVR:DB3PR08MB0217; H:nebula.arm.com; FPR:; SPF:Pass; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; DB5EUR03FT012; 1:R536vfwkCfWJGUzxBdw8z3TMOMQgkRRKYSX11xZgUlalNy3Tzhn9ceG+8l4rWXDMW+z/AyBbB420fpEq/YJcCv1DOcRVcEfBCZ49EAjWtuQXurZe6kL7meHuQQjRYMK3x/P96guMvZB8K+COgAtY05x2RX+ex6SqpCVB4jmlgMMuGOhiOgi/p/6ihBcb/Ue5sNQcyyijW3G4f1TbfHX6+KSdij1EXSIxjQk7UauH9FPIHUaXlJS8Kke16xtzXJws3S9yU0fMa/D9xDoU5Uuri7dnewx7QdSBW6teG6GKVhdMCkhLYZ2BycWM+Kxs6H2s72b1dN3a5OWjuif4tcN35yLozhyHyQYf6u3TAo7nRl95E9Nycb+vjHahAeqbFHi9s7iatPnTn9bx+rwBQAenYsQNOMWiyk7cbcwSCfVEznqakFJDmPewqN4pPIjj1sjCEh1Ro22alZgRb85Uyn7V5bNXJlsw2p0CMhWQ+MTZJk6VresnrZpu2ZPP4+VUpnWcQSRJQJz4tQf4MpnheMv2zaHhqxkw6isp3mv/7niYUKTwkVpqeygSdrf2k3E9DgUJqGumyxdmqkFXJ0GQ3Owd+gDRUvmFaBu3sAdmr1JhXJuIgRjVVsVt2ZeUuKILY29h X-MS-Office365-Filtering-Correlation-Id: d274cde7-fdd6-47ee-71ee-08d4783712f8 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081); SRVR:DB3PR08MB0217; X-Microsoft-Exchange-Diagnostics: 1; DB3PR08MB0217; 3:Q8NNwO+sAK4h8lZiCit913NLjIe1E2dBj+Mod0q8KTqubf8Gwy34uROiOAU92GkxNUmpugRjHz6aWDoEORTJdzEECaYrSgiwmS3+dnhsmpIDah2LWdtCQMrVB/aWdzCTPzWmTTbzW/WbOgGHKL2/HJYhNA+N4YiaRTBkMIfl0JpJx36VZP/kaqhZkE575WrZCEFftOLXCQ3XDh9ezennvwIFlycdF4L9hj3JjAjlLP5oUF5m18eauuEpE4GmlOEM5oJViS4oWT1VQ3IOO95dTI2uFEGwP+KvJ1JqFpvpNhkt08TiIg+hGAC97eMNLvRmW7kRUMDUTrK5eh0lGgqecYrBx7kqBgkwzENM+y+yh4Pvh4Ls9iOH6g+BAA+tDYa5HPQumnRn9jcj4LII9KKftKoMyNFQ1TOetLSJwciPhLw+VRxrcOQrf/57rXKNivNfELKtA8LqkaaLsKy4xrTahX8v7643LAQAxEMmlKHuEK6mBPqFp4ATDg0VAkyo4wv0 X-Microsoft-Exchange-Diagnostics: 1; DB3PR08MB0217; 25:zeGhd3j8nYm5O39F7eXX0ShE/1HRNpcRgYBB07knqE/FWaBq3pXLZvInwLSrngSKC0JeXV44B5HPoGmAErsqS9/Uuhdl23zN4Fa1AmnDoYJduNlb4GK0q5hO5NuFdv48buf/U/5+rb5OWcLdN+v8EIlcZtuszO24YvLDAb4nkg4kH7RpSIn2rVDSsh4Osyiqg3HdVBO7be3/6m1zaxtrsIIXO+ulV6rmYOfD3dCbG+Z7UVgQpiNQx7qj6zg/dc3opFxVXsBv3YiEpzfm+ioHBwQOjsapXHvd0OG7onswYIr8x7Jv9etltHTfyDF5Jkd3wjqSjvOODViv/dsn/9DoRioA6IRdICkwHUCHbEydre96/EFdt9PfcJ9eP1dHVZhGgB61MYv9irTyq4IhQWwyFYmMkYf1Efq01QiXVby+sQI7TZ4vsyqv7JYlRFtbRYLEH0rOqQtoIGNX5hVfvF18vQ==; 31:zoz2HpmFL8ur98UF3T0aj66NlWRMAuoj1fix5XtxftGeg4kZy3swwF2DSPBvE8V4FFzaAVW6RkGifI6FO+AKTEhYrOmyu7LkZKJLXK23tLaAoq1qG+RUIiAjOdC60U7Nzc1Cyia1AGFmA7PidgCmI4YeCjEoA0qmHiNsGWEU+w6TXaFLj2TydkQw6mNSegZ5l3/ys/cvr+ykRBBGwVwy9l4A3kYNs7LI3H3SJ+JOWVLj42H3w5TeV6y3Ih6Zek0uwjVBduZjMrzXgN7AK6EEmEbISFXK5VUhLPcOII/Npe0= NoDisclaimer: True X-Microsoft-Exchange-Diagnostics: 1; DB3PR08MB0217; 20:MALxlvt+o8zW0q2jGb3laOvI7J0h1jpPhnNZnvpVV6yGrKAkTEF7dDX6jrHzy/ruya1UIOzJpMlz+AESPkjvwrv/G1lAFozeEZeywMmafLvn6TtDIFa6fIfonsqXLqGmw+VmRH+FzXRYqXKS/A7BMuT7wjbMPGpE3K0CZ0Qe3jrGABASFWkNcC1cmGdOO6Uda5+l6/zSN8bmnJfObmAk9N97wzoQLuP6kixRAeTFuiPEQ4+NYKYnZvMyuWRgmpeQ 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)(13020025)(13023025)(13024025)(8121501046)(13013025)(5005006)(10201501046)(3002001)(93006095)(93004095)(6055026)(6041248)(20161123562025)(20161123560025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(20161123564025)(6072148); SRVR:DB3PR08MB0217; BCL:0; PCL:0; RULEID:; SRVR:DB3PR08MB0217; X-Microsoft-Exchange-Diagnostics: 1; DB3PR08MB0217; 4:qZfk89PibOY3qmzgYaTvmtnyiKdk6768iu5xA7lBMoqRyc8cOv7lDnohk4bjclmT4iKwwQnfBxXITCTzQs3b5TTAWc7XnYuwba0mWyWumb+BVfftneCMTp92yKCn6Px1sybQyMkgVLhbAqBXD6gJ8dEQ35sOYFs+ChjoxdAOII+Ik7Zhg9LPuAIGeQ+bNfJWwhBjZImZS8BTt5gD6a1Oe4WkPL3pGpvJfxdnC93tzAs0c6CqRQSzY7Vjhwo1bV6gdMCNuQvMkLWbdQz+aNGWKmDu0iVLHPPaLaVSGz3q5zNVVvVrE9XBTCas4+gdczaEP5h1VkEHQnCq0Q710nVoRivklpBzXT6mdj7KRqX9pEO08WhftX+VnnqoO7LRlAE/U4O1bO2pOAwKpnhMMe6MPnQGJB4ftCj+vCUc3MLFWNpZ4tHJFP+hzFFxi50inaCsnwtzXCGD2dH+nvOvAafu5pvosYDfy36WdIeEvU942tbPkXKAW4M0PSGSYsV+5v0Ef/OI2zgmaT06y5kxTePWuM+aCFvJRWDPSAIpx7ObgOpHjTlx1y3HVChwcN+/Xdmr4+41FQYaxHh3z2fUCHyNltPGtTbC3+N9pVdPuJolGZ1+w8YnIWe6is91O3I1MRi8dYYNkoHF2k6Oeb73O5GkCJkoTncvzz6Tlp1/+OP6aBBGW/vODo9g2RM5JdfSsy/2VbDfKfZFEG5JTrsIPg6KLxx6aEVduaRXDFrCbZ3dn1+vnO4ftia3o0HR3+j2e4+jmeJ/FQJmsss0w+iymB0JssiiwDzlaPLyCePNZeCOwMD31Uxzbx3moQUqDYAwBdmz5aOYyA/Km5DfFe5sbEBJSbZ5qKFPWi8CTJYNOx9vR3Q= X-Forefront-PRVS: 02638D901B X-Microsoft-Exchange-Diagnostics: 1; DB3PR08MB0217; 23:+J7g1AaDmPoTzCp1XTHT64DYgbKCxbB8UdMjc1/lTnkyODJQm26M2a/uFKBZ8LogFAJJ6piHuqRvF+OvoSadY+r66igm8SIA3JHcyh7XykRD8NMmteQnl4yZbadkPBfN6Mcg48zeeQR6PsssKMEsXQ98j7R/0LLpahl/f3f8p+0qJcUdPH5b8gQa3ofZK8A5RNkLEizKhd8ghIcKdepbvLP5Kn2nYQmOikTatBFjHhRUFPQcAW5Al/Bka6rivf7NFto7PCga8emV1TFdcF84U3r/MUF9ToOrpN0HNa+L3fiL+h2j+mnNvA+QOwHFleHBFt3U52q/p48x6OdRDjsjuGYtrpNsMdantDe7Ss70CCkTsVl8jHuFM5rfAQCG0FIGm3TWDyjdiBF+ZzuWLzjMf/xqqnNnf8J2H0Y3ZYGgRtpZDV2vwj30t102D74192AdjRZgV1QwxTuj0lr0x/FHsVhIHTMMoS1AtJo4WyigzDasQtMW0IFxLRJLXH3PlTMyPfyHFFsrgiZFPcvO5LFm+dhW1JWjJ6MT48/woaDi9lAYq/Ej59ZJTvByjfjHCktyquI2S+5cYZnFzc4L4crEa0JHqdP7xt3FSsCeTBobEEbKGskI8Vb1z1S4lJ19kX7D94uV2Ixl3kzyKYNt2rV8tCNBVmue005Q3XJypSKbn+ydncnI6zn5LzEFWQH6w6lHOpXQGMoeo4DVznW9pFfFKv6A7Ng+CLqwfyZGSzwSSzu7AiKoFS4XekuLmRA/fhTXgActNUkSeOgqQv5d9A543YTmauCDd2QrUK+8jwAaPVpX9HVcru3lA6+ehuC3YF2kE7FL2ZJ67L0E+Gy3k+BSNqO+s1pIc5gw3XVsZ43Vkv5IVluSvQFY6AJCEqYtT/tFdZV03uWiKJEqaZEdNUeFPDBwRNqk9ywvK1NyWyiCGrshVBVuUhUa9MS8myb16owy X-Microsoft-Exchange-Diagnostics: 1; DB3PR08MB0217; 6:eu7p+7tjSnff8KQSJNRbZiW/xbxVKaUfovNjVecHg8+M6g1SWfA15jT9uYX9cpstmo9H6Whk0LJ5gS/3xsrl6CwZ6pMzabmr2ozGX+lmhcZ/W3O8ogbRsJw6f+0c0/F5k9buH5JcCKDq/+aBpkdrpx9UFRQukrXpzcfYwmErdsNbDGxHwdie9vPBUenDkQQATkxdXaZdHlM8KUGXVf+ldSSZK1/UHr8DKk2X3LST0E48lCnA2+Lb6UOFaWeE0mr1XcLnq3MeA73XAARcNeA20rOwR1+z9/7eLn9RNbFf6d2+JGuFTxSlTBMUma2ZPuEMc3D0sv1YX5RnDer5xhudSTmX/ZGVgicwjCvBqYDwLwyvL5Fjh90hl+db5XYIYz+NBEQbe1jUJk9cC4+DRaZxP5tTMb6NzvsD1OHOer2y0BI=; 5:I3SlQEJ3GAnCCqH9xWVopz1hmKmRey7F1y0Hj63G9JddNnYrSwETqx/CbRKyopJRLu2KrwvhaJV5QRQIV1+NASQkL9SrBbqvwXCOsneCfKfA81UaBNzftUcfbjT7ZFMeqLcUcYPMM/4SKlvkZKXZeE/thVJDM5liUQfVyRhhQa0=; 24:Ezh1a6ZN4AyqyWmhFl+I9XBZrraKR5yVqYqcVwhSezwpj0ualkGzwnsfniDai7xlUbKbvlOaOyxjR8IzD/4kQOPI/Et6bpAD6xczW3hNRhA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB3PR08MB0217; 7:yN+LsnJ9jAkIx8aF3dZlB+JXhEfaKB6f6qn+5k93Ms3liULwGrXxhw/7xO7nB722kWmlUmjvVj9bNKnnCK9qiFQhCgdeoLpud6z4iNYB5BuLKqvxt5L97+9100bkqiJ8yX1IOViZkxeVAi5Kmtx48n8+PyYmpMf1oUKutaGORPi2ovm7y8pVtsmdk12ObGGoYJBwTM90/RwUSxqlDjfsNk+9ByYDGx+5PYjEEq5BBwVrE10MSoehPCSWh69G7nFSgyfFAhmtofEn64MR+jT+GHtbAXSDGB9QccVjM6nCBjkdOqWpLyYVbOGAfVX3lUVFv3eQ+g9Hb/eies+WkcAgsw== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2017 13:08:50.0388 (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: DB3PR08MB0217 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 v3 14/19] xen/arm: Unmask the Abort/SError bit in the exception entries 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 Currently, we masked the Abort/SError bit in Xen exception entries. So Xen could not capture any Abort/SError while it's running. Now, Xen has the ability to handle the Abort/SError, we should unmask the Abort/SError bit by default to let Xen capture Abort/SError while it's running. But in order to avoid receiving nested asynchronous abort, we don't unmask Abort/SError bit in hyp_error and trap_data_abort. Signed-off-by: Wei Chen Reviewed-by: Stefano Stabellini --- xen/arch/arm/arm32/entry.S | 15 ++++++++++++++- xen/arch/arm/arm64/entry.S | 13 ++++++++----- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/xen/arch/arm/arm32/entry.S b/xen/arch/arm/arm32/entry.S index 105cae8..592e4a8 100644 --- a/xen/arch/arm/arm32/entry.S +++ b/xen/arch/arm/arm32/entry.S @@ -116,6 +116,7 @@ skip_check: trap_##trap: \ SAVE_ALL; \ cpsie i; /* local_irq_enable */ \ + cpsie a; /* asynchronous abort enable */ \ adr lr, return_from_trap; \ mov r0, sp; \ mov r11, sp; \ @@ -126,6 +127,18 @@ trap_##trap: \ ALIGN; \ trap_##trap: \ SAVE_ALL; \ + cpsie a; /* asynchronous abort enable */ \ + adr lr, return_from_trap; \ + mov r0, sp; \ + mov r11, sp; \ + bic sp, #7; /* Align the stack pointer (noop on guest trap) */ \ + b do_trap_##trap + +#define DEFINE_TRAP_ENTRY_NOABORT(trap) \ + ALIGN; \ +trap_##trap: \ + SAVE_ALL; \ + cpsie i; /* local_irq_enable */ \ adr lr, return_from_trap; \ mov r0, sp; \ mov r11, sp; \ @@ -146,10 +159,10 @@ GLOBAL(hyp_traps_vector) DEFINE_TRAP_ENTRY(undefined_instruction) DEFINE_TRAP_ENTRY(supervisor_call) DEFINE_TRAP_ENTRY(prefetch_abort) -DEFINE_TRAP_ENTRY(data_abort) DEFINE_TRAP_ENTRY(hypervisor) DEFINE_TRAP_ENTRY_NOIRQ(irq) DEFINE_TRAP_ENTRY_NOIRQ(fiq) +DEFINE_TRAP_ENTRY_NOABORT(data_abort) return_from_trap: mov sp, r11 diff --git a/xen/arch/arm/arm64/entry.S b/xen/arch/arm/arm64/entry.S index 8d5a890..0401a41 100644 --- a/xen/arch/arm/arm64/entry.S +++ b/xen/arch/arm/arm64/entry.S @@ -187,13 +187,14 @@ hyp_error: /* Traps taken in Current EL with SP_ELx */ hyp_sync: entry hyp=1 - msr daifclr, #2 + msr daifclr, #6 mov x0, sp bl do_trap_hypervisor exit hyp=1 hyp_irq: entry hyp=1 + msr daifclr, #4 mov x0, sp bl do_trap_irq exit hyp=1 @@ -208,7 +209,7 @@ guest_sync: ALTERNATIVE("bl check_pending_vserror; cbnz x0, 1f", "nop; nop", SKIP_CHECK_PENDING_VSERROR) - msr daifclr, #2 + msr daifclr, #6 mov x0, sp bl do_trap_hypervisor 1: @@ -224,6 +225,7 @@ guest_irq: ALTERNATIVE("bl check_pending_vserror; cbnz x0, 1f", "nop; nop", SKIP_CHECK_PENDING_VSERROR) + msr daifclr, #4 mov x0, sp bl do_trap_irq 1: @@ -235,7 +237,7 @@ guest_fiq_invalid: guest_error: entry hyp=0, compat=0 - msr daifclr, #2 + msr daifclr, #6 mov x0, sp bl do_trap_guest_serror exit hyp=0, compat=0 @@ -250,7 +252,7 @@ guest_sync_compat: ALTERNATIVE("bl check_pending_vserror; cbnz x0, 1f", "nop; nop", SKIP_CHECK_PENDING_VSERROR) - msr daifclr, #2 + msr daifclr, #6 mov x0, sp bl do_trap_hypervisor 1: @@ -266,6 +268,7 @@ guest_irq_compat: ALTERNATIVE("bl check_pending_vserror; cbnz x0, 1f", "nop; nop", SKIP_CHECK_PENDING_VSERROR) + msr daifclr, #4 mov x0, sp bl do_trap_irq 1: @@ -277,7 +280,7 @@ guest_fiq_invalid_compat: guest_error_compat: entry hyp=0, compat=1 - msr daifclr, #2 + msr daifclr, #6 mov x0, sp bl do_trap_guest_serror exit hyp=0, compat=1