From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754811AbcHVKBd (ORCPT ); Mon, 22 Aug 2016 06:01:33 -0400 Received: from mailout1.hostsharing.net ([83.223.95.204]:60447 "EHLO mailout1.hostsharing.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754724AbcHVKBc (ORCPT ); Mon, 22 Aug 2016 06:01:32 -0400 X-Mailbox-Line: From 188ea850c957034d482576dfdcf8c8a2536460cf Mon Sep 17 00:00:00 2001 Message-Id: <188ea850c957034d482576dfdcf8c8a2536460cf.1471823100.git.lukas@wunner.de> From: Lukas Wunner Date: Mon, 22 Aug 2016 12:01:21 +0200 Subject: [PATCH 1/2] x86/efi: Optimize away setup_gop32/64 if unused To: linux-efi@vger.kernel.org, Matt Fleming Cc: Andreas Noever , Ard Biesheuvel , linux-kernel@vger.kernel.org, x86@kernel.org Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Eliminate the 64 bit code path when compiling for x86_32, and vice-versa the 32 bit code path when compiling for x86_64 with mixed mode disabled. Size of gop.o text section: CONFIG_X86_32: 1758 before, 1299 after CONFIG_X86_64 && !CONFIG_EFI_MIXED: 2201 before, 1406 after CONFIG_X86_64 && CONFIG_EFI_MIXED: 2201 before and after Signed-off-by: Lukas Wunner Cc: Ard Biesheuvel --- arch/x86/include/asm/efi.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h index 6b06939..1bda245 100644 --- a/arch/x86/include/asm/efi.h +++ b/arch/x86/include/asm/efi.h @@ -207,14 +207,16 @@ struct efi_config { __pure const struct efi_config *__efi_early(void); +#define efi_is_64bit() \ + (IS_ENABLED(CONFIG_X86_64) && (!IS_ENABLED(CONFIG_EFI_MIXED) \ + || __efi_early()->is64)) + #define efi_call_early(f, ...) \ __efi_early()->call(__efi_early()->f, __VA_ARGS__); #define __efi_call_early(f, ...) \ __efi_early()->call((unsigned long)f, __VA_ARGS__); -#define efi_is_64bit() __efi_early()->is64 - extern bool efi_reboot_required(void); #else -- 2.8.1