[Prism54-users] Big Endian xscale ( IXDP425 ) cross compiled Prism54GT driver issue

John Wright wjohn at RunnersMail.com
Mon May 16 10:49:55 UTC 2005


Dear List Members,

The cross compiled prism54 ( version 1.2 ) through up a "oops" like message and comes back to shell prompt if i bring up the interface by "ifconfig eth0 up" i use a XG-600 minipci card on a IXDP425 development board with uclinux kernel 2.4.24.

The same driver and the minipci card works well in a X86 based board 
Will this be a compilation issue or prism54 driver,Big-endian combination issue. 

I traced and found that the crash occurs in the file islpci_dev.c Exactly in the function 
isl_upload_firmware at the line __raw_writel(*fw_ptr, dev_fw_ptr);

Just before calling __raw_writel(*fw_ptr, dev_fw_ptr), i printed the values of *fw_ptr and dev_fw_ptr also fw_ptr and *fw_ptr are  c5d89000 905969898 dev_fw_ptr is 4bfff000

I've also pasted the logs and also the compilation logs for your reference. Thanks for any sort of help / hints on this issue.

John

The dmesg logs after i do "ifconfig eth0 up.

Loaded prism54 driver, version 1.2
eth0: prism54 driver detected card model: XG-600
eth0: islpci_open()
eth0: resetting device...
eth0: uploading firmware...
fw_ptr and *fw_ptr are  c5d89000 905969898
dev_fw_ptr is 4bfff000
Unable to handle kernel paging request at virtual address 4bfff000 pgd = c3778000 [4bfff000] *pgd=00000000, *pmd = 00000000 Internal error: Oops: 8f5
CPU: 0
pc : [<c5d60a30>]    lr : [<c5d60a24>]    Tainted: P
sp : c37d5e88  ip : c37d5e60  fp : c5d89004
r10: 4bffe018  r9 : 4bfff000  r8 : 00015f2c
r7 : 4bffe000  r6 : 4bffe078  r5 : 00000ffc  r4 : 00021000
r3 : 360000ea  r2 : 00000001  r1 : 00000000  r0 : c5d692a8
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  Segment user
Control: 39FF  Table: 03778000  DAC: 00000015
Process ifconfig (pid: 62, stack limit = 0xc37d4368)
Stack: (0xc37d5e88 to 0xc37d6000)
5e80:                   c37d5f48 00008914 c37d5e9c 00000000 c034afc0 008048db
5ea0: c37d7960 c37d7960 00000001 00000001 c37d5f48 00000000 00000000 00008914
5ec0: c5d61114 c5d6f000 c37d7960 00000000 c5d613c4 c37d7800 c37d782c c37d7960
5ee0: 00000000 c5d60f58 c37d7800 c37d782c 00000000 c0103c14 c37d7800 00001043
5f00: 00001002 c0105238 00000000 00000000 c37d7800 bffffd24 c01385a0 00000014
5f20: 00000000 00000000 1043d792 00000000 4012711c bfffff3b 65746830 0000a580
5f40: bfffff40 00000000 1043d792 00000000 4012711c bfffff3b 00008914 bffffd24
5f60: c37e9a40 00000004 ffffffe7 c37d4000 4012711c 00000000 c00fda88 c0050de8
5f80: 400d5180 c000c3bc bffffd64 bffffd24 00000041 00000036 c00175c4 4012711c
5fa0: 00000000 c0017400 bffffd64 c001737c 00000004 00008914 bffffd24 00001043
5fc0: bffffd64 bffffd24 00000041 00015e58 00000003 bffffe6c 4012711c 00000000
5fe0: 00015ff4 bffffd24 000094e8 400d5184 60000010 00000004 00000000 00000000
Backtrace: invalid frame pointer
Code: eb002bcc e49b3004 e59f0204 e2455004 (e4893004)

Compilation log.
arm-linux-gcc -mbig-endian -D__KERNEL__ -I/home/sgear/SnapGear/snapgear/linux-2.4.x/include  -Wall -Wstrict-prototypes -Wno-trigraphs -Os -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -mapcs-32 -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale -mshort-load-bytes -msoft-float -Uarm -DMODULE -DPRISM54_COMPAT24 -nostdinc -iwithprefix include -DKBUILD_BASENAME=isl_38xx  -c -o isl_38xx.o isl_38xx.c In file included from isl_38xx.c:32:
isl_38xx.h: In function `isl38xx_w32_flush':
isl_38xx.h:80: warning: passing arg 2 of `__writel' makes integer from pointer without a cast
isl_38xx.h:81: warning: passing arg 1 of `__readl' makes integer from pointer without a cast
isl_38xx.c: In function `isl38xx_trigger_device':
isl_38xx.c:133: warning: passing arg 1 of `__readl' makes integer from pointer without a cast
isl_38xx.c:133: warning: unsigned int format, long unsigned int arg (arg 4)
isl_38xx.c:138: warning: passing arg 1 of `__readl' makes integer from pointer without a cast
isl_38xx.c:147: warning: passing arg 1 of `__readl' makes integer from pointer without a cast
isl_38xx.c:153: warning: passing arg 1 of `__readl' makes integer from pointer without a cast
isl_38xx.c:153: warning: unsigned int format, long unsigned int arg (arg 4)
isl_38xx.c:173: warning: passing arg 1 of `__readl' makes integer from pointer without a cast arm-linux-gcc -mbig-endian -D__KERNEL__ -I/home/sgear/SnapGear/snapgear/linux-2.4.x/include  -Wall -Wstrict-prototypes -Wno-trigraphs -Os -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -mapcs-32 -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale -mshort-load-bytes -msoft-float -Uarm -DMODULE -DPRISM54_COMPAT24 -nostdinc -iwithprefix include -DKBUILD_BASENAME=islpci_dev  -c -o islpci_dev.o islpci_dev.c In file included from islpci_dev.c:34:
isl_38xx.h: In function `isl38xx_w32_flush':
isl_38xx.h:80: warning: passing arg 2 of `__writel' makes integer from pointer without a cast
isl_38xx.h:81: warning: passing arg 1 of `__readl' makes integer from pointer without a cast
islpci_dev.c: In function `isl_upload_firmware':
islpci_dev.c:60: warning: passing arg 1 of `__readl' makes integer from pointer without a cast
islpci_dev.c:63: warning: passing arg 2 of `__writel' makes integer from pointer without a cast
islpci_dev.c:69: warning: passing arg 2 of `__writel' makes integer from pointer without a cast
islpci_dev.c:75: warning: passing arg 2 of `__writel' makes integer from pointer without a cast
islpci_dev.c:131: warning: unsigned int format, pointer arg (arg 2)
islpci_dev.c:132: warning: unsigned int format, pointer arg (arg 2)
islpci_dev.c:143: warning: passing arg 1 of `__readl' makes integer from pointer without a cast
islpci_dev.c:159: warning: passing arg 1 of `__readl' makes integer from pointer without a cast
islpci_dev.c:172: warning: passing arg 2 of `__writel' makes integer from pointer without a cast
islpci_dev.c:180: warning: passing arg 2 of `__writel' makes integer from pointer without a cast
islpci_dev.c: In function `islpci_interrupt':
islpci_dev.c:204: warning: passing arg 1 of `__readl' makes integer from pointer without a cast
islpci_dev.c:221: warning: passing arg 1 of `__readl' makes integer from pointer without a cast
islpci_dev.c:225: warning: passing arg 1 of `__readl' makes integer from pointer without a cast
islpci_dev.c: In function `prism54_bring_down':
islpci_dev.c:427: warning: passing arg 1 of `__readl' makes integer from pointer without a cast
islpci_dev.c:429: warning: passing arg 2 of `__writel' makes integer from pointer without a cast
islpci_dev.c:434: warning: passing arg 2 of `__writel' makes integer from pointer without a cast
islpci_dev.c:440: warning: passing arg 2 of `__writel' makes integer from pointer without a cast arm-linux-gcc -mbig-endian -D__KERNEL__ -I/home/sgear/SnapGear/snapgear/linux-2.4.x/include  -Wall -Wstrict-prototypes -Wno-trigraphs -Os -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -mapcs-32 -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale -mshort-load-bytes -msoft-float -Uarm -DMODULE -DPRISM54_COMPAT24 -nostdinc -iwithprefix include -DKBUILD_BASENAME=islpci_eth  -c -o islpci_eth.o islpci_eth.c In file included from islpci_eth.c:30:
isl_38xx.h: In function `isl38xx_w32_flush':
isl_38xx.h:80: warning: passing arg 2 of `__writel' makes integer from pointer without a cast
isl_38xx.h:81: warning: passing arg 1 of `__readl' makes integer from pointer without a cast arm-linux-gcc -mbig-endian -D__KERNEL__ -I/home/sgear/SnapGear/snapgear/linux-2.4.x/include  -Wall -Wstrict-prototypes -Wno-trigraphs -Os -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -mapcs-32 -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale -mshort-load-bytes -msoft-float -Uarm -DMODULE -DPRISM54_COMPAT24 -nostdinc -iwithprefix include -DKBUILD_BASENAME=islpci_mgt  -c -o islpci_mgt.o islpci_mgt.c In file included from islpci_mgt.c:31:
isl_38xx.h: In function `isl38xx_w32_flush':
isl_38xx.h:80: warning: passing arg 2 of `__writel' makes integer from pointer without a cast
isl_38xx.h:81: warning: passing arg 1 of `__readl' makes integer from pointer without a cast arm-linux-gcc -mbig-endian -D__KERNEL__ -I/home/sgear/SnapGear/snapgear/linux-2.4.x/include  -Wall -Wstrict-prototypes -Wno-trigraphs -Os -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -mapcs-32 -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale -mshort-load-bytes -msoft-float -Uarm -DMODULE -DPRISM54_COMPAT24 -nostdinc -iwithprefix include -DKBUILD_BASENAME=islpci_hotplug  -c -o islpci_hotplug.o islpci_hotplug.c In file included from islpci_dev.h:32,
                 from islpci_hotplug.c:28:
isl_38xx.h: In function `isl38xx_w32_flush':
isl_38xx.h:80: warning: passing arg 2 of `__writel' makes integer from pointer without a cast
isl_38xx.h:81: warning: passing arg 1 of `__readl' makes integer from pointer without a cast arm-linux-gcc -mbig-endian -D__KERNEL__ -I/home/sgear/SnapGear/snapgear/linux-2.4.x/include  -Wall -Wstrict-prototypes -Wno-trigraphs -Os -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -mapcs-32 -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale -mshort-load-bytes -msoft-float -Uarm -DMODULE -DPRISM54_COMPAT24 -nostdinc -iwithprefix include -DKBUILD_BASENAME=isl_ioctl  -c -o isl_ioctl.o isl_ioctl.c In file included from islpci_dev.h:32,
                 from isl_ioctl.h:26,
                 from isl_ioctl.c:32:
isl_38xx.h: In function `isl38xx_w32_flush':
isl_38xx.h:80: warning: passing arg 2 of `__writel' makes integer from pointer without a cast
isl_38xx.h:81: warning: passing arg 1 of `__readl' makes integer from pointer without a cast arm-linux-gcc -mbig-endian -D__KERNEL__ -I/home/sgear/SnapGear/snapgear/linux-2.4.x/include  -Wall -Wstrict-prototypes -Wno-trigraphs -Os -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -mapcs-32 -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale -mshort-load-bytes -msoft-float -Uarm -DMODULE -DPRISM54_COMPAT24 -nostdinc -iwithprefix include -DKBUILD_BASENAME=isl_wds  -c -o isl_wds.o isl_wds.c arm-linux-gcc -mbig-endian -D__KERNEL__ -I/home/sgear/SnapGear/snapgear/linux-2.4.x/include  -Wall -Wstrict-prototypes -Wno-trigraphs -Os -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -mapcs-32 -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale -mshort-load-bytes -msoft-float -Uarm -DMODULE -DPRISM54_COMPAT24 -nostdinc -iwithprefix include -DKBUILD_BASENAME=oid_mgt  -c -o oid_mgt.o oid_mgt.c In file included from islpci_dev.h:32,
                 from oid_mgt.c:20:
isl_38xx.h: In function `isl38xx_w32_flush':
isl_38xx.h:80: warning: passing arg 2 of `__writel' makes integer from pointer without a cast
isl_38xx.h:81: warning: passing arg 1 of `__readl' makes integer from pointer without a cast rm -f prism54.o
arm-linux-ld -EB   -r -o prism54.o isl_38xx.o islpci_dev.o islpci_eth.o islpci_mgt.o islpci_hotplug.o isl_ioctl.o isl_wds.o oid_mgt.o


_____________________________________________________________
Are you a Runner?
http://www.RunnersMail.com

100s of FREE email addresses --->
http://www.UltimateEmail.com


More information about the Prism54-users mailing list