diff options
author | Blue Swirl <blauwirbel@gmail.com> | 2009-11-07 14:13:05 +0000 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2009-11-07 14:13:05 +0000 |
commit | 4a6435639781214a14f3c6054955e5ef16298d72 (patch) | |
tree | fb4d38641d83dc4bf98b56aa91a0d070db0ae425 /hw/ide/internal.h | |
parent | b55a37c981914aa8ecd21b9a2a2fb37f39b917c5 (diff) | |
download | qemu-4a6435639781214a14f3c6054955e5ef16298d72.zip qemu-4a6435639781214a14f3c6054955e5ef16298d72.tar.gz qemu-4a6435639781214a14f3c6054955e5ef16298d72.tar.bz2 |
IDE: Fix reset handling
Problem: x86 systems could not survive a few system_resets.
Clear most of IDE state when reset. Implement the missing reset handlers.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'hw/ide/internal.h')
-rw-r--r-- | hw/ide/internal.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/hw/ide/internal.h b/hw/ide/internal.h index cfae4c2..567616e 100644 --- a/hw/ide/internal.h +++ b/hw/ide/internal.h @@ -525,13 +525,14 @@ extern const VMStateDescription vmstate_ide_drive; #define VMSTATE_IDE_DRIVES(_field, _state) \ VMSTATE_STRUCT_ARRAY(_field, _state, 2, 3, vmstate_ide_drive, IDEState) -void ide_reset(IDEState *s); +void ide_bus_reset(IDEBus *bus); int64_t ide_get_sector(IDEState *s); void ide_set_sector(IDEState *s, int64_t sector_num); void ide_dma_cancel(BMDMAState *bm); void ide_dma_restart_cb(void *opaque, int running, int reason); void ide_dma_error(IDEState *s); +void ide_dma_reset(BMDMAState *bm); void ide_atapi_cmd_ok(IDEState *s); void ide_atapi_cmd_error(IDEState *s, int sense_key, int asc); |