* @ret rc Return status code
*/
static int int13_load_mbr ( unsigned int drive, struct segoff *address ) {
- uint8_t status;
+ uint16_t status;
int discard_b, discard_c, discard_d;
uint16_t magic;
: "a" ( 0x0201 ), "b" ( *address ),
"c" ( 1 ), "d" ( drive ) );
if ( status ) {
- DBG ( "INT13 drive %02x could not read MBR (status %02x)\n",
+ DBG ( "INT13 drive %02x could not read MBR (status %04x)\n",
drive, status );
return -EIO;
}
struct eltorito_validation_entry valid;
struct eltorito_boot_entry boot;
} __attribute__ (( packed )) catalog;
- uint8_t status;
+ uint16_t status;
/* Use INT 13, 4d to read the boot catalog */
__asm__ __volatile__ ( REAL_CODE ( "stc\n\t"
"S" ( __from_data16 ( &eltorito_cmd ) ) );
if ( status ) {
DBG ( "INT13 drive %02x could not read El Torito boot catalog "
- "(status %02x)\n", drive, status );
+ "(status %04x)\n", drive, status );
return -EIO;
}
copy_from_user ( &catalog, phys_to_user ( eltorito_cmd.buffer ), 0,
"S" ( __from_data16 ( &eltorito_address ) ) );
if ( status ) {
DBG ( "INT13 drive %02x could not read El Torito boot image "
- "(status %02x)\n", drive, status );
+ "(status %04x)\n", drive, status );
return -EIO;
}