Hi Markus, Il giorno mer, 29/08/2007 alle 04.25 +0200, Markus Gothe ha scritto: > Use gdb and list the read address. I think I understood what you mean. I recompiled the kernel adding the debug symbols, stripped it and booted with it. There I got those numbers (using the 32bit version): Exception PC: 0x8021c9fc, Exception RA: 0x804ddc6c gpda 0x81060e08, _regs 0x81061008 arg: 81070000 0 80503518 1 tmp: 81070000 1000 8051a868 fff8054f ffffffff 81412ef4 a13fab68 7 sve: 81070000 4083ae51 0 4608a976 0 4085cc91 0 3ed97758 then run gdb and issue those commands: (gdb) info symbol 0x8021c9fc __bzero + 56 in section .text (gdb) info symbol 0x804ddc6c init_bootmem_core + 196 in section .init.text (gdb) list *0x804ddc6c 0x804ddc6c is in init_bootmem_core (mm/bootmem.c:107). 102 */ 103 mapsize = get_mapsize(bdata); 104 memset(bdata->node_bootmem_map, 0xff, mapsize); 105 106 return mapsize; 107 } 108 109 /* 110 * Marks a particular physical memory range as unallocatable. Usable RAM 111 * might be used for boot-time allocations - or it might get added (gdb) list *0x8021c9fc No source file for address 0x8021c9fc. (gdb) disassemble 0x804ddc6c Dump of assembler code for function init_bootmem_core: 0xffffffff804ddba8 <init_bootmem_core+0>: daddiu sp,sp,-32 0xffffffff804ddbac <init_bootmem_core+4>: sd ra,16(sp) 0xffffffff804ddbb0 <init_bootmem_core+8>: sd s1,8(sp) 0xffffffff804ddbb4 <init_bootmem_core+12>: sd s0,0(sp) 0xffffffff804ddbb8 <init_bootmem_core+16>: li v0,-13 0xffffffff804ddbbc <init_bootmem_core+20>: ld s1,648(a0) 0xffffffff804ddbc0 <init_bootmem_core+24>: dsll a1,a1,0xc 0xffffffff804ddbc4 <init_bootmem_core+28>: dsll32 v0,v0,0x1b 0xffffffff804ddbc8 <init_bootmem_core+32>: daddu a1,a1,v0 0xffffffff804ddbcc <init_bootmem_core+36>: dsll a2,a2,0xc 0xffffffff804ddbd0 <init_bootmem_core+40>: sd a1,16(s1) 0xffffffff804ddbd4 <init_bootmem_core+44>: sd a3,8(s1) 0xffffffff804ddbd8 <init_bootmem_core+48>: sd a2,0(s1) 0xffffffff804ddbdc <init_bootmem_core+52>: lui v1,0x0 0xffffffff804ddbe0 <init_bootmem_core+56>: lui at,0x8049 0xffffffff804ddbe4 <init_bootmem_core+60>: daddiu v1,v1,0 0xffffffff804ddbe8 <init_bootmem_core+64>: dsll32 v1,v1,0x0 0xffffffff804ddbec <init_bootmem_core+68>: daddu v1,v1,at 0xffffffff804ddbf0 <init_bootmem_core+72>: ld v1,2112(v1) 0xffffffff804ddbf4 <init_bootmem_core+76>: lui a1,0x0 0xffffffff804ddbf8 <init_bootmem_core+80>: lui at,0x8049 0xffffffff804ddbfc <init_bootmem_core+84>: daddiu a1,a1,0 0xffffffff804ddc00 <init_bootmem_core+88>: daddiu at,at,2112 0xffffffff804ddc04 <init_bootmem_core+92>: dsll32 a1,a1,0x0 0xffffffff804ddc08 <init_bootmem_core+96>: daddu a1,a1,at 0xffffffff804ddc0c <init_bootmem_core+100>: bnel v1,a1,0x804ddc88 <init_bootmem_core+224> 0xffffffff804ddc10 <init_bootmem_core+104>: ld v0,-48(v1) 0xffffffff804ddc14 <init_bootmem_core+108>: daddiu v0,s1,48 0xffffffff804ddc18 <init_bootmem_core+112>: sd a1,48(s1) 0xffffffff804ddc1c <init_bootmem_core+116>: move a0,s1 0xffffffff804ddc20 <init_bootmem_core+120>: lui at,0x0 0xffffffff804ddc24 <init_bootmem_core+124>: daddiu at,at,0 0xffffffff804ddc28 <init_bootmem_core+128>: dsll at,at,0x10 0xffffffff804ddc2c <init_bootmem_core+132>: daddiu at,at,-32695 0xffffffff804ddc30 <init_bootmem_core+136>: dsll at,at,0x10 0xffffffff804ddc34 <init_bootmem_core+140>: sd v0,2120(at) 0xffffffff804ddc38 <init_bootmem_core+144>: lui at,0x0 0xffffffff804ddc3c <init_bootmem_core+148>: daddiu at,at,0 0xffffffff804ddc40 <init_bootmem_core+152>: dsll at,at,0x10 0xffffffff804ddc44 <init_bootmem_core+156>: daddiu at,at,-32695 0xffffffff804ddc48 <init_bootmem_core+160>: dsll at,at,0x10 0xffffffff804ddc4c <init_bootmem_core+164>: sd v0,2112(at) 0xffffffff804ddc50 <init_bootmem_core+168>: jal 0x804dd5c8 <get_mapsize> 0xffffffff804ddc54 <init_bootmem_core+172>: sd a1,8(v0) 0xffffffff804ddc58 <init_bootmem_core+176>: ld a0,16(s1) 0xffffffff804ddc5c <init_bootmem_core+180>: move s0,v0 0xffffffff804ddc60 <init_bootmem_core+184>: li a1,255 0xffffffff804ddc64 <init_bootmem_core+188>: jal 0x8021c9a0 <memset> 0xffffffff804ddc68 <init_bootmem_core+192>: move a2,v0 0xffffffff804ddc6c <init_bootmem_core+196>: move v0,s0 0xffffffff804ddc70 <init_bootmem_core+200>: ld ra,16(sp) 0xffffffff804ddc74 <init_bootmem_core+204>: ld s1,8(sp) 0xffffffff804ddc78 <init_bootmem_core+208>: ld s0,0(sp) 0xffffffff804ddc7c <init_bootmem_core+212>: jr ra [...] (gdb) info line *0x804ddc6c Line 107 of "mm/bootmem.c" starts at address 0x804ddc6c <init_bootmem_core+196> and ends at 0x804ddc88 <init_bootmem_core+224>. (gdb) info line *0x804ddc6b Line 104 of "mm/bootmem.c" starts at address 0x804ddc60 <init_bootmem_core+184> and ends at 0x804ddc6c <init_bootmem_core+196>. So, it this what you requested? >From what I understand the problem may be that bdata->node_bootmem_map maybe incorrectly initialised for this machine. Bye, Giuseppe