Date: Thu, 20 Jan 2011 20:22:20 +0000 (UTC) From: Andreas Tobler <andreast@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r217658 - head/sys/powerpc/powermac Message-ID: <201101202022.p0KKMKDZ026931@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101202022.p0KKMKDZ026931>