mirror of https://github.com/ipxe/ipxe.git
Remove INT 13,4b handler; it represents an incomplete feature (CD-ROM
emulation support) for an unknown purpose, and breaks grub.pull/1/head
parent
0d9d2ccbae
commit
a8111e8ab7
|
@ -317,38 +317,6 @@ static int int13_get_extended_parameters ( struct int13_drive *drive,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* INT 13, 4b - Get CD-ROM status / terminate emulation
|
|
||||||
*
|
|
||||||
* @v drive Emulated drive
|
|
||||||
* @v ds:si El Torito specification packet to fill in
|
|
||||||
* @ret status Status code
|
|
||||||
*/
|
|
||||||
static int int13_cdrom_status_terminate ( struct int13_drive *drive,
|
|
||||||
struct i386_all_regs *ix86 ) {
|
|
||||||
struct int13_cdrom_specification specification;
|
|
||||||
unsigned int max_cylinder = drive->cylinders - 1;
|
|
||||||
unsigned int max_head = drive->heads - 1;
|
|
||||||
unsigned int max_sector = drive->sectors_per_track; /* sic */
|
|
||||||
|
|
||||||
DBG ( "Get CD-ROM emulation parameters to %04x:%04x\n",
|
|
||||||
ix86->segs.ds, ix86->regs.di );
|
|
||||||
|
|
||||||
memset ( &specification, 0, sizeof ( specification ) );
|
|
||||||
specification.size = sizeof ( specification );
|
|
||||||
specification.drive = drive->drive;
|
|
||||||
specification.cyl = ( max_cylinder & 0xff );
|
|
||||||
specification.cyl_sector = ( ( ( max_cylinder >> 8 ) << 6 ) |
|
|
||||||
max_sector );
|
|
||||||
specification.head = max_head;
|
|
||||||
|
|
||||||
DBG_HD ( &specification, sizeof ( specification ) );
|
|
||||||
|
|
||||||
copy_to_real ( ix86->segs.ds, ix86->regs.si, &specification,
|
|
||||||
sizeof ( specification ) );
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* INT 13 handler
|
* INT 13 handler
|
||||||
*
|
*
|
||||||
|
@ -401,9 +369,6 @@ static void int13 ( struct i386_all_regs *ix86 ) {
|
||||||
case INT13_GET_EXTENDED_PARAMETERS:
|
case INT13_GET_EXTENDED_PARAMETERS:
|
||||||
status = int13_get_extended_parameters ( drive, ix86 );
|
status = int13_get_extended_parameters ( drive, ix86 );
|
||||||
break;
|
break;
|
||||||
case INT13_CDROM_STATUS_TERMINATE:
|
|
||||||
status = int13_cdrom_status_terminate ( drive, ix86 );
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
DBG ( "*** Unrecognised INT 13 ***\n" );
|
DBG ( "*** Unrecognised INT 13 ***\n" );
|
||||||
status = -INT13_STATUS_INVALID;
|
status = -INT13_STATUS_INVALID;
|
||||||
|
|
Loading…
Reference in New Issue