- 32bits access flag for atapi devices (word 48 of identify packet device)
- fixed io_len check on port != 0x1f0 : must be 1 byte
This commit is contained in:
parent
acba77dbf2
commit
43f7efce45
@ -1,5 +1,5 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// $Id: harddrv.cc,v 1.60 2002-07-07 18:51:49 vruppert Exp $
|
// $Id: harddrv.cc,v 1.61 2002-07-11 07:44:32 cbothamy Exp $
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Copyright (C) 2002 MandrakeSoft S.A.
|
// Copyright (C) 2002 MandrakeSoft S.A.
|
||||||
@ -128,7 +128,7 @@ bx_hard_drive_c::~bx_hard_drive_c(void)
|
|||||||
bx_hard_drive_c::init(bx_devices_c *d, bx_cmos_c *cmos)
|
bx_hard_drive_c::init(bx_devices_c *d, bx_cmos_c *cmos)
|
||||||
{
|
{
|
||||||
BX_HD_THIS devices = d;
|
BX_HD_THIS devices = d;
|
||||||
BX_DEBUG(("Init $Id: harddrv.cc,v 1.60 2002-07-07 18:51:49 vruppert Exp $"));
|
BX_DEBUG(("Init $Id: harddrv.cc,v 1.61 2002-07-11 07:44:32 cbothamy Exp $"));
|
||||||
|
|
||||||
/* HARD DRIVE 0 */
|
/* HARD DRIVE 0 */
|
||||||
|
|
||||||
@ -393,7 +393,7 @@ bx_hard_drive_c::read(Bit32u address, unsigned io_len)
|
|||||||
Bit16u value16;
|
Bit16u value16;
|
||||||
Bit32u value32;
|
Bit32u value32;
|
||||||
|
|
||||||
if (io_len==2 && address!=0x1f0) {
|
if (io_len>1 && address!=0x1f0) {
|
||||||
BX_PANIC(("non-byte IO read to %04x", (unsigned) address));
|
BX_PANIC(("non-byte IO read to %04x", (unsigned) address));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -835,7 +835,7 @@ bx_hard_drive_c::write(Bit32u address, Bit32u value, unsigned io_len)
|
|||||||
int ret;
|
int ret;
|
||||||
Boolean prev_control_reset;
|
Boolean prev_control_reset;
|
||||||
|
|
||||||
if (io_len==2 && address!=0x1f0) {
|
if (io_len>1 && address!=0x1f0) {
|
||||||
BX_PANIC(("non-byte IO write to %04x", (unsigned) address));
|
BX_PANIC(("non-byte IO write to %04x", (unsigned) address));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2149,7 +2149,7 @@ bx_hard_drive_c::identify_ATAPI_drive(unsigned drive)
|
|||||||
BX_ASSERT((27+i) == 47);
|
BX_ASSERT((27+i) == 47);
|
||||||
|
|
||||||
BX_SELECTED_HD.id_drive[47] = 0;
|
BX_SELECTED_HD.id_drive[47] = 0;
|
||||||
BX_SELECTED_HD.id_drive[48] = 0;
|
BX_SELECTED_HD.id_drive[48] = 1; // 32 bits access
|
||||||
|
|
||||||
BX_SELECTED_HD.id_drive[49] = (1 << 9); // LBA supported
|
BX_SELECTED_HD.id_drive[49] = (1 << 9); // LBA supported
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user