|
Hello All I'm really desperate for some help , I've been struggling with this system since few days. sudheer wrote: Hello Raja,I am still facing the issue in accessing the address in linux. The physical address given in u-boot init.S tlbentry for 'system ace' is 0xE0000000 I am able to access the address in u-boot and everything is fine in u-boot. But in linux , I am able to ioremap the the address 0xE0000000 but the kernel crashes when i try to access the address . physical address=0xe0000000 address_after_ioremap = 0xe1000000. I am trying to read with readw(address_after_ioremap) The kernel gives an exception error saying Oops: machine check, sig: 7 [#2] . The error dump is as below: Instruction dump: Data machine check in kernel mode. PLB0: BEAR=0x00000000e0000000 ACR= 0xdb000000 BESR= 0x0000000000008000 PLB1: BEAR=0xe98d7ad33716ee7e ACR= 0xdb000000 BESR= 0x0000000000000000 POB0: BEAR=0x0000000fffaebbcd BESR0=0x00000000 BESR1=0x00000000 OPB0: BEAR=0x0000000000000000 BSTAT=0x00000000 Oops: machine check, sig: 7 [#2] NIP: 00000000 LR: C0002200 CTR: 00000000 REGS: c0241f50 TRAP: 0202 Not tainted (2.6.16.2) MSR: 00000000 <> CR: 84CA4124 XER: 00000000 TASK = dff6cb70[1] 'swapper' THREAD: c0740000 GPR00: 00000000 C0241E40 DFF6CB70 00000001 FFFFFFD0 00000000 C0240000 C01F3C0C GPR08: C01F0000 C0002200 00021002 C0001FF4 DFF6CD38 802823E0 1FFB9600 00000000 GPR16: 00000001 FFFFFFFF 00000000 007FFF00 1FFB3540 1FF63CE0 1FFCEE78 C01C0000 GPR24: C01C0000 C01C0000 C01F0000 C01C0000 BFFFFFFF FFFFFFD0 00000000 C0241F50 NIP [00000000] 0x0 LR [C0002200] ret_from_except+0x0/0x18 Call Trace: Instruction dump: Data machine check in kernel mode. PLB0: BEAR=0x00000000e0000000 ACR= 0xdb000000 BESR= 0x0000000000008000 .........and this dump gets print continously. I have checked with TLB entries in u-boot and linux using BDI: BDI_AMCC440SPe>tlb 0 10 IDX TID EPN SIZE VTS RPN USER WIMGE USRSVC 0 : 00 ff000000 16MB V0 -> 4_ff000000 U:0000 WI-G- XWRXWR 1 : 00 00000000 256MB V0 -> 0_00000000 U:0000 -I-G- XWRXWR 2 : 00 10000000 256MB V0 -> 0_10000000 U:0000 -I-G- XWRXWR 3 : 00 20000000 256MB V0 -> 0_20000000 U:0000 -I-G- XWRXWR 4 : 00 30000000 256MB V0 -> 0_30000000 U:0000 -I-G- XWRXWR 5 : 00 90000000 256KB V0 -> 4_00000000 U:0000 -I--- XWRXWR 6 : 00 e0000000 1KB V0 -> 4_e0000000 U:0000 -I-G- -WR-WR 7 : 00 a0000000 4KB V0 -> 4_f0000000 U:0000 -I-G- -WR-WR 8 : 00 d0000000 256MB V0 -> c_00000000 U:0000 -I-G- -WR-WR 9 : 00 80000000 256MB V0 -> c_10000000 U:0000 -I-G- -WR-WR 10 : 00 01080000 1KB -0 -> 0_00000000 U:0000 ----- ------ BDI_AMCC440SPe> In Linux the tlb entries are as below....... BDI_AMCC440SPe>tlb 0 63 IDX TID EPN SIZE VTS RPN USER WIMGE USRSVC 0 : 0e 0ff1a000 4KB V0 -> 0_007ce000 U:0000 --MG- --R--R 1 : 0e 0fe94000 4KB V0 -> 0_1ff96000 U:0000 ---G- X-RX-R 2 : 0e 30017000 4KB V0 -> 0_007cd000 U:0000 --MG- --R-WR 3 : 0e 10039000 4KB V0 -> 0_1ffb8000 U:0000 ---G- X-RX-R 4 : 0e 30009000 4KB V0 -> 0_00758000 U:0000 ---G- X-RX-R 5 : 0e 30010000 4KB V0 -> 0_0078b000 U:0000 ---G- X-RX-R 6 : 0e 00000000 1KB -0 -> 0_1f4e2000 U:0000 ---G- --R--R 7 : 0e 0fe3e000 4KB V0 -> 0_1f4e2000 U:0000 ---G- X-RX-R 8 : 0e 0ff1c000 4KB V0 -> 0_007ed000 U:0000 --MG- XWRXWR 9 : 0e 0ff1e000 4KB V0 -> 0_007ee000 U:0000 --MG- -WR-WR 10 : 0e 0ff1f000 4KB V0 -> 0_007ea000 U:0000 --MG- XWRXWR 11 : 0e 0fe39000 4KB V0 -> 0_1ff8e000 U:0000 ---G- X-RX-R 12 : 0e 0ff21000 4KB V0 -> 0_007a8000 U:0000 --MG- --R-WR 13 : 0e 0fe47000 4KB V0 -> 0_1ffa9000 U:0000 ---G- X-RX-R 14 : 0e 0fe46000 4KB V0 -> 0_1ffb2000 U:0000 ---G- X-RX-R 15 : 0e 30019000 4KB V0 -> 0_007c5000 U:0000 --MG- -WR-WR 16 : 0e 0fe45000 4KB V0 -> 0_1ffa8000 U:0000 ---G- X-RX-R 17 : 00 fdfff000 4KB V0 -> 4_f0000000 U:0000 -IMG- ----WR 18 : 0e 0fe9a000 4KB V0 -> 0_1ff98000 U:0000 ---G- X-RX-R 19 : 0e 10067000 4KB V0 -> 0_0078e000 U:0000 --MG- -WR-WR 20 : 0e 00000000 4KB -0 -> 0_1f4e5000 U:0000 ---G- --R--R 21 : 0e 10030000 4KB V0 -> 0_1f4e5000 U:0000 ---G- X-RX-R 22 : 0e 10063000 4KB V0 -> 0_007b7000 U:0000 --MG- -WR-WR 23 : 0e 0fe4c000 4KB V0 -> 0_1ff9b000 U:0000 ---G- X-RX-R 24 : 0e 1007f000 4KB V0 -> 0_007e0000 U:0000 --MG- -WR-WR 25 : 0e 0ff1d000 4KB V0 -> 0_007c6000 U:0000 --MG- --R-WR 26 : 0e 0fe4e000 4KB V0 -> 0_1ffa1000 U:0000 ---G- X-RX-R 27 : 0e 0fe0f000 4KB V0 -> 0_0077e000 U:0000 ---G- X-RX-R 28 : 0e 0fe52000 4KB V0 -> 0_0077f000 U:0000 ---G- X-RX-R 29 : 0e 0fe53000 4KB V0 -> 0_1ff80000 U:0000 ---G- X-RX-R 30 : 0e 0fef9000 4KB V0 -> 0_1ff81000 U:0000 ---G- --R--R 31 : 0e 0fe3b000 4KB V0 -> 0_1ffa7000 U:0000 ---G- X-RX-R 32 : 0e 7f901000 4KB V0 -> 0_007db000 U:0000 --MG- -WR-WR 33 : 0e 10027000 4KB V0 -> 0_1ffd0000 U:0000 ---G- X-RX-R 34 : 0e 1003a000 4KB V0 -> 0_1ffb6000 U:0000 ---G- X-RX-R 35 : 0e 0fe51000 4KB V0 -> 0_00775000 U:0000 ---G- X-RX-R 36 : 0e 1003b000 4KB V0 -> 0_1ffb7000 U:0000 ---G- X-RX-R 37 : 0e 1002a000 4KB V0 -> 0_1ffcf000 U:0000 ---G- X-RX-R 38 : 0e 10066000 4KB V0 -> 0_007de000 U:0000 --MG- -WR-WR 39 : 0e 1002b000 4KB V0 -> 0_1ffd3000 U:0000 ---G- X-RX-R 40 : 0e 1002c000 4KB V0 -> 0_1ffd2000 U:0000 ---G- X-RX-R 41 : 0e 1005d000 4KB V0 -> 0_007f4000 U:0000 --MG- XWRXWR 42 : 0e 1002d000 4KB V0 -> 0_1ffc2000 U:0000 ---G- X-RX-R 43 : 0e 10028000 4KB V0 -> 0_1ffc8000 U:0000 ---G- X-RX-R 44 : 0e 10069000 4KB V0 -> 0_0078d000 U:0000 --MG- -WR-WR 45 : 0e 1002e000 4KB V0 -> 0_1ffd4000 U:0000 ---G- X-RX-R 46 : 0e 1005e000 4KB V0 -> 0_007a7000 U:0000 --MG- X-RXWR 47 : 0e 0fe11000 4KB V0 -> 0_0077a000 U:0000 ---G- X-RX-R 48 : 0e 10047000 4KB V0 -> 0_1ffcd000 U:0000 ---G- --R--R 49 : 0e 1007e000 4KB V0 -> 0_007d0000 U:0000 --MG- --R-WR 50 : 0e 0fea1000 4KB V0 -> 0_1ffd5000 U:0000 ---G- X-RX-R 51 : 0e 10026000 4KB V0 -> 0_1ffc9000 U:0000 ---G- X-RX-R 52 : 0e 0fe0e000 4KB V0 -> 0_1ffd1000 U:0000 ---G- X-RX-R 53 : 0e 0fe96000 4KB V0 -> 0_1ffce000 U:0000 ---G- X-RX-R 54 : 0e 1002f000 4KB V0 -> 0_1f4c1000 U:0000 ---G- X-RX-R 55 : 0e 7f900000 4KB V0 -> 0_0078f000 U:0000 --MG- -WR-WR 56 : 0e 10036000 4KB V0 -> 0_1f4c0000 U:0000 ---G- X-RX-R 57 : 0e 1004b000 4KB V0 -> 0_1ffcc000 U:0000 ---G- --R--R 58 : 0e 0fe9b000 4KB V0 -> 0_1ff88000 U:0000 ---G- X-RX-R 59 : 0e 0fe4d000 4KB V0 -> 0_1ffa0000 U:0000 ---G- X-RX-R 60 : 0e 10080000 4KB V0 -> 0_00793000 U:0000 --MG- -WR-WR 61 : 0e 0fe95000 4KB V0 -> 0_1ff99000 U:0000 ---G- X-RX-R 62 : 00 d0000000 256MB V0 -> 0_10000000 U:0000 ---G- ---XWR 63 : 00 c0000000 256MB V0 -> 0_00000000 U:0000 ---G- ---XWR BDI_AMCC440SPe> I could not see the tlb entry for system ace in the linux level, But in the kernel error message, the physical address address can be seen EBC's BEAR=0x00000000e0000000 saying the ioremap is done properly and phys-addr is obtaining from virtual adr given. I could not understand what is going wrong. When i try to read/write using the ioremapped address, the kernel crashes. Even from the Error/Status reg(EBC's BESR in the error dump) could not get any information. Can someone please be so kind to help me debug this...what might be wrong / what should I do to try and get a better understanding of what is going wrong? please let me if any details required. Thank you in advance Regards Sudheer
|
_______________________________________________ Linuxppc-embedded mailing list [email protected] https://ozlabs.org/mailman/listinfo/linuxppc-embedded
