Date: Sat, 1 Mar 2003 12:51:11 -0500 (EST) From: Andre Guibert de Bruet <andy@siliconlandmark.com> To: current@freebsd.org Subject: Double fault with IBM microdrives and CompactFlash (LONG) Message-ID: <20030301120003.R91528@alpha.siliconlandmark.com>
next in thread | raw e-mail | index | archive | help
Hi,
I just tried using my FreeBSD laptop to unload pictures off of a 340MB IBM
microdrive (Model: DMDM-10340, P/N: 22L0046) using the IBM PC Card adapter
(P/N: 31L9315). The laptop in question is a stock Dell Latitude C800 with
a 1Ghz P3, 512MB of RAM and a 20GB ATA66 drive.
I got a double "page fault in kernel mode" message shortly after inserting
the drive. I rebooted then tried using the same adapter with a 128MB
Viking CompactFlash card, and I got the same problem. Now, I've used this
adapter under Windows XP, and it works, so it's not defective. I use the
same cardbus slots for my wi0 interface (PRISM II-based), so I know both
slots work. I recvsup'ed to make sure that I have all the latest committed
fixes. Here's what uname says:
FreeBSD 5.0-CURRENT #0: Sat Mar 1 11:04:18 EST 2003
root@omikron.properkernel.com:/usr/src/sys/i386/compile/OMIKRON
The following messages print out when the double faults occur. I didn't
have a serial console hooked up at the time, so I copied what was on the
screen as best I could... :-)
pccard1: Allocation failed for cfe 0
ata2 at port 0x100-0x10f irq 10 function 0 config 1 on pccard1
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x0
fault code = supervisor read, page not present
instruction pointer = 0x8:0x0
stack pointer = 0x10:0xd68d0b74
frame pointer = 0x10:0xd68d0bb0
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 9 (cbb1)
kernel: type 12 trap, code=0
Stopped at 0:
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x0
fault code = supervisor read, page not present
instruction pointer = 0x8:0xc0388d20
stack pointer = 0x10:0xd68d0978
frame pointer = 0x10:0xd68d097c
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 9 (cbb1)
kernel: type 12 trap, code=0
db> tr
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x0
fault code = supervisor read, page not present
instruction pointer = 0x8:0xc0388d20
stack pointer = 0x10:0xd68d0860
frame pointer = 0x10:0xd68d0864
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = resume, IOPL = 0
current process = 9 (cbb1)
kernel: type12 trap, code=0
db> show registers
cs 0x8
ds 0xc1560010
es 0xc0140010 an_attach+0x450
fs 0xd68d0018
ss 0x10
eax 0xc156332c
ecx 0xc048b8b8
edx 0xc156332c
ebx 0x10
esp 0xd68d0b74
ebp 0xd68d0bb0
esi 0x80
edi 0xc1508200
eip 0
efl 0x10246
dr0 0
dr1 0
dr2 0
dr3 0
dr4 0xffff0ff0
dr5 0x400
dr6 0xffff0ff0
dr7 0x400
0:
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x0
fault code = supervisor read, page not present
instruction pointer = 0x8:c0388d20
stack pointer = 0x10:0xd68d0878
frame pointer = 0x10:0xd68d087c
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1 def32 1, gran 1
processor eflags = resume, IOPL = 0
current process = 9 (cbb1)
kernel: type 12 trap code=0
db>call sync
0
db>
If I do not remove the card, doing a "call sync" never finishes. It
appears as if this problem is 100% reproducible.
Any ideas?
Thanks,
> Andre Guibert de Bruet | Enterprise Software Consultant >
> Silicon Landmark, LLC. | http://siliconlandmark.com/ >
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030301120003.R91528>
