load_linux: Don't use size heuristic for non-relocatable kernels
For non-relocatable kernels, it really makes no sense to estimate how
much space the kernel is going to need, as if we fail, there is really
nothing we can do about it. Furthermore, it is actively wrong for
zImage kernels (which aren't decompressed in place) and for non-Linux
kernels.
Additionally, tweak the code for assigning an address to the command
line to handle a few more corner cases correctly, be simpler, and not
need to build the memory map again since we already are doing that
elsewhere.
Reported-and-tested-by: Christian Hesse <list@eworm.de>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>