Ralf Baechle
f65e4fa8e0
[MIPS] Improve branch prediction in ll/sc atomic operations.
...
Now that finally all supported versions of binutils have functioning
support for .subsection use .subsection to tweak the branch prediction
I did not modify the R10000 errata variants because it seems unclear if
this will invalidate the workaround which actually relies on the cheesy
prediction of branch likely to cause a misspredict if the sc was
successful.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2007-02-13 22:40:50 +00:00
Ralf Baechle
2d911e9a4e
[MIPS] Move die and die_if_kernel() from system.h to ptrace.h
...
This eleminates the need to include ptrace.h into system.h and fixes a
harmless namespace conflict on the PC symbol in bpck.c.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2006-12-10 21:52:11 +00:00
Ralf Baechle
0004a9dfea
[MIPS] Cleanup memory barriers for weakly ordered systems.
...
Also the R4000 / R4600 LL/SC instructions imply a sync so no explicit sync
needed.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2006-12-04 22:43:14 +00:00
Ralf Baechle
904880e717
[MIPS] Don't use R10000 llsc workaround version for all llsc-full processors.
...
Found and original patch by bile@landofbile.com .
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2006-11-02 17:23:33 +00:00
Steven Rostedt
52393ccc0a
[PATCH] remove set_wmb - arch removal
...
set_wmb should not be used in the kernel because it just confuses the
code more and has no benefit. Since it is not currently used in the
kernel this patch removes it so that new code does not include it.
All archs define set_wmb(var, value) to do { var = value; wmb(); }
while(0) except ia64 and sparc which use a mb() instead. But this is
still moot since it is not used anyway.
Hasn't been tested on any archs but x86 and x86_64 (and only compiled
tested)
Signed-off-by: Steven Rostedt <rostedt@goodmis.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-07-14 21:56:14 -07:00
Ralf Baechle
192ef36619
[MIPS] TRACE_IRQFLAGS_SUPPORT support.
...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2006-07-13 21:26:09 +01:00
David Woodhouse
62c4f0a2d5
Don't include linux/config.h from anywhere else in include/
...
Signed-off-by: David Woodhouse <dwmw2@infradead.org >
2006-04-26 12:56:16 +01:00
Ralf Baechle
f088fc84f9
[MIPS] FPU affinity for MT ASE.
...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2006-04-19 04:14:28 +02:00
Ralf Baechle
91b05e6776
[MIPS] Fix vectored interrupt support in TLB exception handler generator.
...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2006-04-19 04:14:13 +02:00
Ralf Baechle
b4d05cb9cb
[MIPS] Make set_vi_srs_handler static.
...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2006-04-19 04:14:12 +02:00
Ralf Baechle
0cea043b56
[MIPS] Reformat __xchg().
...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2006-03-21 13:27:47 +00:00
Ralf Baechle
3e6cb2d38a
[MIPS] Use "=R" constraint to avoid compiler errors in cmpxchg().
...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2006-02-27 17:30:35 +00:00
Al Viro
40bc9c671a
[PATCH] mips: task_pt_regs()
...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-01-12 09:08:58 -08:00
Ingo Molnar
4dc7a0bbeb
[PATCH] sched: add cacheflush() asm
...
Add per-arch sched_cacheflush() which is a write-back cacheflush used by
the migration-cost calibration code at bootup time.
Signed-off-by: Ingo Molnar <mingo@elte.hu >
Cc: Nick Piggin <nickpiggin@yahoo.com.au >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-01-12 09:08:49 -08:00
Ralf Baechle
178086c86a
Don't print file name and line in die and die_if_kernel.
...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2005-10-29 19:32:42 +01:00
Ralf Baechle
f99d3023f3
Sprinkle a few more .set mipsX over xchg to make sure we dont' end up with
...
64-bit instructions on 32-bit processors, they tend to be unhappy about
that kind of food ;-)
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2005-10-29 19:32:11 +01:00
Ralf Baechle
fabffc13ed
Remove workaround for binutils 2.15 assembler bug; this version is not
...
suitable to reliably build kernels anymore anyway and 2.16 has this
fixed.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2005-10-29 19:32:11 +01:00
Ralf Baechle
3fd5646cac
Add missing space.
...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2005-10-29 19:32:05 +01:00
Ralf Baechle
e01402b115
More AP / SP bits for the 34K, the Malta bits and things. Still wants
...
a little polishing.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2005-10-29 19:31:53 +01:00
Ralf Baechle
7222424e2e
More .set to keep 32-bit processors happy.
...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2005-10-29 19:31:33 +01:00
Maciej W. Rozycki
c4559f67b7
Always use ".set mips3" rather than select between "mips2" or "mips3"
...
for assembling ll/sc sequences to avoid problems with 64-bit
configurations.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2005-10-29 19:31:31 +01:00
Maciej W. Rozycki
260c96738c
Mark __die() "noreturn" for real.
...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2005-10-29 19:31:26 +01:00
Maciej W. Rozycki
aac8aa7717
Enable a suitable ISA for the assembler around ll/sc so that code
...
builds even for processors that don't support the instructions.
Plus minor formatting fixes.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2005-10-29 19:31:22 +01:00
Ralf Baechle
e50c0a8fa6
Support the MIPS32 / MIPS64 DSP ASE.
...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2005-10-29 19:31:17 +01:00
Ralf Baechle
875d43e72b
[PATCH] mips: clean up 32/64-bit configuration
...
Start cleaning 32-bit vs. 64-bit configuration.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2005-09-05 00:06:06 -07:00