[int13] Test correct return status from INT 13 calls
authorMichael Brown <mcb30@ipxe.org>
Thu, 26 Jan 2017 09:45:19 +0000 (09:45 +0000)
committerMichael Brown <mcb30@ipxe.org>
Thu, 26 Jan 2017 09:45:19 +0000 (09:45 +0000)
commitf8cf3ceb0bfc3e88ae32702e90b47439be0deee4
tree9ca1fa8dd2745aeb1903f54a05047fbcc0014139
parentfcf77515650272b9b51e18c115c66f48d33481b0
[int13] Test correct return status from INT 13 calls

INT 13 calls return a status value via %ah, with CF set if %ah is
non-zero (indicating an error).  Our wrappers zero the whole of %ax if
CF is clear, to allow C code (which has no easy access to CF) to
simply test for a non-zero status to detect an error.

The current code assigns the returned status to a uint8_t, effectively
testing %al rather than %ah.  Fix by treating the returned status as a
uint16_t instead.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/arch/x86/interface/pcbios/int13.c