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
*
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;