david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

Remove INT 13,4b handler; it represents an incomplete feature (CD-ROM

emulation support) for an unknown purpose, and breaks grub.
This commit is contained in:
Michael Brown 2007-07-19 11:16:05 +01:00
parent 0d9d2ccbae
commit a8111e8ab7
1 changed files with 0 additions and 35 deletions

View File

@ -317,38 +317,6 @@ static int int13_get_extended_parameters ( struct int13_drive *drive,
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
*
@ -401,9 +369,6 @@ static void int13 ( struct i386_all_regs *ix86 ) {
case INT13_GET_EXTENDED_PARAMETERS:
status = int13_get_extended_parameters ( drive, ix86 );
break;
case INT13_CDROM_STATUS_TERMINATE:
status = int13_cdrom_status_terminate ( drive, ix86 );
break;
default:
DBG ( "*** Unrecognised INT 13 ***\n" );
status = -INT13_STATUS_INVALID;