summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
diff options
context:
space:
mode:
authorgrehan <grehan@FreeBSD.org>2004-07-01 08:01:49 +0000
committergrehan <grehan@FreeBSD.org>2004-07-01 08:01:49 +0000
commite6d783678aceef9e4b0a403a1b995ec353582fa3 (patch)
tree05feeb998b7363c58a0e43c733895ffc6b909359 /sys/powerpc
parent9583041d2ccbd51842e8118efe06caec898856a5 (diff)
downloadFreeBSD-src-e6d783678aceef9e4b0a403a1b995ec353582fa3.zip
FreeBSD-src-e6d783678aceef9e4b0a403a1b995ec353582fa3.tar.gz
Modify loop test when cycling through phys_avail array. It's possible
for an OpenFirmware implementation to have a single memory region (hello PearPC).
Diffstat (limited to 'sys/powerpc')
-rw-r--r--sys/powerpc/aim/mmu_oea.c6
-rw-r--r--sys/powerpc/powerpc/mmu_oea.c6
-rw-r--r--sys/powerpc/powerpc/pmap.c6
3 files changed, 12 insertions, 6 deletions
diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c
index 3a32f17..98a1ce5 100644
--- a/sys/powerpc/aim/mmu_oea.c
+++ b/sys/powerpc/aim/mmu_oea.c
@@ -701,9 +701,11 @@ pmap_bootstrap(vm_offset_t kernelstart, vm_offset_t kernelend)
if ((sz = OF_getproplen(mmu, "translations")) == -1)
panic("pmap_bootstrap: can't get ofw translation count");
translations = NULL;
- for (i = 0; phys_avail[i + 2] != 0; i += 2) {
- if (phys_avail[i + 1] >= sz)
+ for (i = 0; phys_avail[i] != 0; i += 2) {
+ if (phys_avail[i + 1] >= sz) {
translations = (struct ofw_map *)phys_avail[i];
+ break;
+ }
}
if (translations == NULL)
panic("pmap_bootstrap: no space to copy translations");
diff --git a/sys/powerpc/powerpc/mmu_oea.c b/sys/powerpc/powerpc/mmu_oea.c
index 3a32f17..98a1ce5 100644
--- a/sys/powerpc/powerpc/mmu_oea.c
+++ b/sys/powerpc/powerpc/mmu_oea.c
@@ -701,9 +701,11 @@ pmap_bootstrap(vm_offset_t kernelstart, vm_offset_t kernelend)
if ((sz = OF_getproplen(mmu, "translations")) == -1)
panic("pmap_bootstrap: can't get ofw translation count");
translations = NULL;
- for (i = 0; phys_avail[i + 2] != 0; i += 2) {
- if (phys_avail[i + 1] >= sz)
+ for (i = 0; phys_avail[i] != 0; i += 2) {
+ if (phys_avail[i + 1] >= sz) {
translations = (struct ofw_map *)phys_avail[i];
+ break;
+ }
}
if (translations == NULL)
panic("pmap_bootstrap: no space to copy translations");
diff --git a/sys/powerpc/powerpc/pmap.c b/sys/powerpc/powerpc/pmap.c
index 3a32f17..98a1ce5 100644
--- a/sys/powerpc/powerpc/pmap.c
+++ b/sys/powerpc/powerpc/pmap.c
@@ -701,9 +701,11 @@ pmap_bootstrap(vm_offset_t kernelstart, vm_offset_t kernelend)
if ((sz = OF_getproplen(mmu, "translations")) == -1)
panic("pmap_bootstrap: can't get ofw translation count");
translations = NULL;
- for (i = 0; phys_avail[i + 2] != 0; i += 2) {
- if (phys_avail[i + 1] >= sz)
+ for (i = 0; phys_avail[i] != 0; i += 2) {
+ if (phys_avail[i + 1] >= sz) {
translations = (struct ofw_map *)phys_avail[i];
+ break;
+ }
}
if (translations == NULL)
panic("pmap_bootstrap: no space to copy translations");
OpenPOWER on IntegriCloud