1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-07-19 19:10:59 +03:00
openwrt-xburst/target
juhosg 4cc612872a ar71xx: fix occasional kernel hangs during boot on AR934x
The patch taken from the linux-mips mailing list.

The Kernel hangs occasionally during boot after
"Calibrating delay loop..". This is caused by the
c0_compare_int_usable() routine in cevt-r4k.c
returning false which causes the system to disable
the timer and hang later. The false return happens
because the routine is using a series of four calls
to irq_disable_hazard() as a delay while it waits
for the timer changes to propagate to the cp0 cause
register. On newer MIPS cores, like the 74K, the
series of irq_disable_hazard() calls turn into ehb
instructions and can take as little as a few clock
ticks for all 4 instructions. This is not enough of
a delay, so the routine thinks the timer is not
working.

This fix uses up to a max number of cycle counter
ticks for the delay and uses back_to_back_c0_hazard()
instead of irq_disable_hazard() to handle the hazard
condition between cp0 writes and cp0 reads.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29009 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-13 11:26:52 +00:00
..
imagebuilder [imagebuilder] Various enhancements from Manuel Munz <freifunk@somakoma.de> 2011-09-09 17:25:20 +00:00
linux ar71xx: fix occasional kernel hangs during boot on AR934x 2011-11-13 11:26:52 +00:00
sdk [sdk] fix generation for arm platforms 2011-09-13 07:39:14 +00:00
toolchain target/toolchain: fix installation after r22723 2010-09-04 11:56:33 +00:00
Config.in mpc85xx: add a new 'spe_fpu' feature flag for the FPU used on freescale powerpc cpus 2011-01-16 01:25:06 +00:00
Makefile Add a target (CONFIG_MAKE_CONFIG) that creates an exportable toolchain. The toolchain will zipped and saved under $(TOPDIR)/bin directory. 2009-11-14 17:51:32 +00:00