Partially revert r203829; as it turns out what the PowerPC OFW loader did
was incorrect as further down the road cons_probe() calls malloc() so the former can't be called before init_heap() has succeed. Instead just exit to the firmware in case init_heap() fails like OF_init() does when hitting a problem as we're then likely running in a very broken environment where hardly anything can be trusted to work.
This commit is contained in:
parent
33582ce055
commit
340e331450
@ -811,15 +811,15 @@ main(int (*openfirm)(void *))
|
||||
archsw.arch_autoload = sparc64_autoload;
|
||||
archsw.arch_maphint = sparc64_maphint;
|
||||
|
||||
if (init_heap() == (vm_offset_t)-1)
|
||||
OF_exit();
|
||||
setheap((void *)heapva, (void *)(heapva + HEAPSZ));
|
||||
|
||||
/*
|
||||
* Probe for a console.
|
||||
*/
|
||||
cons_probe();
|
||||
|
||||
if (init_heap() == (vm_offset_t)-1)
|
||||
panic("%s: can't claim heap", __func__);
|
||||
setheap((void *)heapva, (void *)(heapva + HEAPSZ));
|
||||
|
||||
if ((root = OF_peer(0)) == -1)
|
||||
panic("%s: can't get root phandle", __func__);
|
||||
OF_getprop(root, "compatible", compatible, sizeof(compatible));
|
||||
|
Loading…
Reference in New Issue
Block a user