Re: [PATCH v2] ARC: io.h: Implement reads{x}()/writes{x}()

2018-11-29 Thread Arnd Bergmann
On Thu, Nov 29, 2018 at 5:14 PM Jose Abreu wrote: > --->8-- > static noinline void test_readsl(char *buf, int len) > { > readsl(0xdeadbeef, buf, len); > } > --->8--- > > And the disassembly: > --->8--- > 0e88 : > e88:breq.dr1,0,eac <0xeac>/* if (count) */ > e8c:and r

Re: [PATCH v2] ARC: io.h: Implement reads{x}()/writes{x}()

2018-11-29 Thread Vineet Gupta
On 11/29/18 6:29 AM, Jose Abreu wrote: > Some ARC CPU's do not support unaligned loads/stores. Currently, generic > implementation of reads{b/w/l}()/writes{b/w/l}() is being used with ARC. > This can lead to misfunction of some drivers as generic functions do a > plain dereference of a pointer that

Re: [PATCH] ARC: change defconfig defaults to ARCv2

2018-11-29 Thread Vineet Gupta
On 11/29/18 11:18 AM, Kevin Hilman wrote: > Hi Vineet, > > Vineet Gupta writes: > >> On 11/27/18 2:21 PM, Kevin Hilman wrote: >>> Change the default defconfig (used with 'make defconfig') to the ARCv2 >>> nsim_hs_defconfig, and also switch the default Kconfig ISA selection to >>> ARCv2. >>> >>> Th

Re: [PATCH] ARC: change defconfig defaults to ARCv2

2018-11-29 Thread Kevin Hilman
Hi Vineet, Vineet Gupta writes: > On 11/27/18 2:21 PM, Kevin Hilman wrote: >> Change the default defconfig (used with 'make defconfig') to the ARCv2 >> nsim_hs_defconfig, and also switch the default Kconfig ISA selection to >> ARCv2. >> >> This allows several default defconfigs (e.g. make defcon

Re: [PATCH v2] ARC: io.h: Implement reads{x}()/writes{x}()

2018-11-29 Thread Jose Abreu
On 29-11-2018 14:42, Jose Abreu wrote: > On 29-11-2018 14:38, David Laight wrote: >> From: Jose Abreu >>> Sent: 29 November 2018 14:29 >>> >>> Some ARC CPU's do not support unaligned loads/stores. Currently, generic >>> implementation of reads{b/w/l}()/writes{b/w/l}() is being used with ARC. >>> Th

Re: [PATCH v2] ARC: io.h: Implement reads{x}()/writes{x}()

2018-11-29 Thread Jose Abreu
On 29-11-2018 14:38, David Laight wrote: > From: Jose Abreu >> Sent: 29 November 2018 14:29 >> >> Some ARC CPU's do not support unaligned loads/stores. Currently, generic >> implementation of reads{b/w/l}()/writes{b/w/l}() is being used with ARC. >> This can lead to misfunction of some drivers as g

RE: [PATCH v2] ARC: io.h: Implement reads{x}()/writes{x}()

2018-11-29 Thread David Laight
From: Jose Abreu > Sent: 29 November 2018 14:29 > > Some ARC CPU's do not support unaligned loads/stores. Currently, generic > implementation of reads{b/w/l}()/writes{b/w/l}() is being used with ARC. > This can lead to misfunction of some drivers as generic functions do a > plain dereference of a

[PATCH v2] ARC: io.h: Implement reads{x}()/writes{x}()

2018-11-29 Thread Jose Abreu
Some ARC CPU's do not support unaligned loads/stores. Currently, generic implementation of reads{b/w/l}()/writes{b/w/l}() is being used with ARC. This can lead to misfunction of some drivers as generic functions do a plain dereference of a pointer that can be unaligned. Let's use {get/put}_unalign

Re: [PATCH] ARC: io.h: Implement reads{x}()/writes{x}()

2018-11-29 Thread Jose Abreu
On 29-11-2018 13:11, Jose Abreu wrote >> I was thinking of the (probably likely) case where the pointer is >> actually aligned. >> An extra check for ((pointer) & 3) is almost certainly a 'win' >> over the byte accesses and shift/mask/or use by get/put_unaligned(). Oh, sorry. I was misunderstandin

Re: [PATCH] ARC: io.h: Implement reads{x}()/writes{x}()

2018-11-29 Thread Jose Abreu
On 29-11-2018 13:03, David Laight wrote: > From: Jose Abreu [mailto:jose.ab...@synopsys.com] >> On 29-11-2018 12:47, David Laight wrote: >>> From: Jose Abreu Sent: 29 November 2018 12:42 Some ARC CPU's do not support unaligned loads/stores. Currently, generic implementation of r

RE: [PATCH] ARC: io.h: Implement reads{x}()/writes{x}()

2018-11-29 Thread David Laight
From: Jose Abreu [mailto:jose.ab...@synopsys.com] > On 29-11-2018 12:47, David Laight wrote: > > From: Jose Abreu > >> Sent: 29 November 2018 12:42 > >> > >> Some ARC CPU's do not support unaligned loads/stores. Currently, generic > >> implementation of reads{b/w/l}()/writes{b/w/l}() is being used

Re: [PATCH] ARC: io.h: Implement reads{x}()/writes{x}()

2018-11-29 Thread Alexey Brodkin
Hi Jose, On Thu, 2018-11-29 at 12:42 +, Jose Abreu wrote: > Some ARC CPU's do not support unaligned loads/stores. Currently, generic > implementation of reads{b/w/l}()/writes{b/w/l}() is being used with ARC. > This can lead to misfunction of some drivers as generic functions do a > plain deref

Re: [PATCH] ARC: io.h: Implement reads{x}()/writes{x}()

2018-11-29 Thread Jose Abreu
On 29-11-2018 12:47, David Laight wrote: > From: Jose Abreu >> Sent: 29 November 2018 12:42 >> >> Some ARC CPU's do not support unaligned loads/stores. Currently, generic >> implementation of reads{b/w/l}()/writes{b/w/l}() is being used with ARC. >> This can lead to misfunction of some drivers as g

RE: [PATCH] ARC: io.h: Implement reads{x}()/writes{x}()

2018-11-29 Thread David Laight
From: Jose Abreu > Sent: 29 November 2018 12:42 > > Some ARC CPU's do not support unaligned loads/stores. Currently, generic > implementation of reads{b/w/l}()/writes{b/w/l}() is being used with ARC. > This can lead to misfunction of some drivers as generic functions do a > plain dereference of a

[PATCH] ARC: io.h: Implement reads{x}()/writes{x}()

2018-11-29 Thread Jose Abreu
Some ARC CPU's do not support unaligned loads/stores. Currently, generic implementation of reads{b/w/l}()/writes{b/w/l}() is being used with ARC. This can lead to misfunction of some drivers as generic functions do a plain dereference of a pointer that can be unaligned. Let's use {get/put}_unalign

kisskb: FAILED linux-next/axs101_defconfig/arcompact Thu Nov 29, 20:04

2018-11-29 Thread noreply
FAILED linux-next/axs101_defconfig/arcompact Thu Nov 29, 20:04 http://kisskb.ellerman.id.au/kisskb/buildresult/13601325/ Commit: Add linux-next specific files for 20181129 25e778835fceb54719fc325d0e011de61202 Compiler: arc-buildroot-linux-uclibc-gcc (Buildroot 2015.08.1) 4.8.4