From owner-freebsd-sparc64@FreeBSD.ORG Wed Sep 28 05:56:55 2005 Return-Path: X-Original-To: sparc64@freebsd.org Delivered-To: freebsd-sparc64@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9FE7516A41F; Wed, 28 Sep 2005 05:56:55 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (vc4-2-0-87.dsl.netrack.net [199.45.160.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id 433D443D48; Wed, 28 Sep 2005 05:56:55 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (localhost.village.org [127.0.0.1] (may be forged)) by harmony.bsdimp.com (8.13.3/8.13.3) with ESMTP id j8S5u8gt004474; Tue, 27 Sep 2005 23:56:08 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Tue, 27 Sep 2005 23:56:45 -0600 (MDT) Message-Id: <20050927.235645.34605623.imp@bsdimp.com> To: kris@obsecurity.org From: "M. Warner Losh" In-Reply-To: <20050928041341.GA29527@xor.obsecurity.org> References: <20050928041341.GA29527@xor.obsecurity.org> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (harmony.bsdimp.com [127.0.0.1]); Tue, 27 Sep 2005 23:56:09 -0600 (MDT) Cc: current@freebsd.org, sparc64@freebsd.org Subject: Re: sparc64 panic in rman_set_start X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Sep 2005 05:56:55 -0000 In message: <20050928041341.GA29527@xor.obsecurity.org> Kris Kennaway writes: : Since updating this e4500 from a few days ago it panics at boot with: : : -- fast data access mmu miss tar=0 %o7=0xc00ffdbc -- : rman_set_start() at rman_set_start+0x8 : puc_sbus_attach() at puc_sbus_attach+0x74 : device_attach() at device_attach+0x60 : device_probe_and_attach() at device_probe_and_attach+0x118 : bus_generic_attach() at bus_generic_attach+0x10 : fhc_attach() at fhc_attach+0x45c : fhc_central_attach() at fhc_central_attach+0x134 : device_attach() at device_attach+0x60 : device_probe_and_attach() at device_probe_and_attach+0x118 : bus_generic_attach() at bus_generic_attach+0x10 : central_attach() at central_attach+0x234 : device_attach() at device_attach+0x60 : device_probe_and_attach() at device_probe_and_attach+0x118 : bus_generic_attach() at bus_generic_attach+0x10 : nexus_attach() at nexus_attach+0x23c : device_attach() at device_attach+0x60 : device_probe_and_attach() at device_probe_and_attach+0x118 : root_bus_configure() at root_bus_configure+0x18 : configure() at configure+0x4 : mi_startup() at mi_startup+0x12c : btext() at btext+0x34 : : Can someone please fix this? I think it is phk's changes. puc allocates a struct resource, but not the private part, so the rman_set_* won't work: rle->res = malloc(sizeof(struct resource), M_DEVBUF, M_WAITOK | M_ZERO); if (rle->res == NULL) { free(pdev, M_DEVBUF); return (ENOMEM); } rman_set_start(rle->res, rman_get_start(res) + sc->sc_desc.ports[i].offset); rman_set_end(rle->res, rman_get_start(rle->res) + ressz - 1); Warner