Re: if_bfe and > 1 GB of ram is now fixed (fwd)

Mikko Työläjärvi <[email protected]>
Newsgroups gmane.os.freebsd.devel.mobile
Message-ID <[email protected]>
On Sat, 29 Apr 2006, Mike Silbersack wrote:

>
> Google told me that some of you guys were discussing this issue on 
> freebsd-mobile, so I'm forwarding my post over here.
>
> Mike "Silby" Silbersack
>

Great!  However, it does not quite work for me (on -current as of
yesterday, with version 1.36 of if_bfe.c).  Busdma wants a lock
function:

   panic: driver error: busdma dflt_lock called

Using busdma_lock_mutex() and &sc->bfe_mtx results in watchdog
timeouts, lots of LORs and no network traffic, so some other lock is
apparently needed.

Any ideas?

# kgdb -q /boot/kernel/kernel.symbols vmcore.4
[GDB will not be able to debug user-mode threads:
/usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]

Unread portion of the kernel message buffer:
panic: driver error: busdma dflt_lock called
KDB: enter: panic
panic: from debugger
Uptime: 8m53s
Physical memory: 2022 MB
Dumping 66 MB: 51 35 19 3

#0  doadump () at pcpu.h:166
166     pcpu.h: No such file or directory.
         in pcpu.h
(kgdb) bt
#0  doadump () at pcpu.h:166
#1  0xc049b7b6 in boot (howto=260) at
/usr/src/sys/kern/kern_shutdown.c:409
#2  0xc049b278 in panic (fmt=0x0) at
/usr/src/sys/kern/kern_shutdown.c:565
#3  0xc04420c2 in db_panic (addr=-1068778798, have_addr=0, count=-1,
     modif=0xe34a9a98 "") at /usr/src/sys/ddb/db_command.c:426
#4  0xc04424af in db_command_loop () at
/usr/src/sys/ddb/db_command.c:395
#5  0xc04443a4 in db_trap (type=3, code=0) at
/usr/src/sys/ddb/db_main.c:221
#6  0xc04bbf81 in kdb_trap (type=0, code=0, tf=0x0)
     at /usr/src/sys/kern/subr_kdb.c:481
#7  0xc05cf5e5 in trap (frame=
       {tf_fs = -1067188216, tf_es = 40, tf_ds = -481689560, tf_edi =
       256, tf_esi = -1067155904, tf_ebp = -481649552, tf_isp =
       -481649580, tf_ebx = -1067155904, tf_edx = 0, tf_ecx =
       -1067155904, tf_eax = 18, tf_trapno = 3, tf_err = 0, tf_eip =
       -1068778798, tf_cs = 32, tf_eflags = 646, tf_esp = -1067456709,
       tf_ss = -1067465896}) at /usr/src/sys/i386/i386/trap.c:622
#8  0xc05be96a in calltrap () at
/usr/src/sys/i386/i386/exception.s:138
#9  0xc04bbad2 in kdb_enter (msg=0x12 <Address 0x12 out of bounds>)
     at cpufunc.h:60
#10 0xc049b2ef in panic (
     fmt=0xc0647e40 "driver error: busdma dflt_lock called")
     at /usr/src/sys/kern/kern_shutdown.c:549
#11 0xc05b9712 in dflt_lock (arg=0x0, op=BUS_DMA_LOCK)
     at /usr/src/sys/i386/i386/busdma_machdep.c:202
#12 0xc05bbd47 in busdma_swi () at
/usr/src/sys/i386/i386/busdma_machdep.c:1151
#13 0xc0482598 in ithread_loop (arg=0xc4857260)
     at /usr/src/sys/kern/kern_intr.c:662
#14 0xc04812a3 in fork_exit (callout=0xc0482340 <ithread_loop>,
arg=0x12,
     frame=0x12) at /usr/src/sys/kern/kern_fork.c:819
#15 0xc05be9cc in fork_trampoline () at
/usr/src/sys/i386/i386/exception.s:199
(kgdb) q

Dell Inspiron 700m, 2GB ram and this network chip:

ndis0@pci2:5:0: class=0x020000 card=0x018d1028 chip=0x170c14e4 rev=0x02 hdr=0x00
     vendor   = 'Broadcom Corporation'
     device   = 'BCM440x 100Base-TX Fast Ethernet'
     class    = network
     subclass = ethernet

     /Mikko

> ---------- Forwarded message ----------
> Date: Fri, 28 Apr 2006 00:44:18 -0500 (CDT)
> From: Mike Silbersack <[email protected]>
> To: [email protected]
> Subject: if_bfe and > 1 GB of ram is now fixed
>
>
> If anyone was using a bfe card and seeing interrupt storms when you attempted 
> to bring the card up, this is the fix for you.  The driver wasn't previously 
> taking into account the fact that the chipset doesn't like addresses over the 
> 1GB mark.
>
> If you'd like an even quicker fix, just add hw.mem = "1000M" to your 
> loader.conf and reboot. :)
>
> Mike "Silby" Silbersack
>
> ---------- Forwarded message ----------
> Date: Fri, 28 Apr 2006 05:39:58 +0000 (UTC)
> From: Mike Silbersack <[email protected]>
> To: [email protected], [email protected], [email protected]
> Subject: cvs commit: src/sys/dev/bfe if_bfe.c
>
> silby       2006-04-28 05:39:58 UTC
>
>  FreeBSD src repository
>
>  Modified files:        (Branch: RELENG_6)
>    sys/dev/bfe          if_bfe.c
>  Log:
>  MFC revs 1.33, 1.34, 1.35, and 1.36.
>
>  These changes allow bfe to work on machines with > 1GB of ram.
>
>  Approved by:    re
>
>  Revision  Changes    Path
>  1.25.2.5  +20 -17    src/sys/dev/bfe/if_bfe.c
> _______________________________________________
> [email protected] mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
> To unsubscribe, send any mail to "[email protected]"
>
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.