From patchwork Wed Feb 3 17:58:05 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Roger Pau Monne X-Patchwork-Id: 12065043 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4F050C433E0 for ; Wed, 3 Feb 2021 17:58:52 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E9ABC64F41 for ; Wed, 3 Feb 2021 17:58:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E9ABC64F41 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.81021.148926 (Exim 4.92) (envelope-from ) id 1l7MQI-0003E7-IL; Wed, 03 Feb 2021 17:58:38 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 81021.148926; Wed, 03 Feb 2021 17:58:38 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1l7MQI-0003E0-Et; Wed, 03 Feb 2021 17:58:38 +0000 Received: by outflank-mailman (input) for mailman id 81021; Wed, 03 Feb 2021 17:58:37 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1l7MQH-0003Dv-F4 for xen-devel@lists.xenproject.org; Wed, 03 Feb 2021 17:58:37 +0000 Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 201e75a8-f5af-46b6-9180-77516bb62f80; Wed, 03 Feb 2021 17:58:36 +0000 (UTC) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 201e75a8-f5af-46b6-9180-77516bb62f80 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1612375116; h=from:to:cc:subject:date:message-id: content-transfer-encoding:mime-version; bh=trcoQUEy5txRTrkPduMpJ/zANyByYqabtUa0dtboCho=; b=KDdEYxdhLW4vp1tnHZ7iGPdgSav+aSLZQrlDE8LN5StQ15d7l4zDxUmB Jzih2rUkQfF4jCUjlOD5VKgNp4z1rhl4hIiyFZar0uPltccd57rMjeWA4 vJySMKuI5pDzWgC9oJhOAWJSfqr0zRG7R/Y7nXquovEPCBl97C9zhVE1U g=; Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com IronPort-SDR: vQIsZrlU8rjQ4RHzpTnfcjUbuRHoAJj4LFKkYEXTrVSMzpFLtqL34QLRmknlQxGDIz+iOeWqh+ s0hkX6lmFgzw+UwfCdaVZC25ziynybjqyD3C8r1c7sIb5WmHHaTyIwSTl7i4wHtu32nWOBXNui Mrep6DLd7vcQtk6TlJRnRpPnwlm4NA5i4yhg6FgX9g2Qgdmfi3aAI+R1uFZHgN3BofHnipNOui ADt5cAl2Ou3jYJnuj1nhxWzgzzy0ENYZiIUbzd1dlronveRoIw3ghmAlPW490EKBQGvm3ZJJsV 8ik= X-SBRS: 5.2 X-MesageID: 37823703 X-Ironport-Server: esa4.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.79,399,1602561600"; d="scan'208";a="37823703" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y29yYlYHYQ0x01KG4+/4leStVdhwQ48Yk1q/4DdE8q8c5k+LW6/jJGHRRE6hcXUP1FiCdYwNtsL9Yss4eGMxbkzFuYcifxlkfLMH1oIvw0boN94s9zZmT/uVX/U0HZr6/wBlw/8A06vkF12Wr20bmMtYZN7mwViPUxtYke1K8NCrgdr2huZTL8/8ojhFulxnqNkYDoCmqRT6Ikj/KojoTwwx0+6gd2Uq2A/yj7CuqHBNXQXXyIfVlff1F/FnsysJbyL4OPQSaAIdts82669Ms2Rnei7P52MBBhodMKMWN0HWliXfXHyCKewXEhSF6+TJmVgWlINWfUgMHSIbhO7YPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KmNkCv8sutdkYan5lMTj0IWcXRQ7sSkRkyHjZ+tlES4=; b=Mg8yzhq7V2l1cmX3wwwaq0Fh0gRN9mku506t/DrJ9beWgMKAkIha8GrW2T0QucjrV/uQYaidcOqMX1ANsZNQpbNH/NnOYw/XfoRuHGVl3SrbDgzU8iBddVgQ+ZVkEjGEFcIQRYxCxZ+HrIPsXuXEKvd4XwB9UNTtCH6Wu1aTZyXFx1dCR6RfmdGevH0rQGIU/RHBbpDqhXuuw8BkEhJpjVxr2kS5yF1dNEbmFDjq5V5MBxQ40HZRCB66OwyCvOCvAm010vEozzE4KLugyLPFsSNWuujJYm0t9zPdvHMpolY3jz2grO0sXfZ232TcnKzFxMFnfnFQz8YeIhVr7YOjjA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KmNkCv8sutdkYan5lMTj0IWcXRQ7sSkRkyHjZ+tlES4=; b=sGRPDC2Wz3AtQPfj79s/VI4lqJB7vz0qfNckRpARc9K3/U2tQ3Wz5+BwprGiyDJbovXPa0TGx9YtvgjZ2iXQrsJRxEsNTyzSJdR5wnrf8D08xB6UQ7uoGG6qjXmPD2zOVDW6PDrDrR36mBDQF7b5rz4VHIX0468ulYaOHjSLKUc= From: Roger Pau Monne To: CC: Roger Pau Monne , Jan Beulich , Andrew Cooper , Wei Liu , Ian Jackson Subject: [PATCH for-4.15] x86/efi: enable MS ABI attribute on clang Date: Wed, 3 Feb 2021 18:58:05 +0100 Message-ID: <20210203175805.86465-1-roger.pau@citrix.com> X-Mailer: git-send-email 2.29.2 X-ClientProxiedBy: MR2P264CA0090.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500:32::30) To SA0PR03MB5610.namprd03.prod.outlook.com (2603:10b6:806:b2::9) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7141ae79-a15e-4322-6d31-08d8c86d4a49 X-MS-TrafficTypeDiagnostic: SA0PR03MB5609: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4bsGsDJsgpd7znIp0KYIcsrLbHLV4382rwoU9+tVsPqb2ggYgWrO+Y4zZbdGAkxvqkaCZ9TiSJKj3oiT42k/Rutyfmos1kwbNH1qwBzdhKAal3Fc+tzLDXmDi0X8mXjgrrjBxzjhThhBhQpF187F4jd8Cdviz14zBIN5nLP2Koem4KyMtYW1J30K0LRD2eZQNdH6cEuMPyC+DMkypiYYIYdM6Dcb2e8+Q5O67iVe9e5KO5hnPOHBYrZOl0aOe+48be0FaTAK9OxjT/gOXamrAi37iCz+WCa3VEdD6yTUYO64lURrOIv8GIFN0IXy/UzpzurZygirsT7FBbvyjQXZaYlq8U9cJ2YGWogoDjkT16FSj3gVP64VuFmPhRvZ1Z0jreoVRhWL8zfEgrswSqVkMSFtjcqHO379KY7dvybVavyAZwWVAZTOGzqHJGFWXV1RJBeeJXZEj+P+28Yn+2UZ3uHxo3LjuKIL1LaxfkanFgtnua2p5cqdAEDxfyWq9U2VnO1oxtfeEttTUQlwgL5G/A== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA0PR03MB5610.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(366004)(346002)(136003)(39860400002)(376002)(36756003)(66476007)(6666004)(54906003)(66946007)(6486002)(83380400001)(4326008)(8676002)(6496006)(66556008)(8936002)(16526019)(26005)(86362001)(316002)(45080400002)(6916009)(186003)(2616005)(5660300002)(956004)(2906002)(478600001)(1076003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?q?5+T4EziQ/yuo1gcb8H5JL3gtaN3GtM?= =?utf-8?q?hMxgAbKAac4K5p/vtYyNnF00zE4th6EC02nTvubg4IENWBKOFrNE2zTXAVUP5/3Fi?= =?utf-8?q?3eTwgkxtWKICbJn39y8osxm4VyauzS5NNclGDCKsm/n+eZnJhek6WY1yyjfQJ9hTb?= =?utf-8?q?Y54LTD6p605L6nOij0kEeWxcrxS1v2FDBxhYUIqvHjVq+CPg7+1Y5LXPWjQXLkXl9?= =?utf-8?q?zWSj86+ajtfliLtrHzwLxJTFfOuTAmV3PnlcWQSI0qcRG47jIbQufSU2NiiQ1Jo3S?= =?utf-8?q?VdunUX9KxTx9ITDJAdI6euuNR1g+ncUm9A0jq1HJYtwWl1GR4yjNgkB31BWzT2feH?= =?utf-8?q?ztjqf0NF5xc9F12s62tNdhVBSZhF2FNNzrxwp+e5WcGaFcHhSL8HT/0j1ZL/3CDGM?= =?utf-8?q?csvmbTaeDeU9LzIdGwrHOrxCS9rcnu3TFFmI7IeirL5fg/tzL3aBm3OT64cCl6w0t?= =?utf-8?q?Lfr1gdAVS2QNzV2QDI3nxCPHBO/3NYVUwXDZltU+qBc8DLzcFT6RurdeyyKG+Np1y?= =?utf-8?q?w8evsvYDk3aAx5bDrip1RAvmK/LB9UjWDLXfzHFgWoxGW+j0dMlI14WvIDRWpGst5?= =?utf-8?q?0ybOk4NDXWkcvnScqnhomhHNTf+7kaGfAVwj0vG0l6zgX1DgAXbOg//Kd/MXuaCV/?= =?utf-8?q?k9lUwBfu3aCSAcWKd/9ZoHKyVUX9PKKO3x6SiEOrNde0FkaUX1SMKhydJ/6aRzX0+?= =?utf-8?q?ecBPg3r3JjOQJbtbU7hR1IttAdgTpuElJl4TMX7fyn5qS5Sh4dUhdLf3RdfJVt0sE?= =?utf-8?q?YB1QKq+4+mOwDDXPa0qhIdpkS5IcxzTC6AquLTVW0D4/oOC2HnE+rVLuNyGd/6S35?= =?utf-8?q?3Xt2vItSGPu1usn0mvaqdzrKEMexWavAvE+oyJ7SZ3eoHxM3pGPyS++7uuueI30KA?= =?utf-8?q?doKEHuylXKqzbb3EKO7GHy9T1anTmwO3kfW+eVft339Os2wqXD0HmvfqTHbGl5NMR?= =?utf-8?q?17vduD2GUYlTYqlSlmQZqjPP2Zjv9hjZZUSX8dZpteKIQXgMTVQ5dYZg7WlSrUJzD?= =?utf-8?q?LfBODITXD2Tn/3Ek4YnjIL2NvMhU1EdOXJdiCVuw=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 7141ae79-a15e-4322-6d31-08d8c86d4a49 X-MS-Exchange-CrossTenant-AuthSource: SA0PR03MB5610.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Feb 2021 17:58:19.8780 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qhYBoYNw0Auxh/za7PeAyktaeErsja0ptV6IvLJgxu30Twq028CYnZsE39bPMUa3AqhpGdkJlOsQOViou3pZlA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5609 X-OriginatorOrg: citrix.com Or else the EFI service calls will use the wrong calling convention. The __ms_abi__ attribute is available on all supported versions of clang. Signed-off-by: Roger Pau Monné Acked-by: Andrew Cooper Reviewed-by: Ian Jackson --- Cc: Ian Jackson Without this a Xen built with clang won't be able to correctly use the EFI services, leading to weird messages from the firmware and crashes. The impact of this fix for GCC users is exactly 0, and will fix the build on clang. The biggest fallout from this could be using the attribute on a compiler that doesn't support it, which would translate into a build failure, but the gitlab tests have shown no issues. --- xen/include/asm-x86/x86_64/efibind.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/include/asm-x86/x86_64/efibind.h b/xen/include/asm-x86/x86_64/efibind.h index b013db175d..ddcfae07ec 100644 --- a/xen/include/asm-x86/x86_64/efibind.h +++ b/xen/include/asm-x86/x86_64/efibind.h @@ -172,7 +172,7 @@ typedef uint64_t UINTN; #ifndef EFIAPI // Forces EFI calling conventions reguardless of compiler options #ifdef _MSC_EXTENSIONS #define EFIAPI __cdecl // Force C calling convention for Microsoft C compiler - #elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) + #elif __clang__ || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) #define EFIAPI __attribute__((__ms_abi__)) // Force Microsoft ABI #else #define EFIAPI // Substitute expresion to force C calling convention