Index: sys/powerpc/ofw/ofw_machdep.c =================================================================== --- sys/powerpc/ofw/ofw_machdep.c +++ sys/powerpc/ofw/ofw_machdep.c @@ -294,7 +294,7 @@ excise_initrd_region(struct mem_region *avail, int asz) { phandle_t chosen; - uint64_t start, end; + uint32_t start, end; ssize_t size; struct mem_region initrdmap[1]; @@ -304,8 +304,9 @@ return (asz); size = OF_getprop(chosen, "linux,initrd-end", &end, sizeof(end)); - if (size <= 0) + if (size <= 0 || (end - start) == 0) return (asz); + /* if OF_getprop returns 32-bit values, we need to adjust */ initrdmap[0].mr_start = start; initrdmap[0].mr_size = end - start;