diff options
author | raj <raj@FreeBSD.org> | 2012-05-30 18:05:48 +0000 |
---|---|---|
committer | raj <raj@FreeBSD.org> | 2012-05-30 18:05:48 +0000 |
commit | 4542634c3c12e63b2158a6133f0db8e2cb14a346 (patch) | |
tree | 767f9f19d9c87e18d5907bf3665dcc131bd0aa2e /sys/powerpc/booke | |
parent | 76640cb48b9113f0c84a50175e359b5771b9b5c4 (diff) | |
download | FreeBSD-src-4542634c3c12e63b2158a6133f0db8e2cb14a346.zip FreeBSD-src-4542634c3c12e63b2158a6133f0db8e2cb14a346.tar.gz |
Panic openly if we cannot retrieve memory information from the device tree.
This is a critical condition and can lead to all sorts of misterious hangs if
not handled.
Obtained from: Semihalf
Also reported by: thompsa
Diffstat (limited to 'sys/powerpc/booke')
-rw-r--r-- | sys/powerpc/booke/platform_bare.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/powerpc/booke/platform_bare.c b/sys/powerpc/booke/platform_bare.c index 7b98059..ebc5e11 100644 --- a/sys/powerpc/booke/platform_bare.c +++ b/sys/powerpc/booke/platform_bare.c @@ -76,7 +76,7 @@ static int bare_smp_start_cpu(platform_t, struct pcpu *cpu); static void booke_reset(platform_t); static platform_method_t bare_methods[] = { - PLATFORMMETHOD(platform_probe, bare_probe), + PLATFORMMETHOD(platform_probe, bare_probe), PLATFORMMETHOD(platform_mem_regions, bare_mem_regions), PLATFORMMETHOD(platform_timebase_freq, bare_timebase_freq), @@ -143,9 +143,9 @@ bare_mem_regions(platform_t plat, struct mem_region **phys, int *physsz, int i, rv; rv = fdt_get_mem_regions(avail_regions, availsz, &memsize); - if (rv != 0) - return; + panic("%s: could not retrieve mem regions from the 'memory' " + "node, error: %d", __func__, rv); for (i = 0; i < *availsz; i++) { if (avail_regions[i].mr_start < 1048576) { |