From: Yury Norov Subject: Re: [PATCH 3/3] arm64: enable 128-bit memory read/write support Date: Wed, 24 Jan 2018 21:19:54 +0300 Message-ID: <20180124181954.o6e6wfekbdnjn7rc@yury-thinkpad> References: <20180124090519.6680-1-ynorov@caviumnetworks.com> <20180124090519.6680-4-ynorov@caviumnetworks.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-arm-kernel@lists.infradead.org, Linux-Arch , Linux Kernel Mailing List , Linux Crypto Mailing List , Al Viro , Andrew Morton , Andrew Pinski , Arnd Bergmann , Catalin Marinas , "David S . Miller" , Geethasowjanya Akula , Greg Kroah-Hartman , Ingo Molnar , Kees Cook , Laura Abbott , Nicholas Piggin , Sunil Goutham , Will Deacon To: Geert Uytterhoeven Return-path: Received: from mail-by2nam01on0086.outbound.protection.outlook.com ([104.47.34.86]:57760 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S964930AbeAXSUK (ORCPT ); Wed, 24 Jan 2018 13:20:10 -0500 Content-Disposition: inline In-Reply-To: Sender: linux-crypto-owner@vger.kernel.org List-ID: On Wed, Jan 24, 2018 at 02:00:42PM +0100, Geert Uytterhoeven wrote: > Hi Yury, > > On Wed, Jan 24, 2018 at 10:05 AM, Yury Norov wrote: > > Introduce __raw_writeo(), __raw_reado() and other arch-specific > > RW functions for 128-bit memory access, and enable it for arm64. > > > > 128-bit I/O is required for example by Octeon TX2 device to access > > some registers. According to Hardware Reference Manual: > > > > A 128-bit write to the OP_FREE0/1 registers frees a pointer into a > > given [...] pool. All other accesses to these registers (e.g. reads > > and 64-bit writes) are RAZ/WI. > > > > Starting from ARMv8.4, stp and ldp instructions become atomic, and > > API for 128-bit access would be helpful for core code. > > > > Signed-off-by: Yury Norov > > Thanks for your patch! > > > --- a/arch/Kconfig > > +++ b/arch/Kconfig > > @@ -116,6 +116,13 @@ config UPROBES > > managed by the kernel and kept transparent to the probed > > application. ) > > > > +config HAVE_128BIT_ACCESS > > + def_bool ARM64 > > I think it's better to select this symbol from arch/arm64/Kconfig instead. > Else this file has to be modified each and every time an architecture > adds support for 128-bit, causing conflicts. Shure, thanks. Yury > > + help > > + Architectures having 128-bit access require corresponding APIs, > > + like reado() and writeo(), which stands for reading and writing > > + the octet of bytes at once. > > + > > config HAVE_64BIT_ALIGNED_ACCESS > > def_bool 64BIT && !HAVE_EFFICIENT_UNALIGNED_ACCESS > > help > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like that. > -- Linus Torvalds