some problems on the SystemACE driver.

5 messages, 2 authors, 2006-07-13 · open the first message on its own page

some problems on the SystemACE driver.

From: Ming Liu <hidden>
Date: 2006-07-11 19:47:05

Dear Ameet,
Sorry to bother you again but I am totally confused on the systemACE 
driver. First let me show you the problem.

1. I downloaded the linux kernel of 2.6.17.1, also the patch for SystemACE 
driver. Applied the patch to the kernel. Replaced the xparameters_ml403.h 
with the generated file xparameters_ml300.h from Xilinx EDK. Make 
menuconfig, make dep and make zImage. Then the error shows like this:

drivers/block/xilinx_sysace/xsysace.c:120:6: warning: 
"XPAR_XSYSACE_MEM_WIDTH" is not defined
drivers/block/xilinx_sysace/xsysace.c: In function `XSysAce_LookupConfig':
drivers/block/xilinx_sysace/xsysace.c:366: error: 
`XPAR_XSYSACE_NUM_INSTANCES' undeclared (first use in this function)
drivers/block/xilinx_sysace/xsysace.c:366: error: (Each undeclared 
identifier is reported only once
drivers/block/xilinx_sysace/xsysace.c:366: error: for each function it 
appears in.)
make[3]: *** [drivers/block/xilinx_sysace/xsysace.o] Error 1
make[2]: *** [drivers/block/xilinx_sysace] Error 2
make[1]: *** [drivers/block] Error 2
make: *** [drivers] Error 2

I think this is because of the no inclusion of the xparameters header file. 
So I change #include "xparameters.h" into  #include " 
/home/mingliu/linux-2.6.17.1/arch/ppc/platforms/4xx/xparameters/xparameters.h" 
in the files of xsysace.c and xsysace_g.c, using the full address to 
specify the header file. In fact, this is not a serious problem and it 
often happens. But, after the modification, another problem happened: 

  GEN     .version
  CHK     include/linux/compile.h
  UPD     include/linux/compile.h
  CC      init/version.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
drivers/built-in.o(.text+0x2234a): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x2235e): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x22364): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssert'
drivers/built-in.o(.text+0x22372): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x2237a): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x22394): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssert'
drivers/built-in.o(.text+0x223a2): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x223aa): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x22cd6): In function `XSysAce_Initialize':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x22cdc): In function `XSysAce_Initialize':
: undefined reference to `XAssert'
drivers/built-in.o(.text+0x22cea): In function `XSysAce_Initialize':
: undefined reference to `XAssertStatus'

......( a long information to say that undefined reference to the XAssert 
things.)

Also, I tried this in the kernel 2.6.16-rc5. (In fact I prefer this version 
because the temac driver is for this version. ) The same problem happened. 
I checked the source code. The problem happened in the file 
driver/block/xilinx_sysace/adapter.c, etc. Also, the XAssert things are 
defined in the file arch/ppc/platforms/4xx/xilinx_ocp/xbasic_types.c. (In 
2.6.16 kernel, it is also defined in driver/xilinx_edk/xbasic_types.c. 
There are two copies of this file. ) I think the problem is, the systemACE 
files cannot link together with the xbasic_types.c file. 

I heard that you have tested this driver. Have you got this problem? Why 
there are so many strange problems for me while you have tested without 
problem? Without the CF card, I cannot try the Temac driver and my work is 
totally blocked. So I have to ask for your suggestion. Really anxious for 
your useful guidance. Thanks a lot!!!!!!

Regards
Ming

_________________________________________________________________
与联机的朋友进行交流,请使用 MSN Messenger:  http://messenger.msn.com/cn  

Re: some problems on the SystemACE driver.

From: Ameet Patil <hidden>
Date: 2006-07-12 09:59:23

Hi Ming,
I heard that you have tested this driver. Have you got this problem?
Why there are so many strange problems for me while you have tested
without problem?
Yes, that is right! When I say... I have tested - "it really means I
have tested". So what's the problem? It works for me but not you? The
obvious difference: mine is a ML300 configuration and yours ML403.

There were some files which unknowing were made dependant on ML300
target. I have now made them compile for both targets. It should work
fine for you now (Hopefully!). Download the updated patch from the same
location.

http://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17_sysace.patch

Since I don't have ML403 board, theres no way I can test this patch on
it. I rely on you in doing this... and thanks for letting me know the
issues.

WARNING: There might be more issues. :-)

Please DONOT hesitate to raise any issues with the driver. I am more
than happy to fix them.

-Ameet

Ming Liu wrote:
Dear Ameet,
Sorry to bother you again but I am totally confused on the systemACE 
driver. First let me show you the problem.

1. I downloaded the linux kernel of 2.6.17.1, also the patch for 
SystemACE driver. Applied the patch to the kernel. Replaced the 
xparameters_ml403.h with the generated file xparameters_ml300.h from 
Xilinx EDK. Make menuconfig, make dep and make zImage. Then the error 
shows like this:

drivers/block/xilinx_sysace/xsysace.c:120:6: warning: 
"XPAR_XSYSACE_MEM_WIDTH" is not defined
drivers/block/xilinx_sysace/xsysace.c: In function `XSysAce_LookupConfig':
drivers/block/xilinx_sysace/xsysace.c:366: error: 
`XPAR_XSYSACE_NUM_INSTANCES' undeclared (first use in this function)
drivers/block/xilinx_sysace/xsysace.c:366: error: (Each undeclared 
identifier is reported only once
drivers/block/xilinx_sysace/xsysace.c:366: error: for each function it 
appears in.)
make[3]: *** [drivers/block/xilinx_sysace/xsysace.o] Error 1
make[2]: *** [drivers/block/xilinx_sysace] Error 2
make[1]: *** [drivers/block] Error 2
make: *** [drivers] Error 2

I think this is because of the no inclusion of the xparameters header 
file. So I change #include "xparameters.h" into  #include " 
/home/mingliu/linux-2.6.17.1/arch/ppc/platforms/4xx/xparameters/xparameters.h" 
in the files of xsysace.c and xsysace_g.c, using the full address to 
specify the header file. In fact, this is not a serious problem and it 
often happens. But, after the modification, another problem happened:
 GEN     .version
 CHK     include/linux/compile.h
 UPD     include/linux/compile.h
 CC      init/version.o
 LD      init/built-in.o
 LD      .tmp_vmlinux1
drivers/built-in.o(.text+0x2234a): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x2235e): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x22364): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssert'
drivers/built-in.o(.text+0x22372): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x2237a): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x22394): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssert'
drivers/built-in.o(.text+0x223a2): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x223aa): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x22cd6): In function `XSysAce_Initialize':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x22cdc): In function `XSysAce_Initialize':
: undefined reference to `XAssert'
drivers/built-in.o(.text+0x22cea): In function `XSysAce_Initialize':
: undefined reference to `XAssertStatus'

......( a long information to say that undefined reference to the 
XAssert things.)

Also, I tried this in the kernel 2.6.16-rc5. (In fact I prefer this 
version because the temac driver is for this version. ) The same problem 
happened. I checked the source code. The problem happened in the file 
driver/block/xilinx_sysace/adapter.c, etc. Also, the XAssert things are 
defined in the file arch/ppc/platforms/4xx/xilinx_ocp/xbasic_types.c. 
(In 2.6.16 kernel, it is also defined in 
driver/xilinx_edk/xbasic_types.c. There are two copies of this file. ) I 
think the problem is, the systemACE files cannot link together with the 
xbasic_types.c file.
I heard that you have tested this driver. Have you got this problem? Why 
there are so many strange problems for me while you have tested without 
problem? Without the CF card, I cannot try the Temac driver and my work 
is totally blocked. So I have to ask for your suggestion. Really anxious 
for your useful guidance. Thanks a lot!!!!!!

Regards
Ming

_________________________________________________________________
与联机的朋友进行交流,请使用 MSN Messenger:  http://messenger.msn.com/cn 

Re: some problems on the SystemACE driver.

From: Ming Liu <hidden>
Date: 2006-07-12 15:55:05

Dear Ameet (and Andrei),
I have tested the new patch for SystemACE driver. With respect to the 
single SystemACE driver, it works well. I can boot my linux in ML403 board. 
(I tried both 2.6.16-rc5 and 2.6.17.1 versions) So first congratulations 
and thanks for your hard work!

However, when I tried to implemented Temac (with and without SystemACE. TWO 
conditions.), some errors happened. Here is the compilation information:

  CC      init/do_mounts.o
  LD      init/mounts.o
  CC      init/initramfs.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
drivers/built-in.o(.sdata+0x2c): multiple definition of `XWaitInAssert'
arch/ppc/platforms/4xx/built-in.o(.sdata+0x0): first defined here
drivers/built-in.o(.text+0x3e480): In function `XPacketFifoV200a_WriteDre':
: multiple definition of `XPacketFifoV200a_WriteDre'
arch/ppc/platforms/4xx/built-in.o(.text+0x1b14): first defined here
drivers/built-in.o(.text+0x3e158): In function `XPacketFifoV200a_SelfTest':
: multiple definition of `XPacketFifoV200a_SelfTest'
arch/ppc/platforms/4xx/built-in.o(.text+0x17ec): first defined here
drivers/built-in.o(.sbss+0x18c): multiple definition of `XAssertStatus'
arch/ppc/platforms/4xx/built-in.o(.sbss+0x8): first defined here
drivers/built-in.o(.text+0x3e798): In function `XPacketFifoV200a_L0Write':
: multiple definition of `XPacketFifoV200a_L0Write'
arch/ppc/platforms/4xx/built-in.o(.text+0x1e2c): first defined here
drivers/built-in.o(.text+0x3e280): In function `XPacketFifoV200a_Read':
: multiple definition of `XPacketFifoV200a_Read'
arch/ppc/platforms/4xx/built-in.o(.text+0x1914): first defined here
drivers/built-in.o(.text+0x3e55c): In function `XPacketFifoV200a_L0Read':
: multiple definition of `XPacketFifoV200a_L0Read'
arch/ppc/platforms/4xx/built-in.o(.text+0x1bf0): first defined here
drivers/built-in.o(.text+0x3e380): In function `XPacketFifoV200a_Write':
: multiple definition of `XPacketFifoV200a_Write'
arch/ppc/platforms/4xx/built-in.o(.text+0x1a14): first defined here
drivers/built-in.o(.text+0x3e0cc): In function `XAssertSetCallback':
: multiple definition of `XAssertSetCallback'
arch/ppc/platforms/4xx/built-in.o(.text+0x44): first defined here
drivers/built-in.o(.text+0x3e9fc): In function 
`XPacketFifoV200a_L0WriteDre':
: multiple definition of `XPacketFifoV200a_L0WriteDre'
arch/ppc/platforms/4xx/built-in.o(.text+0x2090): first defined here
drivers/built-in.o(.text+0x3e0dc): In function 
`XPacketFifoV200a_Initialize':
: multiple definition of `XPacketFifoV200a_Initialize'
arch/ppc/platforms/4xx/built-in.o(.text+0x1770): first defined here
drivers/built-in.o(.text+0x3e088): In function `XAssert':
: multiple definition of `XAssert'
arch/ppc/platforms/4xx/built-in.o(.text+0x0): first defined here
drivers/built-in.o(.text+0x3e0d8): In function `XNullHandler':
: multiple definition of `XNullHandler'
arch/ppc/platforms/4xx/built-in.o(.text+0x50): first defined here
make: *** [.tmp_vmlinux1] Error 1

It looks like that your patch affect some symbols which are used by Temac. 
(When I use the old patch for SystemACE, there is no problem like this if I 
only choose Temac. ) So let's find out the problem together. Also, I don't 
know if this is a problem from SystemACE or Temac , I would like to invite 
Andrei to look at this altogether. If any suggestion, please feel free to 
announce. Thanks for both your help. 

Regards
Ming


From: Ameet Patil <redacted>
To: Ming Liu <redacted>
CC: linuxppc-embedded@ozlabs.org
Subject: Re: some problems on the SystemACE driver.
Date: Wed, 12 Jul 2006 10:54:13 +0100

Hi Ming,
quoted
I heard that you have tested this driver. Have you got this problem?
Why there are so many strange problems for me while you have tested
without problem?
Yes, that is right! When I say... I have tested - "it really means I
have tested". So what's the problem? It works for me but not you? The
obvious difference: mine is a ML300 configuration and yours ML403.

There were some files which unknowing were made dependant on ML300
target. I have now made them compile for both targets. It should work
fine for you now (Hopefully!). Download the updated patch from the same
location.

http://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17_sysace.patch
Since I don't have ML403 board, theres no way I can test this patch on
it. I rely on you in doing this... and thanks for letting me know the
issues.

WARNING: There might be more issues. :-)

Please DONOT hesitate to raise any issues with the driver. I am more
than happy to fix them.

-Ameet

Ming Liu wrote:
quoted
Dear Ameet,
Sorry to bother you again but I am totally confused on the systemACE
driver. First let me show you the problem.

1. I downloaded the linux kernel of 2.6.17.1, also the patch for
SystemACE driver. Applied the patch to the kernel. Replaced the
xparameters_ml403.h with the generated file xparameters_ml300.h from
Xilinx EDK. Make menuconfig, make dep and make zImage. Then the error
shows like this:

drivers/block/xilinx_sysace/xsysace.c:120:6: warning:
"XPAR_XSYSACE_MEM_WIDTH" is not defined
drivers/block/xilinx_sysace/xsysace.c: In function 
`XSysAce_LookupConfig':
quoted
drivers/block/xilinx_sysace/xsysace.c:366: error:
`XPAR_XSYSACE_NUM_INSTANCES' undeclared (first use in this function)
drivers/block/xilinx_sysace/xsysace.c:366: error: (Each undeclared
identifier is reported only once
drivers/block/xilinx_sysace/xsysace.c:366: error: for each function it
appears in.)
make[3]: *** [drivers/block/xilinx_sysace/xsysace.o] Error 1
make[2]: *** [drivers/block/xilinx_sysace] Error 2
make[1]: *** [drivers/block] Error 2
make: *** [drivers] Error 2

I think this is because of the no inclusion of the xparameters header
file. So I change #include "xparameters.h" into  #include "
/home/mingliu/linux-2.6.17.1/arch/ppc/platforms/4xx/xparameters/xparameters.h"
quoted
in the files of xsysace.c and xsysace_g.c, using the full address to
specify the header file. In fact, this is not a serious problem and it
often happens. But, after the modification, another problem happened:
 GEN     .version
 CHK     include/linux/compile.h
 UPD     include/linux/compile.h
 CC      init/version.o
 LD      init/built-in.o
 LD      .tmp_vmlinux1
drivers/built-in.o(.text+0x2234a): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x2235e): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x22364): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssert'
drivers/built-in.o(.text+0x22372): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x2237a): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x22394): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssert'
drivers/built-in.o(.text+0x223a2): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x223aa): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x22cd6): In function `XSysAce_Initialize':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x22cdc): In function `XSysAce_Initialize':
: undefined reference to `XAssert'
drivers/built-in.o(.text+0x22cea): In function `XSysAce_Initialize':
: undefined reference to `XAssertStatus'

......( a long information to say that undefined reference to the
XAssert things.)

Also, I tried this in the kernel 2.6.16-rc5. (In fact I prefer this
version because the temac driver is for this version. ) The same 
problem
quoted
happened. I checked the source code. The problem happened in the file
driver/block/xilinx_sysace/adapter.c, etc. Also, the XAssert things are
defined in the file arch/ppc/platforms/4xx/xilinx_ocp/xbasic_types.c.
(In 2.6.16 kernel, it is also defined in
driver/xilinx_edk/xbasic_types.c. There are two copies of this file. ) 
I
quoted
think the problem is, the systemACE files cannot link together with the
xbasic_types.c file.
I heard that you have tested this driver. Have you got this problem? 
Why
quoted
there are so many strange problems for me while you have tested without
problem? Without the CF card, I cannot try the Temac driver and my work
is totally blocked. So I have to ask for your suggestion. Really 
anxious
quoted
for your useful guidance. Thanks a lot!!!!!!

Regards
Ming

_________________________________________________________________
与联机的朋友进行交流,请使用 MSN Messenger:  
http://messenger.msn.com/cn
quoted
_________________________________________________________________
免费下载 MSN Explorer:   http://explorer.msn.com/lccn/  

Re: some problems on the SystemACE driver.

From: Ameet Patil <hidden>
Date: 2006-07-12 18:24:38

Hi Ming,
   Thanks for testing the driver patch! The errors you get when
compiling both - SysAce and TEMAC are reasonable. My ignorance or call
it me being lazy. I recollect now... I was also working on the Xilinx
Ethernet driver and forgot to cleanup that code before creating the
patch for the SysAce driver. Thus, it so happens that code for the
ethernet driver in my patch also gets compiled along with the TEMAC. I
have deleted the unnecessary code files and updated the patch (name
changed). Find the new one here:
https://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.1.patch

Let me know if it works for you now?

-Ameet

Ming Liu wrote:
Dear Ameet (and Andrei),
I have tested the new patch for SystemACE driver. With respect to the 
single SystemACE driver, it works well. I can boot my linux in ML403 
board. (I tried both 2.6.16-rc5 and 2.6.17.1 versions) So first 
congratulations and thanks for your hard work!

However, when I tried to implemented Temac (with and without SystemACE. 
TWO conditions.), some errors happened. Here is the compilation 
information:

 CC      init/do_mounts.o
 LD      init/mounts.o
 CC      init/initramfs.o
 LD      init/built-in.o
 LD      .tmp_vmlinux1
drivers/built-in.o(.sdata+0x2c): multiple definition of `XWaitInAssert'
arch/ppc/platforms/4xx/built-in.o(.sdata+0x0): first defined here
drivers/built-in.o(.text+0x3e480): In function `XPacketFifoV200a_WriteDre':
: multiple definition of `XPacketFifoV200a_WriteDre'
arch/ppc/platforms/4xx/built-in.o(.text+0x1b14): first defined here
drivers/built-in.o(.text+0x3e158): In function `XPacketFifoV200a_SelfTest':
: multiple definition of `XPacketFifoV200a_SelfTest'
arch/ppc/platforms/4xx/built-in.o(.text+0x17ec): first defined here
drivers/built-in.o(.sbss+0x18c): multiple definition of `XAssertStatus'
arch/ppc/platforms/4xx/built-in.o(.sbss+0x8): first defined here
drivers/built-in.o(.text+0x3e798): In function `XPacketFifoV200a_L0Write':
: multiple definition of `XPacketFifoV200a_L0Write'
arch/ppc/platforms/4xx/built-in.o(.text+0x1e2c): first defined here
drivers/built-in.o(.text+0x3e280): In function `XPacketFifoV200a_Read':
: multiple definition of `XPacketFifoV200a_Read'
arch/ppc/platforms/4xx/built-in.o(.text+0x1914): first defined here
drivers/built-in.o(.text+0x3e55c): In function `XPacketFifoV200a_L0Read':
: multiple definition of `XPacketFifoV200a_L0Read'
arch/ppc/platforms/4xx/built-in.o(.text+0x1bf0): first defined here
drivers/built-in.o(.text+0x3e380): In function `XPacketFifoV200a_Write':
: multiple definition of `XPacketFifoV200a_Write'
arch/ppc/platforms/4xx/built-in.o(.text+0x1a14): first defined here
drivers/built-in.o(.text+0x3e0cc): In function `XAssertSetCallback':
: multiple definition of `XAssertSetCallback'
arch/ppc/platforms/4xx/built-in.o(.text+0x44): first defined here
drivers/built-in.o(.text+0x3e9fc): In function 
`XPacketFifoV200a_L0WriteDre':
: multiple definition of `XPacketFifoV200a_L0WriteDre'
arch/ppc/platforms/4xx/built-in.o(.text+0x2090): first defined here
drivers/built-in.o(.text+0x3e0dc): In function 
`XPacketFifoV200a_Initialize':
: multiple definition of `XPacketFifoV200a_Initialize'
arch/ppc/platforms/4xx/built-in.o(.text+0x1770): first defined here
drivers/built-in.o(.text+0x3e088): In function `XAssert':
: multiple definition of `XAssert'
arch/ppc/platforms/4xx/built-in.o(.text+0x0): first defined here
drivers/built-in.o(.text+0x3e0d8): In function `XNullHandler':
: multiple definition of `XNullHandler'
arch/ppc/platforms/4xx/built-in.o(.text+0x50): first defined here
make: *** [.tmp_vmlinux1] Error 1

It looks like that your patch affect some symbols which are used by 
Temac. (When I use the old patch for SystemACE, there is no problem like 
this if I only choose Temac. ) So let's find out the problem together. 
Also, I don't know if this is a problem from SystemACE or Temac , I 
would like to invite Andrei to look at this altogether. If any 
suggestion, please feel free to announce. Thanks for both your help.
Regards
Ming


quoted
From: Ameet Patil <redacted>
To: Ming Liu <redacted>
CC: linuxppc-embedded@ozlabs.org
Subject: Re: some problems on the SystemACE driver.
Date: Wed, 12 Jul 2006 10:54:13 +0100

Hi Ming,
quoted
I heard that you have tested this driver. Have you got this problem?
Why there are so many strange problems for me while you have tested
without problem?
Yes, that is right! When I say... I have tested - "it really means I
have tested". So what's the problem? It works for me but not you? The
obvious difference: mine is a ML300 configuration and yours ML403.

There were some files which unknowing were made dependant on ML300
target. I have now made them compile for both targets. It should work
fine for you now (Hopefully!). Download the updated patch from the same
location.

http://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17_sysace.patch 
quoted
Since I don't have ML403 board, theres no way I can test this patch on
it. I rely on you in doing this... and thanks for letting me know the
issues.

WARNING: There might be more issues. :-)

Please DONOT hesitate to raise any issues with the driver. I am more
than happy to fix them.

-Ameet

Ming Liu wrote:
quoted
Dear Ameet,
Sorry to bother you again but I am totally confused on the systemACE
driver. First let me show you the problem.

1. I downloaded the linux kernel of 2.6.17.1, also the patch for
SystemACE driver. Applied the patch to the kernel. Replaced the
xparameters_ml403.h with the generated file xparameters_ml300.h from
Xilinx EDK. Make menuconfig, make dep and make zImage. Then the error
shows like this:

drivers/block/xilinx_sysace/xsysace.c:120:6: warning:
"XPAR_XSYSACE_MEM_WIDTH" is not defined
drivers/block/xilinx_sysace/xsysace.c: In function 
`XSysAce_LookupConfig':
quoted
quoted
drivers/block/xilinx_sysace/xsysace.c:366: error:
`XPAR_XSYSACE_NUM_INSTANCES' undeclared (first use in this function)
drivers/block/xilinx_sysace/xsysace.c:366: error: (Each undeclared
identifier is reported only once
drivers/block/xilinx_sysace/xsysace.c:366: error: for each function it
appears in.)
make[3]: *** [drivers/block/xilinx_sysace/xsysace.o] Error 1
make[2]: *** [drivers/block/xilinx_sysace] Error 2
make[1]: *** [drivers/block] Error 2
make: *** [drivers] Error 2

I think this is because of the no inclusion of the xparameters header
file. So I change #include "xparameters.h" into  #include "
/home/mingliu/linux-2.6.17.1/arch/ppc/platforms/4xx/xparameters/xparameters.h" 

quoted
quoted
in the files of xsysace.c and xsysace_g.c, using the full address to
specify the header file. In fact, this is not a serious problem and it
often happens. But, after the modification, another problem happened:
 GEN     .version
 CHK     include/linux/compile.h
 UPD     include/linux/compile.h
 CC      init/version.o
 LD      init/built-in.o
 LD      .tmp_vmlinux1
drivers/built-in.o(.text+0x2234a): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x2235e): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x22364): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssert'
drivers/built-in.o(.text+0x22372): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x2237a): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x22394): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssert'
drivers/built-in.o(.text+0x223a2): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x223aa): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x22cd6): In function `XSysAce_Initialize':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x22cdc): In function `XSysAce_Initialize':
: undefined reference to `XAssert'
drivers/built-in.o(.text+0x22cea): In function `XSysAce_Initialize':
: undefined reference to `XAssertStatus'

......( a long information to say that undefined reference to the
XAssert things.)

Also, I tried this in the kernel 2.6.16-rc5. (In fact I prefer this
version because the temac driver is for this version. ) The same 
problem
quoted
quoted
happened. I checked the source code. The problem happened in the file
driver/block/xilinx_sysace/adapter.c, etc. Also, the XAssert things are
defined in the file arch/ppc/platforms/4xx/xilinx_ocp/xbasic_types.c.
(In 2.6.16 kernel, it is also defined in
driver/xilinx_edk/xbasic_types.c. There are two copies of this file. ) 
I
quoted
quoted
think the problem is, the systemACE files cannot link together with the
xbasic_types.c file.
I heard that you have tested this driver. Have you got this problem? 
Why
quoted
quoted
there are so many strange problems for me while you have tested without
problem? Without the CF card, I cannot try the Temac driver and my work
is totally blocked. So I have to ask for your suggestion. Really 
anxious
quoted
quoted
for your useful guidance. Thanks a lot!!!!!!

Regards
Ming

_________________________________________________________________
与联机的朋友进行交流,请使用 MSN Messenger:  
http://messenger.msn.com/cn
quoted
quoted
_________________________________________________________________
免费下载 MSN Explorer:   http://explorer.msn.com/lccn/ 

Re: some problems on the SystemACE driver.

From: Ming Liu <hidden>
Date: 2006-07-13 11:58:01

Dear Ameet,
Have you seen the response I sent to you last night? The content is that 
there is still the same problem in the newly updated patch for SystemACE. I 
forgot to CC a copy to the maillist so I don't know if you have received 
it. I don't mean to push you. :)

Any progress on the patch? If yes, please tell me a.s.a.p. and I am anxious 
for testing it. 

Regards
Ming

From: Ameet Patil <redacted>
To: Ming Liu <redacted>
CC: akonovalov@ru.mvista.com,  linuxppc-embedded@ozlabs.org
Subject: Re: some problems on the SystemACE driver.
Date: Wed, 12 Jul 2006 19:22:08 +0100

Hi Ming,
   Thanks for testing the driver patch! The errors you get when
compiling both - SysAce and TEMAC are reasonable. My ignorance or call
it me being lazy. I recollect now... I was also working on the Xilinx
Ethernet driver and forgot to cleanup that code before creating the
patch for the SysAce driver. Thus, it so happens that code for the
ethernet driver in my patch also gets compiled along with the TEMAC. I
have deleted the unnecessary code files and updated the patch (name
changed). Find the new one here:
https://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17.1-sysace-1.1.patch
Let me know if it works for you now?

-Ameet

Ming Liu wrote:
quoted
Dear Ameet (and Andrei),
I have tested the new patch for SystemACE driver. With respect to the
single SystemACE driver, it works well. I can boot my linux in ML403
board. (I tried both 2.6.16-rc5 and 2.6.17.1 versions) So first
congratulations and thanks for your hard work!

However, when I tried to implemented Temac (with and without SystemACE.
TWO conditions.), some errors happened. Here is the compilation
information:

 CC      init/do_mounts.o
 LD      init/mounts.o
 CC      init/initramfs.o
 LD      init/built-in.o
 LD      .tmp_vmlinux1
drivers/built-in.o(.sdata+0x2c): multiple definition of `XWaitInAssert'
arch/ppc/platforms/4xx/built-in.o(.sdata+0x0): first defined here
drivers/built-in.o(.text+0x3e480): In function 
`XPacketFifoV200a_WriteDre':
quoted
: multiple definition of `XPacketFifoV200a_WriteDre'
arch/ppc/platforms/4xx/built-in.o(.text+0x1b14): first defined here
drivers/built-in.o(.text+0x3e158): In function 
`XPacketFifoV200a_SelfTest':
quoted
: multiple definition of `XPacketFifoV200a_SelfTest'
arch/ppc/platforms/4xx/built-in.o(.text+0x17ec): first defined here
drivers/built-in.o(.sbss+0x18c): multiple definition of `XAssertStatus'
arch/ppc/platforms/4xx/built-in.o(.sbss+0x8): first defined here
drivers/built-in.o(.text+0x3e798): In function 
`XPacketFifoV200a_L0Write':
quoted
: multiple definition of `XPacketFifoV200a_L0Write'
arch/ppc/platforms/4xx/built-in.o(.text+0x1e2c): first defined here
drivers/built-in.o(.text+0x3e280): In function `XPacketFifoV200a_Read':
: multiple definition of `XPacketFifoV200a_Read'
arch/ppc/platforms/4xx/built-in.o(.text+0x1914): first defined here
drivers/built-in.o(.text+0x3e55c): In function 
`XPacketFifoV200a_L0Read':
quoted
: multiple definition of `XPacketFifoV200a_L0Read'
arch/ppc/platforms/4xx/built-in.o(.text+0x1bf0): first defined here
drivers/built-in.o(.text+0x3e380): In function 
`XPacketFifoV200a_Write':
quoted
: multiple definition of `XPacketFifoV200a_Write'
arch/ppc/platforms/4xx/built-in.o(.text+0x1a14): first defined here
drivers/built-in.o(.text+0x3e0cc): In function `XAssertSetCallback':
: multiple definition of `XAssertSetCallback'
arch/ppc/platforms/4xx/built-in.o(.text+0x44): first defined here
drivers/built-in.o(.text+0x3e9fc): In function
`XPacketFifoV200a_L0WriteDre':
: multiple definition of `XPacketFifoV200a_L0WriteDre'
arch/ppc/platforms/4xx/built-in.o(.text+0x2090): first defined here
drivers/built-in.o(.text+0x3e0dc): In function
`XPacketFifoV200a_Initialize':
: multiple definition of `XPacketFifoV200a_Initialize'
arch/ppc/platforms/4xx/built-in.o(.text+0x1770): first defined here
drivers/built-in.o(.text+0x3e088): In function `XAssert':
: multiple definition of `XAssert'
arch/ppc/platforms/4xx/built-in.o(.text+0x0): first defined here
drivers/built-in.o(.text+0x3e0d8): In function `XNullHandler':
: multiple definition of `XNullHandler'
arch/ppc/platforms/4xx/built-in.o(.text+0x50): first defined here
make: *** [.tmp_vmlinux1] Error 1

It looks like that your patch affect some symbols which are used by
Temac. (When I use the old patch for SystemACE, there is no problem 
like
quoted
this if I only choose Temac. ) So let's find out the problem together.
Also, I don't know if this is a problem from SystemACE or Temac , I
would like to invite Andrei to look at this altogether. If any
suggestion, please feel free to announce. Thanks for both your help.
Regards
Ming


quoted
From: Ameet Patil <redacted>
To: Ming Liu <redacted>
CC: linuxppc-embedded@ozlabs.org
Subject: Re: some problems on the SystemACE driver.
Date: Wed, 12 Jul 2006 10:54:13 +0100

Hi Ming,
quoted
I heard that you have tested this driver. Have you got this problem?
Why there are so many strange problems for me while you have tested
without problem?
Yes, that is right! When I say... I have tested - "it really means I
have tested". So what's the problem? It works for me but not you? The
obvious difference: mine is a ML300 configuration and yours ML403.

There were some files which unknowing were made dependant on ML300
target. I have now made them compile for both targets. It should work
fine for you now (Hopefully!). Download the updated patch from the 
same
quoted
quoted
location.
http://www.cs.york.ac.uk/rtslab/demos/amos/xupv2pro/patches/linuxppc-2.6.17_sysace.patch
quoted
quoted
quoted
Since I don't have ML403 board, theres no way I can test this patch on
it. I rely on you in doing this... and thanks for letting me know the
issues.

WARNING: There might be more issues. :-)

Please DONOT hesitate to raise any issues with the driver. I am more
than happy to fix them.

-Ameet

Ming Liu wrote:
quoted
Dear Ameet,
Sorry to bother you again but I am totally confused on the systemACE
driver. First let me show you the problem.

1. I downloaded the linux kernel of 2.6.17.1, also the patch for
SystemACE driver. Applied the patch to the kernel. Replaced the
xparameters_ml403.h with the generated file xparameters_ml300.h from
Xilinx EDK. Make menuconfig, make dep and make zImage. Then the 
error
quoted
quoted
quoted
shows like this:

drivers/block/xilinx_sysace/xsysace.c:120:6: warning:
"XPAR_XSYSACE_MEM_WIDTH" is not defined
drivers/block/xilinx_sysace/xsysace.c: In function
`XSysAce_LookupConfig':
quoted
quoted
drivers/block/xilinx_sysace/xsysace.c:366: error:
`XPAR_XSYSACE_NUM_INSTANCES' undeclared (first use in this function)
drivers/block/xilinx_sysace/xsysace.c:366: error: (Each undeclared
identifier is reported only once
drivers/block/xilinx_sysace/xsysace.c:366: error: for each function 
it
quoted
quoted
quoted
appears in.)
make[3]: *** [drivers/block/xilinx_sysace/xsysace.o] Error 1
make[2]: *** [drivers/block/xilinx_sysace] Error 2
make[1]: *** [drivers/block] Error 2
make: *** [drivers] Error 2

I think this is because of the no inclusion of the xparameters 
header
quoted
quoted
quoted
file. So I change #include "xparameters.h" into  #include "
/home/mingliu/linux-2.6.17.1/arch/ppc/platforms/4xx/xparameters/xparameters.h"
quoted
quoted
quoted
in the files of xsysace.c and xsysace_g.c, using the full address to
specify the header file. In fact, this is not a serious problem and 
it
quoted
quoted
quoted
often happens. But, after the modification, another problem 
happened:
quoted
quoted
quoted
 GEN     .version
 CHK     include/linux/compile.h
 UPD     include/linux/compile.h
 CC      init/version.o
 LD      init/built-in.o
 LD      .tmp_vmlinux1
drivers/built-in.o(.text+0x2234a): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x2235e): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x22364): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssert'
drivers/built-in.o(.text+0x22372): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x2237a): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x22394): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssert'
drivers/built-in.o(.text+0x223a2): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x223aa): In function `XSysAce_GetCfgAddr':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x22cd6): In function `XSysAce_Initialize':
: undefined reference to `XAssertStatus'
drivers/built-in.o(.text+0x22cdc): In function `XSysAce_Initialize':
: undefined reference to `XAssert'
drivers/built-in.o(.text+0x22cea): In function `XSysAce_Initialize':
: undefined reference to `XAssertStatus'

......( a long information to say that undefined reference to the
XAssert things.)

Also, I tried this in the kernel 2.6.16-rc5. (In fact I prefer this
version because the temac driver is for this version. ) The same
problem
quoted
quoted
happened. I checked the source code. The problem happened in the 
file
quoted
quoted
quoted
driver/block/xilinx_sysace/adapter.c, etc. Also, the XAssert things 
are
quoted
quoted
quoted
defined in the file 
arch/ppc/platforms/4xx/xilinx_ocp/xbasic_types.c.
quoted
quoted
quoted
(In 2.6.16 kernel, it is also defined in
driver/xilinx_edk/xbasic_types.c. There are two copies of this file. 
)
quoted
I
quoted
quoted
think the problem is, the systemACE files cannot link together with 
the
quoted
quoted
quoted
xbasic_types.c file.
I heard that you have tested this driver. Have you got this problem?
Why
quoted
quoted
there are so many strange problems for me while you have tested 
without
quoted
quoted
quoted
problem? Without the CF card, I cannot try the Temac driver and my 
work
quoted
quoted
quoted
is totally blocked. So I have to ask for your suggestion. Really
anxious
quoted
quoted
for your useful guidance. Thanks a lot!!!!!!

Regards
Ming

_________________________________________________________________
与联机的朋友进行交流,请使用 MSN Messenger:
http://messenger.msn.com/cn
quoted
quoted
_________________________________________________________________
免费下载 MSN Explorer:   http://explorer.msn.com/lccn/
_________________________________________________________________
享用世界上最大的电子邮件系统― MSN Hotmail。  http://www.hotmail.com  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help