Broadcomm BCM4401-B0 and memory upgrade issue.
lyubich_freebsd
lyubich-freebsd1 at gmx.net
Sun Jan 29 14:18:20 PST 2006
-----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-----
More information about the freebsd-stable
mailing list