Date: Sun, 2 Mar 2003 11:29:02 -0500 (EST) From: Andre Guibert de Bruet <andy@siliconlandmark.com> To: current@FreeBSD.ORG Subject: Re: Double fault with IBM microdrives and CompactFlash (LONG) Message-ID: <20030302105316.P91528@alpha.siliconlandmark.com> In-Reply-To: <20030301120003.R91528@alpha.siliconlandmark.com> References: <20030301120003.R91528@alpha.siliconlandmark.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 1 Mar 2003, Andre Guibert de Bruet wrote: > I just tried using my FreeBSD laptop to unload pictures off of a 340MB IB= M > microdrive (Model: DMDM-10340, P/N: 22L0046) using the IBM PC Card adapte= r > (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 insertin= g > 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 committe= d > fixes. Here's what uname says: <snip> > pccard1: Allocation failed for cfe 0 > ata2 at port 0x100-0x10f irq 10 function 0 config 1 on pccard1 <snip> I've since cvsup'ed, and upgraded this machine's kernel. omikron# uname -a FreeBSD omikron.properkernel.com 5.0-CURRENT FreeBSD 5.0-CURRENT #0: Sun Ma= r 2 09:29:14 EST 2003 root@omikron.properkernel.com:/usr/src/sys/i386/= compile/OMIKRON i386 I also enabled dumps and managed to get a clean dump: (kgdb) bt #0 doadump () at ../../../kern/kern_shutdown.c:239 #1 0xc013bb55 in db_fncall (dummy1=3D0, dummy2=3D0, dummy3=3D3999, dumm= y4=3D0xd68d0964 "@\003E=C0\f") at ../../../ddb/db_command.c:546 #2 0xc013b8d2 in db_command (last_cmdp=3D0xc04037c0, cmd_table=3D0x0, a= ux_cmd_tablep=3D0xc03fdf94, aux_cmd_tablep_end=3D0xc03fdf98) at ../../..= /ddb/db_command.c:346 #3 0xc013b9e6 in db_command_loop () at ../../../ddb/db_command.c:470 #4 0xc013e76a in db_trap (type=3D12, code=3D0) at ../../../ddb/db_trap.c:7= 2 #5 0xc0388ad1 in kdb_trap (type=3D12, code=3D0, regs=3D0xd68d0b34) at .= =2E/../../i386/i386/db_interface.c:166 #6 0xc039a2f2 in trap_fatal (frame=3D0xd68d0b34, eva=3D0) at ../../../i= 386/i386/trap.c:838 #7 0xc039a002 in trap_pfault (frame=3D0xd68d0b34, usermode=3D0, eva=3D0) = at ../../../i386/i386/trap.c:757 #8 0xc0399b7d in trap (frame=3D {tf_fs =3D -695402472, tf_es =3D -107= 2431088, tf_ds =3D -1051262960, tf_edi =3D -1051687936, tf_esi =3D 128, tf_= ebp =3D -695399504, tf_isp =3D -695399584, tf_ebx =3D 16, tf_edx =3D -10512= 31700, tf_ecx =3D -1068976384, tf_eax =3D -1051231700, tf_trapno =3D 12, tf= _err =3D 0, tf_eip =3D 0, tf_cs =3D 8, tf_eflags =3D 66118, tf_esp =3D -107= 2345719, tf_ss =3D -1051231700}) at ../../../i386/i386/trap.c:444 #9 0xc038a428 in calltrap () at {standard input}:96 #10 0xc01463d3 in ata_attach (dev=3D0x80) at ../../../dev/ata/ata-all.c:210 #11 0xc017b24a in pccard_compat_do_attach (bus=3D0xc40f8500, dev=3D0x80) = at card_if.h:129 #12 0xc014a5bd in pccard_compat_attach (dev=3D0x10) at card_if.h:147 #13 0xc0254010 in device_probe_and_attach (dev=3D0x10) at device_if.h:39 #14 0xc0179f1f in pccard_attach_card (dev=3D0xc40f8500) at ../../../dev/= pccard/pccard.c:243 #15 0xc0181f08 in cbb_insert (sc=3D0xc15a2c00) at card_if.h:66 #16 0xc0181d2b in cbb_event_thread (arg=3D0xc15a2c00) at ../../../dev/pc= cbb/pccbb.c:914 #17 0xc022b634 in fork_exit (callout=3D0xc0181cb0 <cbb_event_thread>, arg= =3D0x0, frame=3D0x0) at ../../../kern/kern_fork.c:871 (kgdb) list ../../../dev/ata/ata-all.c:210 205 if (ch->devices & ATA_ATAPI_MASTER) 206 if (ata_getparam(&ch->device[MASTER], ATA_C_ATAPI_IDENT= IFY)) 207 ch->devices &=3D ~ATA_ATAPI_MASTER; 208 #ifdef DEV_ATADISK 209 if (ch->devices & ATA_ATA_MASTER) 210 ad_attach(&ch->device[MASTER]); 211 if (ch->devices & ATA_ATA_SLAVE) 212 ad_attach(&ch->device[SLAVE]); 213 #endif 214 #if DEV_ATAPIALL File versions: src/sys/dev/ata/ata-all.c 1.167 src/sys/dev/ata/ata-all.h 1.59 src/sys/dev/pccard/card_if.m 1.21 src/sys/dev/pccbb/pccbb.c 1.65 src/sys/kern/device_if.m 1.8 src/sys/kern/kern_fork.c 1.186 src/sys/pccard/pccard.c 1.156 The kernel config file that I'm using can be found at: http://siliconlandmark.com/staff/andre/files/OMIKRON If there's anything else that could be helpful, please don't hesitate to ask! :-) Thanks again, > 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?20030302105316.P91528>