15 Feb, 2011
1 commit
-
A strange variation was seen in the BogoMIPS figure for the ST40-300.
This was eventually tracked down to sensitivity to the alignment of
the loop. So add an align directive to ensure this doesn't occur.Signed-off-by: Stuart Menefy
Signed-off-by: Paul Mundt
23 Sep, 2010
1 commit
-
Replace EXTRA_CFLAGS with ccflags-y.
Signed-off-by: matt mooney
Signed-off-by: Paul Mundt
24 May, 2010
1 commit
-
arch/sh/lib/strlen.S:38: ERROR: trailing whitespace
Signed-off-by: Andrea Gelmini
Signed-off-by: Paul Mundt
01 Mar, 2010
1 commit
-
arch/sh/lib/libgcc.h:21: ERROR: open brace '{' following union go on the same line
Signed-off-by: Andrea Gelmini
Signed-off-by: Paul Mundt
24 Nov, 2009
1 commit
-
Optimised version of memset for the SH4 which uses movca.l.
Signed-off-by: Stuart Menefy
Signed-off-by: Paul Mundt
08 Sep, 2009
1 commit
-
Now that the cache purging is handled manually by all copy_page()
callers, we can kill off copy_page()'s on writeback. This optimizes the
non-aliasing case.Signed-off-by: Paul Mundt
01 Sep, 2009
1 commit
-
Conflicts:
arch/sh/mm/cache-sh4.c
24 Aug, 2009
2 commits
-
Signed-off-by: Stuart Menefy
Signed-off-by: Paul Mundt -
The SH instruction set has several instructions which accept an 8 bit
immediate operand. For logical instructions this operand is zero extended,
for arithmetic instructions the operand is sign extended. After adding an
option to the assembler to check this, it was found that several pieces
of assembly code were assuming this behaviour, and in one case
getting it wrong.So this patch explicitly sign extends any immediate operands, which makes
it obvious what is happening, and fixes the one case which got it wrong.Signed-off-by: Stuart Menefy
Signed-off-by: Paul Mundt
27 Jul, 2009
2 commits
-
Now that this only contains the __clear_user() function, rename it
accordingly.Signed-off-by: Paul Mundt
-
This wires up clear_user_highpage() on SH-4 and subsequently converts the
SH7705 32kB cache mode over to using it. Now that the SH-4 implementation
handles all of the dcache purging directly in the aliasing case, there is
no need to do this in the default clear_page() implementation.Signed-off-by: Paul Mundt
11 Jul, 2009
5 commits
-
Presently the STACK_CHECK() code is called in to multiple times, although
it's only necessary from the mcount entry. The code still attempts to
treat the nop case as an ftrace path resulting in superfluous code flow
for the case where ftrace is disabled. And finally, this also fixes up
references to a few undefined symbols when FUNCTION_TRACER=n.Signed-off-by: Paul Mundt
-
Presently the closest reference to function_trace_stop is within a
CONFIG_STACK_DEBUG block. When this is turned off, the build bails out
with a pcrel too far error. Reorder things a bit to handle the various
combinations.Signed-off-by: Paul Mundt
-
This adds a general CONFIG_MCOUNT in order to permit mcount generation
without ftrace support. This is primarily for allowing platforms to
enable aggressive stack overflow checking without having to enable ftrace
support. Based on the sparc64 implementation.Signed-off-by: Paul Mundt
-
Add both dynamic and static function graph tracer support for sh.
Signed-off-by: Matt Fleming
Signed-off-by: Paul Mundt -
Enable kernel stack checking code in both the dynamic ftrace and mcount
code paths. Check the stack to see if it's overflowing and make sure
that the stack pointer contains an address that's either in init_stack
or after the bss.Signed-off-by: Matt Fleming
Signed-off-by: Paul Mundt
06 Jul, 2009
2 commits
-
Now that I've added TIF_SYSCALL_FTRACE the thread flags do not fit into
a single byte any more. Code testing them now needs to be aware of the
upper and lower bytes.Signed-off-by: Matt Fleming
Signed-off-by: Paul Mundt -
Enable HAVE_FUNCTION_TRACE_MCOUNT_TEST and test the value of
function_trace_stop from our assembly code as opposed to using the
generic C function. This should optimise our mcount/ftrace code path.Signed-off-by: Matt Fleming
Signed-off-by: Paul Mundt
29 Jan, 2009
1 commit
-
In rare circumstances csum_partial() can be called with data which is
not 16 or 32 bit aligned. This is been observed with RPC calls for NFS
file systems for example. Add support for handling this without resorting
to the misaligned fixup code (which is why this hasn't been seen as a
problem). This mimics the i386 version, which has had this support for
some time.Signed-off-by: Stuart Menefy
Signed-off-by: Paul Mundt
22 Dec, 2008
4 commits
-
We chan't share code for udivsi3 and udivsi3_i4, because they
have a different clobber list. Copy udivsi3 from gcc-4.1.2.As shown in arch/sh/lib/udivsi3.S (and -Os.S),
.global __udivsi3_i4i
.global __udivsi3_i4
.global __udivsi3
__udivsi3_i4i:
...Three symbols are sharing one code, which is actually udivsi3_i4i.
But, this results unwanted code with gcc 4.1.In gcc, these three are treated as pseudo instructions that have
their own clobber list apart from the usual calling convention.According to sh's machine description. The clobber list is as
follows:- udivsi3_i4i : t,r1,pr,mach,macl
- udivsi3_i4 : t,r0,r1,r4,r5,pr,dr0,dr2,dr4
- udivsi3 : t,r4,prThe caller of udivsi3 will be left with a broken r1 and mac*.
gcc-4.1.x and older(at least to 3.4) generate udivsi3.
ST's gcc-4.1.1 seems to be OK because it has _i4i.Signed-off-by: Takashi YOSHII
Signed-off-by: Paul Mundt -
Needed by older compilers.
Signed-off-by: Paul Mundt
-
This moves in the necessary libgcc bits for SUPERH32 and drops the
libgcc linking for the regular targets. This in turn allows us to rip
out quite a few hacks both in sh_ksyms_32 and arch/sh/Makefile.Signed-off-by: Paul Mundt
-
First cut at dynamic ftrace support.
Signed-off-by: Matt Fleming
Signed-off-by: Paul Mundt
13 Nov, 2008
1 commit
-
The __copy_user function can corrupt the stack in the case of a
non-trivial length of data, and either of the first two move instructions
cause an exception. This is because the fixup for these two instructions
is mapped to the no_pop case, but these instructions execute after the
stack is pushed.This change creates an explicit NO_POP exception mapping macro, and uses
it for the two instructions executed in the trivial case where no stack
pushes occur.More information at ST Linux bugzilla:
https://bugzilla.stlinux.com/show_bug.cgi?id=4824
Signed-off-by: Dylan Reid
Signed-off-by: Stuart Menefy
Signed-off-by: Paul Mundt
01 Oct, 2008
1 commit
-
These were doing largely bogus things and using the wrong typing for
the address. Bring these in line with the ARM definitions.Signed-off-by: Paul Mundt
08 Sep, 2008
1 commit
-
Signed-off-by: Paul Mundt
28 Jul, 2008
1 commit
-
EXPORT_SYMBOL's in lib-y considered harmful:
...
MODPOST 1837 modules
ERROR: "__raw_readsl" [drivers/ssb/ssb.ko] undefined!
ERROR: "__raw_writesl" [drivers/ssb/ssb.ko] undefined!
ERROR: "__raw_writesl" [drivers/net/smc91x.ko] undefined!
ERROR: "__raw_readsl" [drivers/net/smc91x.ko] undefined!
ERROR: "__raw_writesl" [drivers/net/3c59x.ko] undefined!
ERROR: "__raw_readsl" [drivers/net/3c59x.ko] undefined!
...
make[2]: *** [__modpost] Error 1Reported-by: Adrian Bunk
Signed-off-by: Adrian Bunk
Signed-off-by: Paul Mundt
16 May, 2008
1 commit
-
Signed-off-by: Hideo Saito
Signed-off-by: Paul Mundt
19 Apr, 2008
1 commit
-
Presently these are restricted to SH-3 and SH-4, so we reorder the
ifdefs a bit to let other parts use these also.Signed-off-by: Paul Mundt
28 Jan, 2008
4 commits
-
Signed-off-by: Paul Mundt
-
Signed-off-by: Paul Mundt
-
Signed-off-by: Paul Mundt
-
Signed-off-by: Paul Mundt
07 Nov, 2007
1 commit
-
Follow the MIPS and sparc64 changes for -Werror instrumentation.
Signed-off-by: Paul Mundt
13 Jul, 2007
1 commit
-
It's only __div64_32 that needs the fix, __xdiv64_32 behaves as
expected with the original size.Signed-off-by: Paul Mundt
06 Jul, 2007
1 commit
-
These should be returning a uint32_t, whereas they were erroneously
returning a u64 before. As the register sizes are 32-bits, this doesn't
really make a lot of sense.Reported-by: Katsuya MATSUBARA
Signed-off-by: Paul Mundt
09 May, 2007
1 commit
-
Currently the xloops calculation in ndelay() gets set to 0 when
calculated with HZ=250, fix up how we do the HZ factoring in order
to get this right for differing values.Signed-off-by: kogiidena
Signed-off-by: Paul Mundt
07 May, 2007
1 commit
-
Previously we've been handling udivdi3 references and wrapping
them in to div64_32() automatically. This doesn't get a lot of
use, however, and as akpm noted in the recent thread on l-k:http://lkml.org/lkml/2007/2/27/241
we're better off simply ripping it out and going the do_div()
route if there happen to be any places that need it.Signed-off-by: Paul Mundt
26 Apr, 2007
1 commit
-
We have several platforms using local copies of identical
code.Signed-off-by: David S. Miller
27 Sep, 2006
1 commit
-
A trivial bug breaking the build on sh4eb.
Signed-off-by: Nobuhiro Iwamatsu
Signed-off-by: Paul Mundt