Gabor Juhos 0112153a0e 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.

SVN-Revision: 29009
2011-11-13 11:26:52 +00:00
2011-02-11 14:04:00 +00:00
2011-11-13 10:48:05 +00:00
2007-02-26 01:05:09 +00:00
2016-03-20 17:29:15 +01:00
2011-09-05 19:29:22 +00:00

This is the buildsystem for the OpenWrt Linux distribution

Please use "make menuconfig" to configure your appreciated
configuration for the toolchain and firmware.

You need to have installed gcc, binutils, patch, bzip2, flex,
make, gettext, pkg-config, unzip, libz-dev and libc headers.

Simply running 'make' will build your firmware.
It will download all sources, build the cross-compile toolchain, 
the kernel and all choosen applications.

You can use scripts/flashing/flash.sh for remotely updating your embedded
system via tftp.

The OpenWrt system is documented in docs/. You will need a LaTeX distribution
and the tex4ht package to build the documentation. Type make -C docs/ to build it.

Building your own firmware you need to have access to a Linux, BSD or MacOSX system.
Cygwin will not be supported because of the lack of case sensitiveness.

Sunshine!
	Your OpenWrt Project
	http://openwrt.org


Description
This repository is a mirror of https://git.openwrt.org/openwrt/openwrt.git It is for reference only and is not active for check-ins. We will continue to accept Pull Requests here. They will be merged via staging trees then into openwrt.git.
Readme 1,004 MiB
Languages
C 61.6%
Makefile 18.8%
Shell 6.6%
Roff 6.5%
Perl 2.4%
Other 3.9%