probe_irq_mask not EXPORTED on IXP42x ???

Don Osburn xoomrox at comcast.net
Fri Jun 10 12:32:12 EDT 2005


I am attempting to get the pcmcia yenta_socket.o driver to work on an IXP420
board running snapgear 3.1.1 with the ixp400AccessLibrary 1.4.  I have an
Avila GW2342-C1R2F1E2 IXP420 development board.

I am attempting to build and load the PCMCIA drivers and am running into a
stick.  Everything builds fine, but when I attempt to load the
yenta_socket.o (via modprobe), I get a "unresolved symbol" error for
probe_irq_mask.  Looking in linux-2.4.x/arch/arm/kernel/armksysms.c    I
note that probe_irq_mask is NOT exported.  However, enable_irq, disable_irq,
etc, are all exported.

Looking in linux-2.4.x/arch/arm/kernel/irq.c       I see the function
probe_irq_mask, and it does compile.... so why is it not exported?

I added a line to linux-2.4.x/arch/arm/kernel/armksysms.c to
EXPORT_SYMBOL( probe_irq_mask ); and recompiled.  Again, everything compiled
correctly and the OS loads fine.  However, when I go to load the
yenta_socket driver, I get an "!!!abort_handler"... and and Oooops.
(Attached below is a complete /var/log/messages from this run with
probe_irq_mask exported by me.  The klogd's that start with "DONO DEBUG" are
printks I put in trying to narrow down where this was failing...  not very
sophisticated, I know...)

Can you help me out here?  Why is probe_irq_mask NOT exported in the distro,
and what do I need to do to get this working?  Any help would be greatly
appreciated.

/var/log/messages  file with EXPORT_SYMBOL( probe_irq_mask ) added....

<46>Jan  1 00:00:04 syslogd started: BusyBox v0.60.5 (2005.05.03-16:39+0000)
<45>Jan  1 00:00:04 klogd: klogd started: BusyBox v0.60.5
(2005.05.03-16:39+0000)
<44>Jan  1 00:00:04 klogd: Linux version 2.4.24-uc0 (dosburn at localhost) (gcc
version 3.3.2) #38 Thu Jun 9 12:06:24 CDT 2005
<44>Jan  1 00:00:04 klogd: CPU: XScale-IXP4xx/IXC11xx revision 1
<44>Jan  1 00:00:04 klogd: Machine: Intel IXDP425 Development Platform
<44>Jan  1 00:00:04 klogd: alloc_bootmem_low
<44>Jan  1 00:00:04 klogd: memtable_init
<44>Jan  1 00:00:04 klogd: On node 0 totalpages: 16384
<44>Jan  1 00:00:04 klogd: zone(0): 16384 pages.
<44>Jan  1 00:00:04 klogd: zone(1): 0 pages.
<44>Jan  1 00:00:04 klogd: zone(2): 0 pages.
<44>Jan  1 00:00:04 klogd: Kernel command line: console=ttyS0,115200
root=/dev/ram0 initrd=0x00800000,8M mem=64M at 0x00000000
<47>Jan  1 00:00:04 klogd: Relocating machine vectors to 0xffff0000
<44>Jan  1 00:00:04 klogd: Calibrating delay loop... 266.24 BogoMIPS
<46>Jan  1 00:00:04 klogd: Memory: 64MB = 64MB total
<45>Jan  1 00:00:04 klogd: Memory: 55016KB available (1120K code, 413K data,
52K init)
<46>Jan  1 00:00:04 klogd: Dentry cache hash table entries: 8192 (order: 4,
65536 bytes)
<46>Jan  1 00:00:04 klogd: Inode cache hash table entries: 4096 (order: 3,
32768 bytes)
<46>Jan  1 00:00:04 klogd: Mount cache hash table entries: 512 (order: 0,
4096 bytes)
<46>Jan  1 00:00:04 klogd: Buffer cache hash table entries: 4096 (order: 2,
16384 bytes)
<44>Jan  1 00:00:04 klogd: Page-cache hash table entries: 16384 (order: 4,
65536 bytes)
<44>Jan  1 00:00:04 klogd: POSIX conformance testing by UNIFIX
<44>Jan  1 00:00:04 klogd: PCI Autoconfig: Found Bus 0, Device 1, Function 0
<44>Jan  1 00:00:04 klogd: PCI Autoconfig: BAR 0, Mem, size=0x1000,
address=0x4bfff000
<44>Jan  1 00:00:04 klogd: PCI Autoconfig: BAR 1, Mem, size=0xfdffff60,
address=0xa0
<44>Jan  1 00:00:04 klogd: PCI Autoconfig: BAR 2, I/O, size=0x4,
address=0xfffffffc
<44>Jan  1 00:00:04 klogd: PCI Autoconfig: BAR 3, Mem, size=0x1000,
address=0xfffff000
<44>Jan  1 00:00:04 klogd: PCI Autoconfig: BAR 4, Mem, size=0x1000,
address=0xffffe000
<44>Jan  1 00:00:04 klogd: PCI Autoconfig: BAR 5, Mem, size=0x1000,
address=0xffffd000
<44>Jan  1 00:00:04 klogd: PCI Autoconfig: Found Bus 0, Device 1, Function 1
<44>Jan  1 00:00:04 klogd: PCI Autoconfig: BAR 0, Mem, size=0x1000,
address=0xffffc000
<44>Jan  1 00:00:04 klogd: PCI Autoconfig: BAR 1, Mem, size=0xfdffff60,
address=0xa0
<44>Jan  1 00:00:04 klogd: PCI Autoconfig: BAR 2, I/O, size=0x4,
address=0xfffffff8
<44>Jan  1 00:00:04 klogd: PCI Autoconfig: BAR 3, Mem, size=0x1000,
address=0xfffff000
<44>Jan  1 00:00:04 klogd: PCI Autoconfig: BAR 4, Mem, size=0x1000,
address=0xffffe000
<44>Jan  1 00:00:04 klogd: PCI Autoconfig: BAR 5, Mem, size=0x1000,
address=0xffffd000
<46>Jan  1 00:00:04 klogd: PCI: bus0: Fast back to back transfers disabled
<46>Jan  1 00:00:04 klogd: Linux NET4.0 for Linux 2.4
<46>Jan  1 00:00:04 klogd: Based upon Swansea University Computer Society
NET3.039
<44>Jan  1 00:00:04 klogd: Initializing RT netlink socket
<44>Jan  1 00:00:04 klogd: Starting kswapd
<45>Jan  1 00:00:04 klogd: JFFS2 version 2.1. (C) 2001 Red Hat, Inc.,
designed by Axis Communications AB.
<44>Jan  1 00:00:04 klogd: pty: 256 Unix98 ptys configured
<46>Jan  1 00:00:04 klogd: Serial driver version 5.05c (2001-07-08) with
MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
<46>Jan  1 00:00:04 klogd: ttyS00 at 0xff000003 (irq = 15) is a XScale UART
<46>Jan  1 00:00:04 klogd: ttyS01 at 0xff001003 (irq = 13) is a XScale UART
<44>Jan  1 00:00:04 klogd: RAMDISK driver initialized: 16 RAM disks of 8192K
size 1024 blocksize
<45>Jan  1 00:00:04 klogd: cfi_cmdset_0001: Erase suspend on write enabled
<47>Jan  1 00:00:04 klogd: 0: offset=0x0,size=0x20000,blocks=128
<44>Jan  1 00:00:04 klogd: Using buffer write method
<45>Jan  1 00:00:04 klogd: Creating 6 MTD partitions on "IXP425 Flash":
<45>Jan  1 00:00:04 klogd: 0x00000000-0x00040000 : "RedBoot"
<45>Jan  1 00:00:04 klogd: 0x00040000-0x00100000 : "zimage"
<45>Jan  1 00:00:04 klogd: 0x00100000-0x003e0000 : "ramdisk"
<45>Jan  1 00:00:04 klogd: 0x003e0000-0x00fc0000 : "unallocated space"
<45>Jan  1 00:00:04 klogd: 0x00fc0000-0x00fc1000 : "RedBoot config"
<44>Jan  1 00:00:04 klogd: mtd: partition "RedBoot config" doesn't end on an
erase block -- force read-only
<45>Jan  1 00:00:04 klogd: 0x00fe0000-0x01000000 : "FIS directory"
<46>Jan  1 00:00:04 klogd: NET4: Linux TCP/IP 1.0 for NET4.0
<46>Jan  1 00:00:04 klogd: IP Protocols: ICMP, UDP, TCP
<46>Jan  1 00:00:04 klogd: IP: routing cache hash table of 512 buckets,
4Kbytes
<46>Jan  1 00:00:04 klogd: TCP: Hash tables configured (established 4096
bind 8192)
<46>Jan  1 00:00:04 klogd: NET4: Unix domain sockets 1.0/SMP for Linux
NET4.0.
<44>Jan  1 00:00:04 klogd: NetWinder Floating Point Emulator V0.97 (double
precision)
<45>Jan  1 00:00:04 klogd: RAMDISK: Compressed image found at block 0
<46>Jan  1 00:00:04 klogd: Freeing initrd memory: 8192K
<44>Jan  1 00:00:04 klogd: VFS: Mounted root (ext2 filesystem).
<46>Jan  1 00:00:04 klogd: Freeing init memory: 52K
<44>Jan  1 00:00:04 klogd: Module init.
<46>Jan  1 00:00:04 klogd: ixp425_eth:
<44>Jan  1 00:00:04 klogd: Initializing IXP425 NPE Ethernet driver software
v. 1.1
<46>Jan  1 00:00:04 klogd: ixp425_eth: CPU clock speed (approx) = 0 MHz
<46>Jan  1 00:00:04 klogd: ixp425_eth: ixp0 is using the PHY at address 0
<46>Jan  1 00:00:04 klogd: ixp425_eth: ixp1 is using the PHY at address 1
<131>Jan  1 00:01:04 dhcpcd[21]: timed out waiting for a valid DHCP server
response
<46>Jan  1 00:07:37 klogd: Linux Kernel Card Services 3.1.22
<46>Jan  1 00:07:37 klogd:   options:  [pci] [cardbus]
<44>Jan  1 00:08:55 klogd: DONO DEBUG: cardbus_probe() called...
<44>Jan  1 00:08:55 klogd: DONO DEBUG: add_pci_socket() called...
<44>Jan  1 00:08:55 klogd: DONO DEBUG: yenta_open() called...
<44>Jan  1 00:08:55 klogd:
<44>Jan  1 00:08:55 klogd: 4.DONO DEBUG: IN pci_announce_device TADA!!!: DO
I GET HERE???
<44>Jan  1 00:08:55 klogd: DONO DEBUG: cardbus_probe() called...
<44>Jan  1 00:08:55 klogd: DONO DEBUG: add_pci_socket() called...
<44>Jan  1 00:08:55 klogd: DONO DEBUG: yenta_open() called...
<44>Jan  1 00:08:55 klogd: !!!abort_handler addr = 0xb6000, isr = 0x0,
status = 0x22a0
<44>Jan  1 00:08:55 klogd: !!!abort_handler addr = 0xb6000, isr = 0x0,
status = 0x2a0
<44>Jan  1 00:08:55 last message repeated 2 time(s)
<44>Jan  1 00:08:55 klogd:
<44>Jan  1 00:08:55 klogd: 4.DONO DEBUG: IN pci_announce_device TADA!!!: DO
I GET HERE???
<44>Jan  1 00:08:55 klogd: DONO DEBUG: yenta_open_bh() called...
<44>Jan  1 00:08:55 klogd: DONO DEBUG: yenta_probe_irq() called....
<44>Jan  1 00:08:55 klogd: Yenta IRQ list 0000, PCI irq28
<44>Jan  1 00:08:55 klogd: Socket status: 30000086
<44>Jan  1 00:08:55 klogd: DONO DEBUG: yenta_open_bh() called...
<44>Jan  1 00:08:55 klogd: DONO DEBUG: yenta_probe_irq() called....
<44>Jan  1 00:08:55 klogd: Bad mode in data abort handler detected: mode
ABT_32
<42>Jan  1 00:08:55 klogd: Vectors: (0xffff0000 to 0xffff0040)
<44>Jan  1 00:08:55 klogd: 0000: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 0020: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<42>Jan  1 00:08:55 klogd: Stubs: (0xffff0200 to 0xffff04b8)
<44>Jan  1 00:08:55 klogd: 0200: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 0220: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 0240: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 0260: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 0280: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 02a0: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 02c0: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 02e0: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 0300: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 0320: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 0340: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 0360: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 0380: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 03a0: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 03c0: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 03e0: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 0400: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 0420: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 0440: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 0460: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 0480: 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
<44>Jan  1 00:08:55 klogd: 04a0: 00000000 00000000 00000000 00000000
00000000 00000000
<44>Jan  1 00:08:55 klogd: Internal error: Oops: 0
<44>Jan  1 00:08:55 klogd: CPU: 0
<44>Jan  1 00:08:55 klogd: pc : [<ffff027c>]    lr : [<00000000>] Tainted: P
<44>Jan  1 00:08:55 klogd: sp : c02f7f24  ip : 60000093  fp : 00000000
<44>Jan  1 00:08:55 klogd: r10: c02f7fc8  r9 : c02f6340  r8 : c02f6330
<44>Jan  1 00:08:55 klogd: r7 : 00000ef8  r6 : 000005c0  r5 : c5d6e87c  r4 :
c0178e50
<44>Jan  1 00:08:55 klogd: r3 : c4800000  r2 : 00000001  r1 : c5d72000  r0 :
c5d72004
<44>Jan  1 00:08:55 klogd: Flags: nzCv  IRQs off  FIQs on  Mode ABT_32
Segment kernel
<44>Jan  1 00:08:55 klogd: Control: 39FF  Table: 00A30000  DAC: 0000001D
<44>Jan  1 00:08:55 klogd: Process keventd (pid: 2, stack limit =
0xc02f6368)
<44>Jan  1 00:08:55 klogd: Stack: (0xc02f7f6c to 0xc02f8000)
<44>Jan  1 00:08:55 klogd: 7f60:                            c00105c0
c5d6e87c c02f7fa0 c0014468 c02f6000
<44>Jan  1 00:08:55 klogd: 7f80: c02f6330 c5d6d340 c5d6e87c c5d6d3f0
c5d6e87c 30000086 c02f7fa0 c00280e4
<44>Jan  1 00:08:55 klogd: 7fa0: c5d6e830 c5d6e8bc c013a2e0 00000001
c002fe84 00000001 00000000 c0014468
<44>Jan  1 00:08:55 klogd: 7fc0: 00010000 00000000 00000000 c02f6000
00000000 00000000 00000000 c0270000
<44>Jan  1 00:08:55 klogd: 7fe0: c018fc58 c016ef3c c0138d10 690541f1
00013804 c0018b94 ffffff7f ffffffff
<44>Jan  1 00:08:55 klogd: Backtrace: no frame pointer
<44>Jan  1 00:08:55 klogd: Code: bad PC value.

Any help would be appreciated.

Don Osburn
Lead Engineer
Isco International
847-391-9481




More information about the linux-pcmcia mailing list