From patchwork Tue Jun 12 05:54:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Graf X-Patchwork-Id: 138291 Delivered-To: patch@linaro.org Received: by 2002:a2e:970d:0:0:0:0:0 with SMTP id r13-v6csp4919357lji; Mon, 11 Jun 2018 22:54:28 -0700 (PDT) X-Google-Smtp-Source: ADUXVKIJlXQ1qQMJR1SbakKymAqsCuZMTgVZ4/iuMtnPP8iu6THEYhUPoplgUrrYw15eep2w7/d4 X-Received: by 2002:a50:863d:: with SMTP id o58-v6mr2138234edo.243.1528782868005; Mon, 11 Jun 2018 22:54:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528782868; cv=none; d=google.com; s=arc-20160816; b=oYtqxSv9n0GeMI6vOEbTrJ+kluswIW2lzvxyKZl9qfWRg5e1HJK9S6Umm6fthmEGy0 u2srw+FaWSqGJHoy8Amf+k59kRrBRszsMjo8Bk1sRpBgVYgPeBaWrCOgqfhjRmFH+giZ 7eSVZDVFkS/Ne11rS2i5TQKFsl0+yRlXIhQpJ6vbT1EJViZYqv3XBZDCYpKVwoDmUYVz eKLdWIOpIChjgXLdhtZ7dFGG8ehIQXhDKsV0Dqu2oAon1XGEnHxQcLbendJ5rUTX0dUP XiDLw0EO893tp0uJKDazZtWoUjYhXbP3kTOmJq7u+ppHYokUM5LnUkiFfR+qt8QUjlX6 TI9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from :arc-authentication-results; bh=MX9Wqhupj+I+sddzZD8AeFthWmbFDWqEFFZdepUaQnA=; b=I3VBJthFQQgGvP5YNlmZwTFzHE/7iHrRN0+dY+h6IyEvMPiclxC9+VMWN08JTGIDsJ k0r+vqb2IYE0P4BWwOPyczol1DvysAqGvmqnm4HJcPf1m+2wA4QImUaXKVW0VhP1ZCk4 5i02qBYeURs0zByu9dUBxpbejHIOC1Bm7kUgbTZCX+rILZ7jj/89et3jVdfnXCIIS9wB DpH1N1pGhbTOoalHyVCWaTZ3RNpZxde/JZUBx8rQRZCwjLo+WYgyBWK4p2b2iw8fvRjh fG4uVJHoS/r3BDC+iJTOzIF9gu0d2gZMDma0wx9QHxUqlBteDdrBShNzU5cma5UP2nF7 QA+g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de Return-Path: Received: from lists.denx.de (dione.denx.de. [81.169.180.215]) by mx.google.com with ESMTP id v12-v6si345685edf.375.2018.06.11.22.54.27; Mon, 11 Jun 2018 22:54:27 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) client-ip=81.169.180.215; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by lists.denx.de (Postfix, from userid 105) id 82590C21DFD; Tue, 12 Jun 2018 05:54:24 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 0A839C21CB1; Tue, 12 Jun 2018 05:54:23 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 3CB0BC21CB1; Tue, 12 Jun 2018 05:54:22 +0000 (UTC) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by lists.denx.de (Postfix) with ESMTPS id E50A2C21C8B for ; Tue, 12 Jun 2018 05:54:21 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (charybdis-ext-too.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 63224ACBF; Tue, 12 Jun 2018 05:54:21 +0000 (UTC) From: Alexander Graf To: u-boot@lists.denx.de Date: Tue, 12 Jun 2018 07:54:20 +0200 Message-Id: <20180612055420.58267-1-agraf@suse.de> X-Mailer: git-send-email 2.12.3 Subject: [U-Boot] [PATCH] efi.h: Do not use config options X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Currently efi.h determines a few bits of its environment according to config options. This falls apart with the efi stub support which may result in efi.h getting pulled into the stub as well as real U-Boot code. In that case, one may be 32bit while the other one is 64bit. This patch changes the conditionals to use compiler provided defines instead. That way we always adhere to the build environment we're in and the definitions adjust automatically. Signed-off-by: Alexander Graf Reviewed-by: Bin Meng Tested-by: Bin Meng --- include/efi.h | 17 ++++------------- lib/efi/Makefile | 4 ++-- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/include/efi.h b/include/efi.h index 98bddbac1a..5e1e8ac78c 100644 --- a/include/efi.h +++ b/include/efi.h @@ -19,12 +19,12 @@ #include #include -#if CONFIG_EFI_STUB_64BIT || (!defined(CONFIG_EFI_STUB) && defined(__x86_64__)) -/* EFI uses the Microsoft ABI which is not the default for GCC */ +/* EFI on x86_64 uses the Microsoft ABI which is not the default for GCC */ +#ifdef __x86_64__ #define EFIAPI __attribute__((ms_abi)) #else #define EFIAPI asmlinkage -#endif +#endif /* __x86_64__ */ struct efi_device_path; @@ -32,16 +32,7 @@ typedef struct { u8 b[16]; } efi_guid_t; -#define EFI_BITS_PER_LONG BITS_PER_LONG - -/* - * With 64-bit EFI stub, EFI_BITS_PER_LONG has to be 64. EFI_STUB is set - * in lib/efi/Makefile, when building the stub. - */ -#if defined(CONFIG_EFI_STUB_64BIT) && defined(EFI_STUB) -#undef EFI_BITS_PER_LONG -#define EFI_BITS_PER_LONG 64 -#endif +#define EFI_BITS_PER_LONG (sizeof(long) * 8) /* Bit mask for EFI status code with error */ #define EFI_ERROR_MASK (1UL << (EFI_BITS_PER_LONG - 1)) diff --git a/lib/efi/Makefile b/lib/efi/Makefile index 18d081ac46..ece7907227 100644 --- a/lib/efi/Makefile +++ b/lib/efi/Makefile @@ -7,9 +7,9 @@ obj-$(CONFIG_EFI_STUB) += efi_info.o CFLAGS_REMOVE_efi_stub.o := -mregparm=3 \ $(if $(CONFIG_EFI_STUB_64BIT),-march=i386 -m32) -CFLAGS_efi_stub.o := -fpic -fshort-wchar -DEFI_STUB +CFLAGS_efi_stub.o := -fpic -fshort-wchar CFLAGS_REMOVE_efi.o := -mregparm=3 \ $(if $(CONFIG_EFI_STUB_64BIT),-march=i386 -m32) -CFLAGS_efi.o := -fpic -fshort-wchar -DEFI_STUB +CFLAGS_efi.o := -fpic -fshort-wchar extra-$(CONFIG_EFI_STUB) += efi_stub.o efi.o