<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Hello All <br>
<br>
I'm really desperate for some help , I've been struggling with this
system since few days.<br>
<br>
sudheer wrote:
<blockquote cite="mid44EB1DC2.5070307@gmail.com" type="cite">
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
Hello Raja,<br>
<br>
We too are working on customized board with amcc 440SPe processor ,
xilinx System Ace controller. Compact flash is connected to system
ace controller. <br>
We use u-boot 1.1.2 as bootloader & linux kernel - 2.6.16-2.<br>
<br>
System ace is connected to amcc440SPE processor via GPIO and External
Peripheral Bus Controller(EBC).<br>
</blockquote>
I am still facing the issue in accessing the address in linux.<br>
<br>
The physical address given in u-boot init.S tlbentry for 'system ace'
is 0xE0000000<br>
I am able to access the address in u-boot and everything is fine in
u-boot.<br>
But in linux , I am able to ioremap the the address 0xE0000000 but the
kernel crashes when i try to access the address .<br>
physical address=0xe0000000<br>
address_after_ioremap = 0xe1000000.<br>
I am trying to read with readw(address_after_ioremap)<br>
The kernel gives an exception error saying Oops: machine check, sig: 7
[#2] .<br>
The error dump is as below:<br>
<br>
Instruction dump:<br>
Data machine check in kernel mode.<br>
PLB0: BEAR=0x00000000e0000000 ACR= 0xdb000000 BESR= 0x0000000000008000<br>
PLB1: BEAR=0xe98d7ad33716ee7e ACR= 0xdb000000 BESR= 0x0000000000000000<br>
POB0: BEAR=0x0000000fffaebbcd BESR0=0x00000000 BESR1=0x00000000<br>
OPB0: BEAR=0x0000000000000000 BSTAT=0x00000000<br>
Oops: machine check, sig: 7 [#2]<br>
NIP: 00000000 LR: C0002200 CTR: 00000000<br>
REGS: c0241f50 TRAP: 0202 Not tainted (2.6.16.2)<br>
MSR: 00000000 <> CR: 84CA4124 XER: 00000000<br>
TASK = dff6cb70[1] 'swapper' THREAD: c0740000<br>
GPR00: 00000000 C0241E40 DFF6CB70 00000001 FFFFFFD0 00000000 C0240000
C01F3C0C<br>
GPR08: C01F0000 C0002200 00021002 C0001FF4 DFF6CD38 802823E0 1FFB9600
00000000<br>
GPR16: 00000001 FFFFFFFF 00000000 007FFF00 1FFB3540 1FF63CE0 1FFCEE78
C01C0000<br>
GPR24: C01C0000 C01C0000 C01F0000 C01C0000 BFFFFFFF FFFFFFD0 00000000
C0241F50<br>
NIP [00000000] 0x0<br>
LR [C0002200] ret_from_except+0x0/0x18<br>
Call Trace:<br>
Instruction dump:<br>
Data machine check in kernel mode.<br>
PLB0: BEAR=0x00000000e0000000 ACR= 0xdb000000 BESR= 0x0000000000008000<br>
.........and this dump gets print continously.<br>
<br>
<br>
I have checked with TLB entries in u-boot and linux using BDI:<br>
<br>
BDI_AMCC440SPe>tlb 0 10<br>
IDX TID EPN SIZE VTS RPN USER WIMGE USRSVC<br>
0 : 00 ff000000 16MB V0 -> 4_ff000000 U:0000 WI-G- XWRXWR<br>
1 : 00 00000000 256MB V0 -> 0_00000000 U:0000 -I-G- XWRXWR<br>
2 : 00 10000000 256MB V0 -> 0_10000000 U:0000 -I-G- XWRXWR<br>
3 : 00 20000000 256MB V0 -> 0_20000000 U:0000 -I-G- XWRXWR<br>
4 : 00 30000000 256MB V0 -> 0_30000000 U:0000 -I-G- XWRXWR<br>
5 : 00 90000000 256KB V0 -> 4_00000000 U:0000 -I--- XWRXWR<br>
6 : 00 e0000000 1KB V0 -> 4_e0000000 U:0000 -I-G- -WR-WR<br>
7 : 00 a0000000 4KB V0 -> 4_f0000000 U:0000 -I-G- -WR-WR<br>
8 : 00 d0000000 256MB V0 -> c_00000000 U:0000 -I-G- -WR-WR<br>
9 : 00 80000000 256MB V0 -> c_10000000 U:0000 -I-G- -WR-WR<br>
10 : 00 01080000 1KB -0 -> 0_00000000 U:0000 ----- ------<br>
BDI_AMCC440SPe><br>
<br>
In Linux the tlb entries are as below.......<br>
<br>
BDI_AMCC440SPe>tlb 0 63<br>
IDX TID EPN SIZE VTS RPN USER WIMGE USRSVC<br>
0 : 0e 0ff1a000 4KB V0 -> 0_007ce000 U:0000 --MG- --R--R<br>
1 : 0e 0fe94000 4KB V0 -> 0_1ff96000 U:0000 ---G- X-RX-R<br>
2 : 0e 30017000 4KB V0 -> 0_007cd000 U:0000 --MG- --R-WR<br>
3 : 0e 10039000 4KB V0 -> 0_1ffb8000 U:0000 ---G- X-RX-R<br>
4 : 0e 30009000 4KB V0 -> 0_00758000 U:0000 ---G- X-RX-R<br>
5 : 0e 30010000 4KB V0 -> 0_0078b000 U:0000 ---G- X-RX-R<br>
6 : 0e 00000000 1KB -0 -> 0_1f4e2000 U:0000 ---G- --R--R<br>
7 : 0e 0fe3e000 4KB V0 -> 0_1f4e2000 U:0000 ---G- X-RX-R<br>
8 : 0e 0ff1c000 4KB V0 -> 0_007ed000 U:0000 --MG- XWRXWR<br>
9 : 0e 0ff1e000 4KB V0 -> 0_007ee000 U:0000 --MG- -WR-WR<br>
10 : 0e 0ff1f000 4KB V0 -> 0_007ea000 U:0000 --MG- XWRXWR<br>
11 : 0e 0fe39000 4KB V0 -> 0_1ff8e000 U:0000 ---G- X-RX-R<br>
12 : 0e 0ff21000 4KB V0 -> 0_007a8000 U:0000 --MG- --R-WR<br>
13 : 0e 0fe47000 4KB V0 -> 0_1ffa9000 U:0000 ---G- X-RX-R<br>
14 : 0e 0fe46000 4KB V0 -> 0_1ffb2000 U:0000 ---G- X-RX-R<br>
15 : 0e 30019000 4KB V0 -> 0_007c5000 U:0000 --MG- -WR-WR<br>
16 : 0e 0fe45000 4KB V0 -> 0_1ffa8000 U:0000 ---G- X-RX-R<br>
17 : 00 fdfff000 4KB V0 -> 4_f0000000 U:0000 -IMG- ----WR<br>
18 : 0e 0fe9a000 4KB V0 -> 0_1ff98000 U:0000 ---G- X-RX-R<br>
19 : 0e 10067000 4KB V0 -> 0_0078e000 U:0000 --MG- -WR-WR<br>
20 : 0e 00000000 4KB -0 -> 0_1f4e5000 U:0000 ---G- --R--R<br>
21 : 0e 10030000 4KB V0 -> 0_1f4e5000 U:0000 ---G- X-RX-R<br>
22 : 0e 10063000 4KB V0 -> 0_007b7000 U:0000 --MG- -WR-WR<br>
23 : 0e 0fe4c000 4KB V0 -> 0_1ff9b000 U:0000 ---G- X-RX-R<br>
24 : 0e 1007f000 4KB V0 -> 0_007e0000 U:0000 --MG- -WR-WR<br>
25 : 0e 0ff1d000 4KB V0 -> 0_007c6000 U:0000 --MG- --R-WR<br>
26 : 0e 0fe4e000 4KB V0 -> 0_1ffa1000 U:0000 ---G- X-RX-R<br>
27 : 0e 0fe0f000 4KB V0 -> 0_0077e000 U:0000 ---G- X-RX-R<br>
28 : 0e 0fe52000 4KB V0 -> 0_0077f000 U:0000 ---G- X-RX-R<br>
29 : 0e 0fe53000 4KB V0 -> 0_1ff80000 U:0000 ---G- X-RX-R<br>
30 : 0e 0fef9000 4KB V0 -> 0_1ff81000 U:0000 ---G- --R--R<br>
31 : 0e 0fe3b000 4KB V0 -> 0_1ffa7000 U:0000 ---G- X-RX-R<br>
32 : 0e 7f901000 4KB V0 -> 0_007db000 U:0000 --MG- -WR-WR<br>
33 : 0e 10027000 4KB V0 -> 0_1ffd0000 U:0000 ---G- X-RX-R<br>
34 : 0e 1003a000 4KB V0 -> 0_1ffb6000 U:0000 ---G- X-RX-R<br>
35 : 0e 0fe51000 4KB V0 -> 0_00775000 U:0000 ---G- X-RX-R<br>
36 : 0e 1003b000 4KB V0 -> 0_1ffb7000 U:0000 ---G- X-RX-R<br>
37 : 0e 1002a000 4KB V0 -> 0_1ffcf000 U:0000 ---G- X-RX-R<br>
38 : 0e 10066000 4KB V0 -> 0_007de000 U:0000 --MG- -WR-WR<br>
39 : 0e 1002b000 4KB V0 -> 0_1ffd3000 U:0000 ---G- X-RX-R<br>
40 : 0e 1002c000 4KB V0 -> 0_1ffd2000 U:0000 ---G- X-RX-R<br>
41 : 0e 1005d000 4KB V0 -> 0_007f4000 U:0000 --MG- XWRXWR<br>
42 : 0e 1002d000 4KB V0 -> 0_1ffc2000 U:0000 ---G- X-RX-R<br>
43 : 0e 10028000 4KB V0 -> 0_1ffc8000 U:0000 ---G- X-RX-R<br>
44 : 0e 10069000 4KB V0 -> 0_0078d000 U:0000 --MG- -WR-WR<br>
45 : 0e 1002e000 4KB V0 -> 0_1ffd4000 U:0000 ---G- X-RX-R<br>
46 : 0e 1005e000 4KB V0 -> 0_007a7000 U:0000 --MG- X-RXWR<br>
47 : 0e 0fe11000 4KB V0 -> 0_0077a000 U:0000 ---G- X-RX-R<br>
48 : 0e 10047000 4KB V0 -> 0_1ffcd000 U:0000 ---G- --R--R<br>
49 : 0e 1007e000 4KB V0 -> 0_007d0000 U:0000 --MG- --R-WR<br>
50 : 0e 0fea1000 4KB V0 -> 0_1ffd5000 U:0000 ---G- X-RX-R<br>
51 : 0e 10026000 4KB V0 -> 0_1ffc9000 U:0000 ---G- X-RX-R<br>
52 : 0e 0fe0e000 4KB V0 -> 0_1ffd1000 U:0000 ---G- X-RX-R<br>
53 : 0e 0fe96000 4KB V0 -> 0_1ffce000 U:0000 ---G- X-RX-R<br>
54 : 0e 1002f000 4KB V0 -> 0_1f4c1000 U:0000 ---G- X-RX-R<br>
55 : 0e 7f900000 4KB V0 -> 0_0078f000 U:0000 --MG- -WR-WR<br>
56 : 0e 10036000 4KB V0 -> 0_1f4c0000 U:0000 ---G- X-RX-R<br>
57 : 0e 1004b000 4KB V0 -> 0_1ffcc000 U:0000 ---G- --R--R<br>
58 : 0e 0fe9b000 4KB V0 -> 0_1ff88000 U:0000 ---G- X-RX-R<br>
59 : 0e 0fe4d000 4KB V0 -> 0_1ffa0000 U:0000 ---G- X-RX-R<br>
60 : 0e 10080000 4KB V0 -> 0_00793000 U:0000 --MG- -WR-WR<br>
61 : 0e 0fe95000 4KB V0 -> 0_1ff99000 U:0000 ---G- X-RX-R<br>
62 : 00 d0000000 256MB V0 -> 0_10000000 U:0000 ---G- ---XWR<br>
63 : 00 c0000000 256MB V0 -> 0_00000000 U:0000 ---G- ---XWR<br>
BDI_AMCC440SPe><br>
<br>
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 <br>
EBC's BEAR=0x00000000e0000000 saying the ioremap is done properly and
phys-addr is obtaining from virtual adr given. <br>
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.<br>
<br>
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?<br>
<br>
please let me if any details required.<br>
<br>
Thank you in advance<br>
<br>
Regards<br>
Sudheer<br>
<br>
<br>
<blockquote cite="mid44EB1DC2.5070307@gmail.com" type="cite"><br>
While booting the linux, it crashes when i am trying to
access(read/write) a system ace register.<br>
In the u-boot though i have support, as of now i am not doing anything
with system ace as it not required now.<br>
In u-boot/include/configs/custom_board.h, i could see <br>
#define CFG_ACE_BASE 0xe0000000 /* Xilinx ACE
controller - Compact Flash */<br>
So i have used this address in Linux driver to to ioremap to access
the ace registers. Though i could do ioremap, it crashes while
booting exactly when it is trying the access any ace register. <br>
<br>
I doubt with the address i have used . But could not get any clue from
the docs given. <br>
<br>
I want to know how to access the system ace registers and how to get
the address to ioremap. Please let me know if any details required and
also if i am missing any fundamentals.<br>
<br>
<br>
Thanks & Regards<br>
Sudheer<br>
<br>
<br>
<br>
<br>
sudheer wrote:
<blockquote cite="mid44DC5F21.8000906@gmail.com" type="cite">
<pre wrap="">Hi Ameet,
Firstly, thanks for the mail.
I am able to compile the linux-2.6.16 and got the ace support files with
the patch.
While compiling got some errors with xparameters, but am rectify them.
I need to wait for the hardware to test the source.
Thanks & Regards
Sudheer
Ameet Patil wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Hi Sudheer,
Frank has already answered your questions. If you have any problems
with the SysAce patch... do let me know. I have written a small
tutorial here if it helps...
<a class="moz-txt-link-freetext" href="http://linux.get2knowmore.com">http://linux.get2knowmore.com</a>
-Ameet
sudheer wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Hello Ameet Patil
I am looking for linux kernel source 2.6.16 with system ace
controller support. I downloaded the linux-2.6.16 and linux-2.6.17-1
source from kernel.org but could not find any files related to system
ace controller ( No xilinx_sysace directory in drivers/block/) . I
have checked penguinppc.org also but could not get it.
Can you please send to me the link where i could download the
linuxppc-2.6.16 source with system ace support.
Thanks & Regards
Sudheer
Ameet Patil wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Hi Raja,
I have ported the Xilinx System ACE driver to 2.6 kernel. Find
the latest one here:
<a class="moz-txt-link-freetext"
href="http://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.2.patch">http://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.2.patch</a>
NOTE: this patch wouldn't work if you are using the TEMAC driver. In
which case use the -after-TEMAC patch found in the patches folder
above.
Check the following discussions (threads) for more details:
1. "Xilinx SystemACE driver for 2.6"
2. "Xilinx BSP for linux 2.6"
3. "Kernel hangs after "Now booting the kernel"."
cheers,
-Ameet
Raja Chidambaram wrote:
</pre>
<blockquote type="cite">
<pre wrap=""> Hi all,
We are working on customized board with amcc 440SPe
processor & xilinx System Ace controller. The System
Ace controller is connected to compact flash driver.
We use u-boot 1.2 as bootloader & linux kernel
2.6.16-2.
On the process the u-boot is able to detect compact
flash through Xilinx SystemAce controller & able to
load the kernel image into compact flash.But when the
linux boot's up it not able to detect the System Ace
controller or compact flash.
Note:we need to have the root file system in compact
flash.
Is their any drivers available for SystemAce
controller on linux 2.6,if their how to get it.please
help me in this
with regards
raja
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
<a class="moz-txt-link-freetext" href="http://mail.yahoo.com">http://mail.yahoo.com</a> _______________________________________________
Linuxppc-embedded mailing list
<a class="moz-txt-link-abbreviated"
href="mailto:Linuxppc-embedded@ozlabs.org">Linuxppc-embedded@ozlabs.org</a>
<a class="moz-txt-link-freetext"
href="https://ozlabs.org/mailman/listinfo/linuxppc-embedded">https://ozlabs.org/mailman/listinfo/linuxppc-embedded</a>
</pre>
</blockquote>
<pre wrap="">_______________________________________________
Linuxppc-embedded mailing list
<a class="moz-txt-link-abbreviated"
href="mailto:Linuxppc-embedded@ozlabs.org">Linuxppc-embedded@ozlabs.org</a>
<a class="moz-txt-link-freetext"
href="https://ozlabs.org/mailman/listinfo/linuxppc-embedded">https://ozlabs.org/mailman/listinfo/linuxppc-embedded</a>
</pre>
</blockquote>
</blockquote>
</blockquote>
<pre wrap=""><!---->_______________________________________________
Linuxppc-embedded mailing list
<a class="moz-txt-link-abbreviated"
href="mailto:Linuxppc-embedded@ozlabs.org">Linuxppc-embedded@ozlabs.org</a>
<a class="moz-txt-link-freetext"
href="https://ozlabs.org/mailman/listinfo/linuxppc-embedded">https://ozlabs.org/mailman/listinfo/linuxppc-embedded</a>
</pre>
</blockquote>
<br>
</blockquote>
<br>
</body>
</html>