[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;