From owner-svn-src-head@FreeBSD.ORG Thu Jan 20 20:22:20 2011 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 618A61065672; Thu, 20 Jan 2011 20:22:20 +0000 (UTC) (envelope-from andreast@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 35FCA8FC1D; Thu, 20 Jan 2011 20:22:20 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p0KKMKJ6026936; Thu, 20 Jan 2011 20:22:20 GMT (envelope-from andreast@svn.freebsd.org) Received: (from andreast@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p0KKMKDZ026931; Thu, 20 Jan 2011 20:22:20 GMT (envelope-from andreast@svn.freebsd.org) Message-Id: <201101202022.p0KKMKDZ026931@svn.freebsd.org> From: Andreas Tobler Date: Thu, 20 Jan 2011 20:22:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r217658 - head/sys/powerpc/powermac X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jan 2011 20:22:20 -0000 Author: andreast Date: Thu Jan 20 20:22:19 2011 New Revision: 217658 URL: http://svn.freebsd.org/changeset/base/217658 Log: Correct parsing of the grackle and uninorthpci ranges property. Approved by: nwhitehorn (mentor) Modified: head/sys/powerpc/powermac/grackle.c head/sys/powerpc/powermac/gracklevar.h head/sys/powerpc/powermac/uninorthpci.c head/sys/powerpc/powermac/uninorthvar.h Modified: head/sys/powerpc/powermac/grackle.c ============================================================================== --- head/sys/powerpc/powermac/grackle.c Thu Jan 20 19:26:28 2011 (r217657) +++ head/sys/powerpc/powermac/grackle.c Thu Jan 20 20:22:19 2011 (r217658) @@ -199,11 +199,14 @@ grackle_attach(device_t dev) return (ENXIO); } + sc->sc_nrange /= sizeof(sc->sc_range[0]); + sc->sc_range[6].pci_hi = 0; io = NULL; nmem = 0; - for (rp = sc->sc_range; rp->pci_hi != 0; rp++) { + for (rp = sc->sc_range; rp < sc->sc_range + sc->sc_nrange && + rp->pci_hi != 0; rp++) { switch (rp->pci_hi & OFW_PCI_PHYS_HI_SPACEMASK) { case OFW_PCI_PHYS_HI_SPACE_CONFIG: break; Modified: head/sys/powerpc/powermac/gracklevar.h ============================================================================== --- head/sys/powerpc/powermac/gracklevar.h Thu Jan 20 19:26:28 2011 (r217657) +++ head/sys/powerpc/powermac/gracklevar.h Thu Jan 20 20:22:19 2011 (r217658) @@ -45,7 +45,7 @@ struct grackle_softc { vm_offset_t sc_addr; vm_offset_t sc_data; int sc_bus; - struct grackle_range sc_range[6]; + struct grackle_range sc_range[7]; int sc_nrange; int sc_iostart; struct rman sc_io_rman; Modified: head/sys/powerpc/powermac/uninorthpci.c ============================================================================== --- head/sys/powerpc/powermac/uninorthpci.c Thu Jan 20 19:26:28 2011 (r217657) +++ head/sys/powerpc/powermac/uninorthpci.c Thu Jan 20 20:22:19 2011 (r217658) @@ -231,11 +231,14 @@ uninorth_attach(device_t dev) return (ENXIO); } + sc->sc_nrange /= sizeof(sc->sc_range[0]); + sc->sc_range[6].pci_hi = 0; io = NULL; nmem = 0; - for (rp = sc->sc_range; rp->pci_hi != 0; rp++) { + for (rp = sc->sc_range; rp < sc->sc_range + sc->sc_nrange && + rp->pci_hi != 0; rp++) { switch (rp->pci_hi & OFW_PCI_PHYS_HI_SPACEMASK) { case OFW_PCI_PHYS_HI_SPACE_CONFIG: break; Modified: head/sys/powerpc/powermac/uninorthvar.h ============================================================================== --- head/sys/powerpc/powermac/uninorthvar.h Thu Jan 20 19:26:28 2011 (r217657) +++ head/sys/powerpc/powermac/uninorthvar.h Thu Jan 20 20:22:19 2011 (r217658) @@ -53,7 +53,7 @@ struct uninorth_softc { vm_offset_t sc_addr; vm_offset_t sc_data; int sc_bus; - struct uninorth_range sc_range[6]; + struct uninorth_range sc_range[7]; int sc_nrange; int sc_iostart; struct rman sc_io_rman;