Skip to content

Commit

Permalink
[int13] Fix number of sectors returned by INT 13,15
Browse files Browse the repository at this point in the history
INT 13,15 should return the number of sectors, not the number of
cylinders.
  • Loading branch information
Michael Brown committed Nov 18, 2009
1 parent 5bee2a2 commit 89de3e2
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions src/arch/i386/interface/pcbios/int13.c
Expand Up @@ -207,9 +207,13 @@ static int int13_get_parameters ( struct int13_drive *drive,
*/
static int int13_get_disk_type ( struct int13_drive *drive,
struct i386_all_regs *ix86 ) {
uint32_t blocks;

DBG ( "Get disk type\n" );
ix86->regs.cx = ( drive->cylinders >> 16 );
ix86->regs.dx = ( drive->cylinders & 0xffff );
blocks = ( ( drive->blockdev->blocks <= 0xffffffffUL ) ?
drive->blockdev->blocks : 0xffffffffUL );
ix86->regs.cx = ( blocks >> 16 );
ix86->regs.dx = ( blocks & 0xffff );
return INT13_DISK_TYPE_HDD;
}

Expand Down

0 comments on commit 89de3e2

Please sign in to comment.