[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[microblaze-uclinux] Kernel BUG...
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi all,
referring to the question I raised on the ML300, this is the point where the
boot stops:
Calibrating delay loop... 0.00 BogoMIPS
<6>Memory: %<2>kernel BUG at slab.c:857!
Anyone has previously seen this? Or knows what kind of error can generate it?
In addition, I dumped the image and looked for the exact point where the error
seems to occur: I attach a piece of it with a [HERE] tag indicating where to
look
Any suggestion will be appreciated ;)))
Regards
- --
- --------------------------------------------------------
Roberto Farina
CEFRIEL - Embedded Systems Design Unit
Via Fucini, 2 - 20133 MILANO (ITALY)
Phone: +39 02 23954 236
Fax: +39 02 23954 254
E-mail: roberto.farina@cefriel.it
- --------------------------------------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQFAEPWbzF5ONZxALKMRAnjFAKDcMlXftqOKZ73rWhueFq9cQwS/fQCgt03o
MEc8hcJuVmft0bAUXVhxosA=
=aLfY
-----END PGP SIGNATURE-----
/*
* Call the console drivers, asking them to write out
* log_buf[start] to log_buf[end - 1].
* The console_sem must be held.
*/
static void call_console_drivers(unsigned long start, unsigned long end)
{
8000dd40: 02c50000 add r22, r5, r0
8000dd44: 02e60000 add r23, r6, r0
unsigned long cur_index, start_print;
static int msg_level = -1;
if (((long)(start - end)) > 0)
8000dd48: 1477b000 rsubk r3, r23, r22
8000dd4c: be63001c bleid r3, 28 // 8000dd68
8000dd50: 30c0016d addik r6, r0, 365
BUG();
8000dd54: b0008008 imm -32760
8000dd58: 30a0df90 addik r5, r0, -8304
8000dd5c: b000ffff imm -1
8000dd60: b9f49db8 brlid r15, -25160 // 80007b18 <__bug>
8000dd64: 00e00000 add r7, r0, r0
cur_index = start;
8000dd68: 00b60000 add r5, r22, r0
start_print = start;
while (cur_index != end) {
8000dd6c: 16572800 rsubk r18, r23, r5
8000dd70: bc12011c beqi r18, 284 // 8000de8c
if ( msg_level < 0 &&
8000dd74: b0008009 imm -32759
8000dd78: e8607964 lwi r3, r0, 31076
8000dd7c: bea3009c bgeid r3, 156 // 8000de18
8000dd80: 1476b800 rsubk r3, r22, r23
8000dd84: aa430002 xori r18, r3, 2
8000dd88: bcb2000c bgei r18, 12 // 8000dd94
8000dd8c: bca3008c bgei r3, 140 // 8000de18
8000dd90: b800000c bri 12 // 8000dd9c
8000dd94: 36430002 rsubik r18, r3, 2
8000dd98: bcb20080 bgei r18, 128 // 8000de18
8000dd9c: a4763fff andi r3, r22, 16383
8000dda0: b000800a imm -32758
8000dda4: 30c0d7f4 addik r6, r0, -10252
8000dda8: b000800a imm -32758
8000ddac: e063d7f4 lbui r3, r3, -10252
8000ddb0: 3240003c addik r18, r0, 60
8000ddb4: 16521801 cmp r18, r18, r3
8000ddb8: bc320060 bnei r18, 96 // 8000de18
8000ddbc: 30760001 addik r3, r22, 1
8000ddc0: a4633fff andi r3, r3, 16383
8000ddc4: 10633000 addk r3, r3, r6
8000ddc8: c0601800 lbu r3, r0, r3
8000ddcc: 90830060 sext8 r4, r3
8000ddd0: 3240002f addik r18, r0, 47
8000ddd4: 16522001 cmp r18, r18, r4
8000ddd8: bc720040 blei r18, 64 // 8000de18
8000dddc: 32400037 addik r18, r0, 55
8000dde0: 16522001 cmp r18, r18, r4
8000dde4: bc920034 bgti r18, 52 // 8000de18
8000dde8: 30760002 addik r3, r22, 2
8000ddec: a4633fff andi r3, r3, 16383
8000ddf0: 10633000 addk r3, r3, r6
8000ddf4: c0601800 lbu r3, r0, r3
8000ddf8: 3240003e addik r18, r0, 62
8000ddfc: 16521801 cmp r18, r18, r3
8000de00: bc320018 bnei r18, 24 // 8000de18
((end - cur_index) > 2) &&
LOG_BUF(cur_index + 0) == '<' &&
LOG_BUF(cur_index + 1) >= '0' &&
LOG_BUF(cur_index + 1) <= '7' &&
LOG_BUF(cur_index + 2) == '>')
{
msg_level = LOG_BUF(cur_index + 1) - '0';
8000de04: 3064ffd0 addik r3, r4, -48
8000de08: b0008009 imm -32759
8000de0c: f8607964 swi r3, r0, 31076
cur_index += 3;
8000de10: 30b60003 addik r5, r22, 3
start_print = cur_index;
8000de14: 02c50000 add r22, r5, r0
}
while (cur_index != end) {
8000de18: 1657b000 rsubk r18, r23, r22
8000de1c: bc120070 beqi r18, 112 // 8000de8c
8000de20: 3300ffff addik r24, r0, -1
char c = LOG_BUF(cur_index);
8000de24: a4763fff andi r3, r22, 16383
8000de28: b000800a imm -32758
8000de2c: e063d7f4 lbui r3, r3, -10252
cur_index++;
8000de30: 32d60001 addik r22, r22, 1
if (c == '\n') {
8000de34: 3240000a addik r18, r0, 10
8000de38: 16521801 cmp r18, r18, r3
8000de3c: bc320040 bnei r18, 64 // 8000de7c
if (msg_level < 0) {
8000de40: b0008009 imm -32759
8000de44: e8607964 lwi r3, r0, 31076
8000de48: bca30014 bgei r3, 20 // 8000de5c
/*
* printk() has already given us loglevel tags in
* the buffer. This code is here in case the
* log buffer has wrapped right round and scribbled
* on those tags
*/
msg_level = default_message_loglevel;
8000de4c: b0008009 imm -32759
8000de50: e860793c lwi r3, r0, 31036
8000de54: b0008009 imm -32759
8000de58: f8607964 swi r3, r0, 31076
}
_call_console_drivers(start_print, cur_index, msg_level);
8000de5c: b0008009 imm -32759
8000de60: e8e07964 lwi r7, r0, 31076
[HERE] ---->>>>> 8000de64: b9f4fe2c brlid r15, -468 // 8000dc90 <_call_console_drivers>
8000de68: 00d60000 add r6, r22, r0
msg_level = -1;
8000de6c: b0008009 imm -32759
8000de70: fb007964 swi r24, r0, 31076
start_print = cur_index;