Date: Sun, 29 Jan 2006 23:18:52 +0100 From: "lyubich_freebsd" <lyubich-freebsd1@gmx.net> To: "'Bill Paul'" <wpaul@FreeBSD.ORG> Cc: freebsd-stable@freebsd.org Subject: RE: Broadcomm BCM4401-B0 and memory upgrade issue. Message-ID: <20060129221813.3F71043D75@mx1.FreeBSD.org> In-Reply-To: <20060124205430.591DD16A423@hub.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, I applied the suggested changes. I got the following message when I load the if_bfe driver. vm_page_alloc_config: alignment must be a power of 2 After that the kernel panics and system reboots. I think, if I can specified the allignment correctly, it should work. Tell me, how to do this, and I will try it again. Regards, LM > > static int > bfe_dma_alloc(device_t dev) > { > struct bfe_softc *sc; > int error, i; > > sc = device_get_softc(dev); > > /* parent tag */ > error = bus_dma_tag_create(NULL, /* parent */ > PAGE_SIZE, 0, /* > alignment, boundary */ > BUS_SPACE_MAXADDR, /* lowaddr */ > BUS_SPACE_MAXADDR_32BIT, /* highaddr */ > NULL, NULL, /* filter, > filterarg */ > MAXBSIZE, /* maxsize */ > BUS_SPACE_UNRESTRICTED, /* num of > segments */ > BUS_SPACE_MAXSIZE_32BIT, /* max > segment size */ > BUS_DMA_ALLOCNOW, /* flags */ > NULL, NULL, /* > lockfunc, lockarg */ > &sc->bfe_parent_tag); > > - Change it to look like this: > > static int > bfe_dma_alloc(device_t dev) > { > struct bfe_softc *sc; > int error, i; > > sc = device_get_softc(dev); > > /* parent tag */ > error = bus_dma_tag_create(NULL, /* parent */ > PAGE_SIZE, 0, /* > alignment, boundary */ > /* change this -> */ 0x3E7FFFFF /*BUS_SPACE_MAXADDR*/, > /* lowaddr */ > BUS_SPACE_MAXADDR_32BIT, /* highaddr */ > NULL, NULL, /* filter, > filterarg */ > MAXBSIZE, /* maxsize */ > BUS_SPACE_UNRESTRICTED, /* num of > segments */ > BUS_SPACE_MAXSIZE_32BIT, /* max > segment size */ > BUS_DMA_ALLOCNOW, /* flags */ > NULL, NULL, /* > lockfunc, lockarg */ > &sc->bfe_parent_tag); > > - Save if_bfe.c > - Recompile if_bfe.ko and/or your kernel, test it, and report > back what > happens. > > Wait, let me say that last part again: REPORT BACK WHAT > HAPPENS! I hate it when I send people things to test and they > vanish into a black hole, never to be heard from again. > > I suspect this chipset has a DMA limitation that prevents it > from performing DMA to/from any addresses outside the first > 1GB of RAM. > Curiously, I ran into this with a Linksys wireless NIC with > the NDISulator, which is based on a Broadcom chipset too > (802.11b only). > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (MingW32) iD8DBQFD3T87KOV0oHioLCARAvxGAKCn4FieqHpPBD7+6vOm+taaLjfZlgCgk2WR 5H7hLglq++SV8eaiujVL6cE= =L2Ut -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060129221813.3F71043D75>