Broadcom 440x on FreeBSD 6.0/6.1

Pyun YongHyeon pyunyh at gmail.com
Wed Apr 19 04:07:06 UTC 2006


On Sun, Apr 16, 2006 at 09:57:34PM +0200, Andreas Bachmann wrote:
 > > The bfe driver is broken for RAM sizes above 1G, and you have 2G.
 > > 
 > > For kicks, you could try booting with hw.physmem="1G" (in loader.conf
 > > or manually).  If that doesn't work, you have discovered a new bug.
 > > 
 > > The ndis driver works on my H^HDell notebook (see ndisgen(8)).
 > I found your post to freebsd-mobile with the same text :-)
 > After limiting my physical memory, my NIC works now...
 > I will look at the ndisgen.
 > 

It seems that BCM440x has DMA address limit at 1GB.
How about this?

Index: if_bfe.c
===================================================================
RCS file: /pool/ncvs/src/sys/dev/bfe/if_bfe.c,v
retrieving revision 1.32
diff -u -r1.32 if_bfe.c
--- if_bfe.c	4 Apr 2006 22:30:12 -0000	1.32
+++ if_bfe.c	19 Apr 2006 04:01:47 -0000
@@ -200,7 +200,7 @@
 	/* parent tag */
 	error = bus_dma_tag_create(NULL,  /* parent */
 			PAGE_SIZE, 0,             /* alignment, boundary */
-			BUS_SPACE_MAXADDR,        /* lowaddr */
+			0x3fffffff,               /* lowaddr */
 			BUS_SPACE_MAXADDR_32BIT,  /* highaddr */
 			NULL, NULL,               /* filter, filterarg */
 			MAXBSIZE,                 /* maxsize */
-- 
Regards,
Pyun YongHyeon


More information about the freebsd-hardware mailing list