From owner-freebsd-stable@FreeBSD.ORG Sun Jan 29 22:18:20 2006 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 16F4916A422 for ; Sun, 29 Jan 2006 22:18:20 +0000 (GMT) (envelope-from lyubich-freebsd1@gmx.net) Received: from mail.gmx.net (mail.gmx.de [213.165.64.21]) by mx1.FreeBSD.org (Postfix) with SMTP id 3F71043D75 for ; Sun, 29 Jan 2006 22:18:13 +0000 (GMT) (envelope-from lyubich-freebsd1@gmx.net) Received: (qmail invoked by alias); 29 Jan 2006 22:18:12 -0000 Received: from p548B90F7.dip0.t-ipconnect.de (EHLO guest) [84.139.144.247] by mail.gmx.net (mp021) with SMTP; 29 Jan 2006 23:18:12 +0100 X-Authenticated: #29128836 From: "lyubich_freebsd" To: "'Bill Paul'" Date: Sun, 29 Jan 2006 23:18:52 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook, Build 11.0.5510 In-Reply-To: <20060124205430.591DD16A423@hub.freebsd.org> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 Thread-Index: AcYhKG7r1bH0U/v0Q4yOPY1llOMRRQD9/IJA gpgol-version: 0.9.3 X-Y-GMX-Trusted: 0 Message-Id: <20060129221813.3F71043D75@mx1.FreeBSD.org> Cc: freebsd-stable@freebsd.org Subject: RE: Broadcomm BCM4401-B0 and memory upgrade issue. X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2006 22:18:20 -0000 -----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-----