kernel_optimize_test/include/asm-mips
Ralf Baechle 5aa85c9fc4 [MIPS] Handle R4000/R4400 mfc0 from count register.
The R4000 and R4400 have an errata where if the cp0 count register is read
in the exact moment when it matches the compare register no interrupt will
be generated.

This bug may be triggered if the cp0 count register is being used as
clocksource and the compare interrupt as clockevent.  So a simple
workaround is to avoid using the compare for both facilities on the
affected CPUs.

This is different from the workaround suggested in the old errata documents;
at some opportunity probably the official version should be implemented
and tested.  Another thing to find out is which processor versions
exactly are affected.  I only have errata documents upto R4400 V3.0
available so for the moment the code treats all R4000 and R4400 as broken.

This is potencially a problem for some machines that have no other decent
clocksource available; this workaround will cause them to fall back to
another clocksource, worst case the "jiffies" source.
2007-11-26 17:26:14 +00:00
..
dec zs: move to the serial subsystem 2007-07-18 08:38:22 -07:00
emma2rh [MIPS] Define MIPS_CPU_IRQ_BASE in generic header 2007-02-06 16:53:08 +00:00
fw [MIPS] CFE: Add missing parenthesis. 2007-10-13 00:53:00 +01:00
ip32 [MIPS] IP32: More interrupt renumbering fixes. 2007-11-26 17:26:13 +00:00
jmr3927 [MIPS] txx9tmr clockevent/clocksource driver 2007-10-29 19:35:35 +00:00
lasat [MIPS] Lasat: Fix overlap of interrupt number ranges. 2007-11-15 23:21:50 +00:00
mach-atlas [MIPS] SNI: Fix mc146818_decode_year 2007-03-04 19:02:31 +00:00
mach-au1x00 [MIPS] Fix and cleanup the MIPS part of the (ab)use of CLOCK_TICK_RATE. 2007-11-02 16:13:48 +00:00
mach-bcm47xx [MIPS] Deforest the function pointer jungle in the time code. 2007-10-11 23:46:08 +01:00
mach-cobalt [MIPS] Cobalt: Fix IRQ comment; the Cobalt kernel uses CP0 counter now. 2007-11-02 16:13:48 +00:00
mach-db1x00 [MIPS] Alchemy: Renumber interrupts so irq_cpu can work. 2007-10-17 18:28:48 +01:00
mach-dec [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-emma2rh [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-excite [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-generic [MIPS] Fix and cleanup the MIPS part of the (ab)use of CLOCK_TICK_RATE. 2007-11-02 16:13:48 +00:00
mach-ip22 [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-ip27 [MIPS] Always do the ARC64_TWIDDLE_PC thing. 2007-10-18 18:11:46 +01:00
mach-ip32 [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
mach-jazz [MIPS] Fix and cleanup the MIPS part of the (ab)use of CLOCK_TICK_RATE. 2007-11-02 16:13:48 +00:00
mach-jmr3927 [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
mach-lasat [MIPS] Lasat: Fix overlap of interrupt number ranges. 2007-11-15 23:21:50 +00:00
mach-lemote [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-mips [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-mipssim [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-pb1x00 [MIPS] Alchemy: Renumber interrupts so irq_cpu can work. 2007-10-17 18:28:48 +01:00
mach-pnx8550 [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
mach-qemu [MIPS] Fix and cleanup the MIPS part of the (ab)use of CLOCK_TICK_RATE. 2007-11-02 16:13:48 +00:00
mach-rm [MIPS] Fix and cleanup the MIPS part of the (ab)use of CLOCK_TICK_RATE. 2007-11-02 16:13:48 +00:00
mach-sibyte [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-tx49xx [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-vr41xx [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-wrppmc [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mach-yosemite [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
mips-boards [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
pci Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pmc-sierra/msp71xx [MIPS] MSP71XX: Add workarounds file. 2007-10-16 18:23:46 +01:00
sgi Convert SGI IP22 and specific drivers to platform_device. 2007-05-11 17:00:29 +01:00
sibyte [MIPS] time: SMP-proofing of Sibyte clockevent/clocksource code. 2007-10-22 22:09:00 +01:00
sn [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
tx4927 [MIPS] txx9tmr clockevent/clocksource driver 2007-10-29 19:35:35 +00:00
tx4938 [MIPS] txx9tmr clockevent/clocksource driver 2007-10-29 19:35:35 +00:00
vr41xx [MIPS] Separate platform_device registration for VR41xx GPIO 2007-07-12 17:41:15 +01:00
xtalk [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
a.out.h [MIPS] Fixup secure computing stuff. 2007-07-31 21:35:21 +01:00
abi.h [MIPS] signals: Share even more code. 2007-02-18 21:31:35 +00:00
addrspace.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
asm.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
asmmacro-32.h
asmmacro-64.h
asmmacro.h [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
atomic.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
auxvec.h
barrier.h [MIPS] Make support for weakly ordered LL/SC a config option. 2007-07-20 18:57:39 +01:00
bcache.h [MIPS] SNI: remove unused pcimt_scache.c 2007-08-27 02:16:54 +01:00
bitops.h forbid asm/bitops.h direct inclusion 2007-10-19 11:53:41 -07:00
bootinfo.h [MIPS] ARC: Get rid of mips_machgroup 2007-10-11 23:46:08 +01:00
branch.h
break.h
bug.h [MIPS] Fix BUG(), BUG_ON() handling 2007-04-20 14:58:37 +01:00
bugs.h
byteorder.h [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
cache.h
cachectl.h
cacheflush.h [MIPS] Remove unused argument from kunmap_coherent(). 2007-04-27 16:20:24 +01:00
cacheops.h [MIPS] define Hit_Invalidate_I to Index_Invalidate_I for loongson2 2007-07-10 17:33:02 +01:00
checksum.h [MIPS] Fix wrong checksum for split TCP packets on 64-bit MIPS 2007-04-20 14:58:37 +01:00
cmpxchg.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
compat-signal.h [MIPS] use compat_siginfo in rt_sigframe_n32 2007-06-26 19:57:33 +02:00
compat.h Introduce compat_u64 and compat_s64 types 2007-07-16 09:05:48 -07:00
compiler.h [MIPS] cpu-bugs64.c: GCC 3.3 constraint workaround 2007-09-19 19:33:14 +01:00
cpu-features.h [MIPS] Allow hardwiring of the CPU type to a single type for optimization. 2007-10-11 23:46:15 +01:00
cpu-info.h [MIPS] Fix shadow register support. 2007-11-15 23:21:49 +00:00
cpu.h [MIPS] Convert list of CPU types from #define to enum. 2007-10-11 23:46:16 +01:00
cputime.h
current.h
debug.h
delay.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
device.h Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
div64.h [MIPS] Change names of local variables to silence sparse 2007-07-10 17:33:06 +01:00
dma-mapping.h [MIPS] Don't claim we support dma_declare_coherent_memory - we don't. 2007-02-13 22:40:50 +00:00
dma.h [MIPS] ISA: Fix typo 2007-03-08 01:10:30 +00:00
ds1286.h
dsp.h
edac.h [MIPS] Polish <asm/edac.h>. 2007-08-27 02:16:59 +01:00
elf.h [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
emergency-restart.h
errno.h
fb.h fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
fcntl.h [MIPS] Fix value of O_TRUNC 2007-10-01 14:17:50 +01:00
fixmap.h [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
floppy.h cleanup floppy.h 2007-10-17 08:42:55 -07:00
fpregdef.h
fpu_emulator.h
fpu.h remove asm/bitops.h includes 2007-10-19 11:53:41 -07:00
futex.h [MIPS] Fix possible hang in LL/SC futex loops. 2007-11-26 17:26:14 +00:00
gdb-stub.h
gpio.h [MIPS] Add generic GPIO support 2007-07-10 17:32:55 +01:00
gt64120.h [MIPS] time: Add GT641xx timer0 clockevent driver 2007-10-22 22:09:00 +01:00
hardirq.h
hazards.h [MIPS] R1: Fix hazard barriers to make kernels work on R2 also. 2007-10-11 23:46:19 +01:00
highmem.h [MIPS] Remove LIMITED_DMA support 2007-05-11 14:28:31 +01:00
hw_irq.h [MIPS] i8295 cleanups. 2007-10-11 23:46:04 +01:00
i8253.h [MIPS] Fix pcspeaker build. 2007-11-26 17:26:13 +00:00
i8259.h [MIPS] i8295 cleanups. 2007-10-11 23:46:04 +01:00
ide.h
inst.h
inventory.h [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
io.h Remove dma_cache_(wback|inv|wback_inv) functions 2007-10-17 08:42:57 -07:00
ioctl.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
ioctls.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
ipcbuf.h
irq_cpu.h [MIPS] Define MIPS_CPU_IRQ_BASE in generic header 2007-02-06 16:53:08 +00:00
irq_gt641xx.h [MIPS] Add GT641xx IRQ routines. 2007-10-11 23:46:04 +01:00
irq_regs.h [MIPS] Complete fixes after removal of pt_regs argument to int handlers. 2006-10-08 02:38:28 +01:00
irq.h [MIPS] IRQ Affinity Support for SMTC on Malta Platform 2007-10-11 23:45:57 +01:00
irqflags.h [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
isadep.h
jazz.h [MIPS] JAZZ fixes 2007-10-11 23:46:00 +01:00
jazzdma.h [MIPS] JAZZ fixes 2007-10-11 23:46:00 +01:00
Kbuild
kdebug.h move die notifier handling to common code 2007-05-08 11:15:04 -07:00
kexec.h kdump/kexec: calculate note size at compile time 2007-05-08 11:15:07 -07:00
kmap_types.h
kspd.h
linkage.h [MIPS] Sibyte: Replace SB1 cachecode with standard R4000 class cache code. 2007-10-11 23:46:05 +01:00
local.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
m48t35.h
m48t37.h
mc146818-time.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
mc146818rtc.h
mips_mt.h [MIPS] MT: Enable coexistence of AP/SP with VSMP and SMTC. 2007-07-31 21:35:24 +01:00
mipsmtregs.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
mipsprom.h
mipsregs.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
mman.h [PATCH] Remove final references to deprecated "MAP_ANON" page protection flag 2007-02-11 10:51:17 -08:00
mmu_context.h [MIPS] Kill num_online_cpus() loops. 2007-10-11 23:46:18 +01:00
mmu.h
mmzone.h
module.h [MIPS] define Hit_Invalidate_I to Index_Invalidate_I for loongson2 2007-07-10 17:33:02 +01:00
msc01_ic.h [MIPS] MT: Reenable EIC support and add support for SOCit SC. 2007-05-11 14:28:31 +01:00
msgbuf.h
mutex.h
namei.h
nile4.h [MIPS] Add back support for LASAT platforms 2007-10-11 23:46:00 +01:00
paccess.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
page.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
param.h
parport.h [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
pci.h [MIPS] PCI: Always enable CONFIG_PCI_DOMAINS 2007-10-11 23:46:03 +01:00
percpu.h
pgalloc.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
pgtable-32.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
pgtable-64.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
pgtable-bits.h
pgtable.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
pmon.h [MIPS] PMON: Fix cpustart declaration. 2007-07-31 21:35:32 +01:00
poll.h Consolidate asm/poll.h 2007-05-11 08:29:34 -07:00
posix_types.h
prctl.h [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
prefetch.h
processor.h [MIPS] Fixup secure computing stuff. 2007-07-31 21:35:21 +01:00
ptrace.h [MIPS] IP22: Fix warning. 2007-10-16 18:23:47 +01:00
qemu.h [MIPS] Implement clockevents for R4000-style cp0 count/compare interrupt 2007-10-11 23:46:09 +01:00
r4kcache.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
reboot.h
reg.h
regdef.h
resource.h
rm9k-ocd.h
rtlx.h [MIPS] RTLX: Handle copy_*_user return values. 2007-03-17 01:03:29 +00:00
scatterlist.h Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
seccomp.h [MIPS] Fixup secure computing stuff. 2007-07-31 21:35:21 +01:00
sections.h [MIPS] Remove _fdata from asm-mips/sections.h 2007-02-06 16:53:15 +00:00
segment.h
semaphore.h kill DECLARE_MUTEX_LOCKED 2007-10-17 08:42:47 -07:00
sembuf.h
serial.h [MIPS] Put an end to <asm/serial.h>'s long and annyoing existence 2007-07-10 17:33:01 +01:00
setup.h [PATCH] cleanup asm/setup.h userspace visibility 2006-12-07 08:39:46 -08:00
sgialib.h [MIPS] Fix and cleanup the mess that a dozen prom_printf variants are. 2007-03-04 19:02:37 +00:00
sgiarcs.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
sgidefs.h
shmbuf.h
shmparam.h
sigcontext.h [MIPS] Add basic SMARTMIPS ASE support 2007-02-22 00:50:44 +00:00
siginfo.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
signal.h [MIPS] signals: Share even more code. 2007-02-18 21:31:35 +00:00
sim.h [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
smp.h [MIPS] SMP: Implement smp_call_function_mask(). 2007-10-11 23:46:18 +01:00
smtc_ipi.h [MIPS] IRQ Affinity Support for SMTC on Malta Platform 2007-10-11 23:45:57 +01:00
smtc_proc.h
smtc.h [MIPS] SMTC: Move MIPS_CPU_IPI_IRQ definition into header. 2007-08-27 02:16:55 +01:00
sni.h [MIPS] Kill duplicated setup_irq() for cp0 timer 2007-10-19 18:15:58 +01:00
socket.h [NET]: Adding SO_TIMESTAMPNS / SCM_TIMESTAMPNS support 2007-04-25 22:24:21 -07:00
sockios.h [NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution 2007-04-25 22:24:04 -07:00
sparsemem.h
spinlock_types.h
spinlock.h [MIPS] Make support for weakly ordered LL/SC a config option. 2007-07-20 18:57:39 +01:00
stackframe.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
stacktrace.h [MIPS] unwind_stack should return a value ... 2007-08-27 02:16:55 +01:00
stat.h
statfs.h
string.h
suspend.h
sysmips.h
system.h [MIPS] Fix context DSP context / TLS pointer switching bug for new threads. 2007-11-26 17:26:13 +00:00
termbits.h [MIPS] tty: add the new ioctls and definitions. 2007-09-10 21:25:27 +01:00
termios.h [MIPS] tty: add the new ioctls and definitions. 2007-09-10 21:25:27 +01:00
thread_info.h Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus 2007-07-31 20:41:53 -07:00
time.h [MIPS] Handle R4000/R4400 mfc0 from count register. 2007-11-26 17:26:14 +00:00
timex.h [MIPS] Change get_cycles to always return 0. 2007-11-15 23:21:49 +00:00
titan_dep.h
tlb.h
tlbdebug.h [MIPS] Cleanup tlbdebug.h 2007-07-12 17:41:11 +01:00
tlbflush.h remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
topology.h
traps.h
txx9irq.h [MIPS] The irq_chip for TX39/TX49 SoCs 2007-08-27 02:16:52 +01:00
txx9tmr.h [MIPS] txx9tmr clockevent/clocksource driver 2007-10-29 19:35:35 +00:00
types.h remove strict ansi check from __u64 in asm/types.h 2007-10-17 08:42:53 -07:00
uaccess.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
ucontext.h
unaligned.h [MIPS] Optimize get_unaligned / put_unaligned implementations. 2007-10-11 23:46:15 +01:00
unistd.h [MIPS] Wire up the fallocate syscall. 2007-07-31 21:35:22 +01:00
user.h
vga.h [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
vpe.h
war.h [MIPS] Split up war.h 2007-10-11 23:46:07 +01:00
wbflush.h
xor.h