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>tags/v1.20.1
|
|
||
1751 |
|
1751 |
|
1752 |
|
1752 |
|
1753 |
|
1753 |
|
1754 |
|
|
|
|
1754 |
|
|
1755 |
|
1755 |
|
1756 |
|
1756 |
|
1757 |
|
1757 |
|
|
|
||
1775 |
|
1775 |
|
1776 |
|
1776 |
|
1777 |
|
1777 |
|
1778 |
|
|
|
|
1778 |
|
|
1779 |
|
1779 |
|
1780 |
|
1780 |
|
1781 |
|
1781 |
|
|
|
||
1818 |
|
1818 |
|
1819 |
|
1819 |
|
1820 |
|
1820 |
|
1821 |
|
|
|
|
1821 |
|
|
1822 |
|
1822 |
|
1823 |
|
1823 |
|
1824 |
|
1824 |
|
|
|
||
1833 |
|
1833 |
|
1834 |
|
1834 |
|
1835 |
|
1835 |
|
1836 |
|
|
|
|
1836 |
|
|
1837 |
|
1837 |
|
1838 |
|
1838 |
|
1839 |
|
1839 |
|
|
|
||
1880 |
|
1880 |
|
1881 |
|
1881 |
|
1882 |
|
1882 |
|
1883 |
|
|
|
|
1883 |
|
|
1884 |
|
1884 |
|
1885 |
|
1885 |
|
1886 |
|
1886 |
|