conio: Fix pollchar() for serial console

The check of the LSR value was inverted. This resulted in pollchar()
always claiming that there was data to be read from the serial console.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
load_linux: Add dprintf statements to aid debugging

It's useful to know why a kernel is failing to load. Sprinkle some
dprintf() statements with informative messages.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
load_linux: validate sanity of 'initrd_addr_max'

Some kernel headers have bogus 'initrd_addr_max' fields. This field
should never be zero. Set it to the old upper limit if unspecified.
Failure to set a non-zero value for the field results in a bogus
'memlimit' value, thereby unnecessarily reserving part of the memmap.

Cc: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>