From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753604AbbKWIPw (ORCPT ); Mon, 23 Nov 2015 03:15:52 -0500 Received: from mout.kundenserver.de ([217.72.192.74]:53031 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752257AbbKWIPu (ORCPT ); Mon, 23 Nov 2015 03:15:50 -0500 From: Arnd Bergmann To: Nicolas Pitre Cc: Russell King - ARM Linux , Peter Maydell , =?ISO-8859-1?Q?M=E5ns_Rullg=E5rd?= , "linux-arm-msm@vger.kernel.org" , Stephen Boyd , lkml - Kernel Mailing List , Steven Rostedt , arm-mail-list Subject: Re: [RFC/PATCH 0/3] ARM: Use udiv/sdiv for __aeabi_{u}idiv library functions Date: Mon, 23 Nov 2015 09:15:09 +0100 Message-ID: <8472808.1HUuK2O5nn@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: References: <1448068997-26631-1-git-send-email-sboyd@codeaurora.org> <4527012.vmieWOaE32@wuerfel> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:fL7pB1v3+prfSzIlbd33woHKHB6l9AhqmgY2Jb+nLWnjnmTDNYp mU1e/6IIRXm11XCFauiZjSE8R4unuF4d8W17dmVVVmySvCssNwhIoQVGkV2BU7QfQZt9Iui JNqz0covosb2DPDSETlrrWiOLYs+bwenTOuS8oCZGXjddUhuGbbPS7gUow+bd6kTREPsRe+ IhDcZBshhFKUTMJY3/uMg== X-UI-Out-Filterresults: notjunk:1;V01:K0:C9ZQyob2kSs=:29hnnhfutWjkYhvcS5u4aS 0cBIIHsKpzmSaGef9MQ35GYuBRxHpLQiNojOtWz4ABWO+Ji/1zk7rsCtC5z1Uf/9SJsYwMyMo oQbNvL2TXW/Cf/8H1BjY2AlNbbBAYn6GxJKiMyKZhX9os2dFhsmObBHwhoqCtggbh2qnyN7Vh 8I1W4iC+UTelcTU74+qUTplnPTNFsJ7A6b2RkTlPYlMrLZXl22SkoWZsOtA3pL1kEB7YSWy0M bnPz9Fjh4b7wT+q/3p0OvZCVsn80PBlG74lK9+XT42piCIzDmIs7govYoWhKpZjSrMh8BfjpB qpTgt4/SAFk9aMX/W7TkYII8R9finXoiLyzhNOf5jsOqKSg8AVKEWPeiniexSZuRVNdTqVSs9 n5d66aZzs6Lt617d+45VULYKu+Mr/wZ3GWEmR6S1eRPwOPqGWHn1rxo19FGdRLl4kXXX9cbPP +BRPwM5PlBflLqd8zsq9g8PuOn51kC48cIIQBcN32Feee+y4VWEyfbKucPwe3TMxyyBQ9JZ2j VuebwOl4nRGMA4ECykoP0x6W/8dH4B7VZvpDfGCYLPlCdz64YxsPMy4uW8gxadZJO+7GYmKkX bbx0V0eiLiGzg1WqhiGc25NPdjw2mYGYEgQ9RGTcpigeR2H2zztW0Z3fVzX3wKrCoh4s4vVlB rq8RcyZ9B+mKZiuribYWcEKtd3vJQWartPdchdmXzXEQ7DNzIiGESGnujF9w6IzKDIc6x0brc dPyZySfhagtA5fTg Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sunday 22 November 2015 21:36:45 Nicolas Pitre wrote: > On Sun, 22 Nov 2015, Arnd Bergmann wrote: > > > I've also found some /proc/cpuinfo output to cross-reference SoCs > > to their core names. > > > > variant part revision name features > > dove: 0 0x581 5 PJ4 idivt > > I just managed to boot my dusty Dove DB and ran a quick test programon > it. Its cpuinfo corresponds to the above. > > $ cat m.c > #include > int mydiv(int, int); > int main() > { > printf("div test\n"); > printf("%d\n", mydiv(12345678, 37)); > return 0; > } > $ cat d.c > int mydiv(int x, int y) > { > return x/y; > } > $ gcc -o test m.c d.c > $ ./test > div test > 333666 > $ gcc -o test m.c d.c -march=armv7ve -mthumb > $ ./test > div test > 333666 > $ gcc -o test m.c d.c -march=armv7ve -marm > $ ./test > div test > Illegal instruction (core dumped) > $ Ok, thanks a lot! So the reporting in /proc/cpuinfo clearly matches the actual features, and we can just treat this as no LPAE / no IDIV for kernel compilation, as nobody ever seems to use THUMB2_KERNEL in practice. PJ4-MP is like Cortex-A15/A7/A12/A17 and supports both IDIV and LPAE, which leaves the question whether Scorpion or Krait do the same as well, or whether they are outliers and need a special configuration. Arnd