Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965945AbbLPPzo (ORCPT ); Wed, 16 Dec 2015 10:55:44 -0500 Received: from mout.kundenserver.de ([212.227.126.187]:64979 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965912AbbLPPzm (ORCPT ); Wed, 16 Dec 2015 10:55:42 -0500 From: Arnd Bergmann To: Yury Norov Cc: catalin.marinas@arm.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, pinskia@gmail.com, Prasun.Kapoor@caviumnetworks.com, schwab@suse.de, Nathan_Lynch@mentor.com, agraf@suse.de, klimov.linux@gmail.com, broonie@kernel.org, jan.dakinevich@gmail.com, ddaney.cavm@gmail.com, bamvor.zhangjian@huawei.com, philipp.tomsich@theobroma-systems.com, joseph@codesourcery.com, christoph.muellner@theobroma-systems.com, Andrew Pinski , Andrew Pinski Subject: Re: [PATCH v6 09/20] arm64:ilp32: share HWCAP between LP64 and ILP32 Date: Wed, 16 Dec 2015 16:54:34 +0100 Message-ID: <2049962.OV4jWs7vGi@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <1450215766-14765-10-git-send-email-ynorov@caviumnetworks.com> References: <1450215766-14765-1-git-send-email-ynorov@caviumnetworks.com> <1450215766-14765-10-git-send-email-ynorov@caviumnetworks.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:V+gV1PUMT+3VR4frelX67PhUvKTwh2gVVjOc52LgHDiQBld9VIF x24XQWRa9ht2JSGEA7HwE/M14YJZsNLs0vdrtS9OixNlAxQ6U7y3BoMCjNSTF6sqlfUoJ7+ yL3EuyYohujAxeZUW+T7ZeQ4tIvHVaTYQXoCjh2rj5TgkvK1umhD2MlnLzekC6C20Kjv42h 3tzdug/5O8BfJjtLGPnjQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:tQ5ON4Iagys=:+C5w3CeqdDpbVj6NHFwewe zMBYNEKEwPQnCivxE5FXHq8tuv5Q1CmfB0XpgCBAfxyiDxiwAB4vtW++ATNWmqjBc1QbwMrqq 2tISqiWaXedQ0XCdHKRuMirnNSdme8TKF8/EzzPU2Cg1pPuIoz+uAAURxUavUByX/qLk7fdlU 7WjLhQuRCuEjuNy+WAe/D4Bmexym+xjJM67USl/ue1qwcuRyuMNQvj3/EJzcPBaXZblJh4PRe wIcaXPBwp07zdtKNYk1AdsIyxq/itCM9HITTSupjJs4sjUYfcOU/Vqu8p3SMruD82N/cGx0dp Is8IYL2Naf7H/zB/Bl6qqiQBpquiSWtNCQQIeR3q+R0OMYeRyOVC5sr6gB/1/wIcjBLJ4XHBq tZ8sNcobMur1jeVjvC8d784tOVIhXAeigY6Vn5jNKg8pXMYu7K9AN0G4D5/qSOD/0iykmxXwW CcOjN2efta/gKDf+krUX8YrVP0kIdSgv2BEZ9JU92PAw1X4mysU3H/KMomPfplbNn3iey68Ko Vn6fP1HBSGeLzElDTuTHTJ5fKbjErPLkG91xI/xtfZwJIHVgmuVsUOvxg048dIpnZZF8El7vF 82edzKyUnkE0hYPH5s86svJCOh+wV9hYgpgOJYKaY+47ZaERZd1Fou5XyVr85LvA768i6IHOg PPo/oP1a9TEmxK/zFuxEKXm7FMcNrEdRYQSDhCU/A8HKUPezZ41W0Nt33dXm/w3ewjnhBGc+z d/myYLv8Cw4otnV4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1077 Lines: 33 On Wednesday 16 December 2015 00:42:35 Yury Norov wrote: > > #ifdef CONFIG_COMPAT > -#define COMPAT_ELF_HWCAP (compat_elf_hwcap) > -#define COMPAT_ELF_HWCAP2 (compat_elf_hwcap2) > extern unsigned int compat_elf_hwcap, compat_elf_hwcap2; > +#define COMPAT_ELF_HWCAP \ > + (is_a32_compat_task() \ > + ? compat_elf_hwcap \ > + : elf_hwcap) > + > +#define COMPAT_ELF_HWCAP2 \ > + (is_a32_compat_task() \ > + ? compat_elf_hwcap2 \ > + : 0) > + > #endif > > I'm trying to understand how this is used. Are you compiling fs/compat_binfmt_elf.c twice to handle both 32-bit ELF types? Would it be easier to use a separate arch/arm64/kernel/binfmt_elf32.c as a copy of fs/compat_binfmt_elf.c, with all the right macros defined for ilp32 mode in there? Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/