Since I switch to 2.6.21 kernel on my emulated Malta board (QEMU), I
have noticed something strange. The kernel starts to boot up to the
timer calibration, and then it restart the boot again. A small example:
Primary data cache 0kB, 4-way, linesize 0 bytes.
Synthesized TLB refill handler (36 instructions).
Synthesized TLB load handler fastpath (48 instructions).
Synthesized TLB store handler fastpath (48 instructions).
Synthesized TLB modify handler fastpath (47 instructions).
Enable cache parity protection for MIPS 20KC/25KF CPUs.
PID hash table entries: 512 (order: 9, 4096 bytes)
CPU frequency 100.00 MHz
Using 100.003 MHz high precision timer.
Linux version 126.96.36.199 (aurel32@i386) (gcc version 4.1.1 ()) #1 Tue May 15
12:22:07 CEST 2007
CPU revision is: 000182a0
FPU revision is: 000f8200
I have traced the problem down to the CONFIG_EARLY_PRINTK option.
Disabling it in the .config file (be aware that running make *config
will reenable this function), removes the problem.
The problem occurs for kernel 2.6.21 from both linux-mips.org and
kernel.org, on both endianness, and for both 32- and 64-bit kernels.
It would be nice if somebody could tell me if the real board (I don't
own one) suffers from the same problem or not, so that I can look for a
possible bug in QEMU.
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' firstname.lastname@example.org | email@example.com
`- people.debian.org/~aurel32 | www.aurel32.net