mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-24 03:59:52 +00:00
ide: code motion
Shuffle the reset function upwards. Signed-off-by: John Snow <jsnow@redhat.com> Reported-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 1453225191-11871-3-git-send-email-jsnow@redhat.com
This commit is contained in:
parent
266e77812c
commit
4590355bb7
116
hw/ide/core.c
116
hw/ide/core.c
@ -1175,6 +1175,64 @@ void ide_ioport_write(void *opaque, uint32_t addr, uint32_t val)
|
||||
}
|
||||
}
|
||||
|
||||
static void ide_reset(IDEState *s)
|
||||
{
|
||||
#ifdef DEBUG_IDE
|
||||
printf("ide: reset\n");
|
||||
#endif
|
||||
|
||||
if (s->pio_aiocb) {
|
||||
blk_aio_cancel(s->pio_aiocb);
|
||||
s->pio_aiocb = NULL;
|
||||
}
|
||||
|
||||
if (s->drive_kind == IDE_CFATA)
|
||||
s->mult_sectors = 0;
|
||||
else
|
||||
s->mult_sectors = MAX_MULT_SECTORS;
|
||||
/* ide regs */
|
||||
s->feature = 0;
|
||||
s->error = 0;
|
||||
s->nsector = 0;
|
||||
s->sector = 0;
|
||||
s->lcyl = 0;
|
||||
s->hcyl = 0;
|
||||
|
||||
/* lba48 */
|
||||
s->hob_feature = 0;
|
||||
s->hob_sector = 0;
|
||||
s->hob_nsector = 0;
|
||||
s->hob_lcyl = 0;
|
||||
s->hob_hcyl = 0;
|
||||
|
||||
s->select = 0xa0;
|
||||
s->status = READY_STAT | SEEK_STAT;
|
||||
|
||||
s->lba48 = 0;
|
||||
|
||||
/* ATAPI specific */
|
||||
s->sense_key = 0;
|
||||
s->asc = 0;
|
||||
s->cdrom_changed = 0;
|
||||
s->packet_transfer_size = 0;
|
||||
s->elementary_transfer_size = 0;
|
||||
s->io_buffer_index = 0;
|
||||
s->cd_sector_size = 0;
|
||||
s->atapi_dma = 0;
|
||||
s->tray_locked = 0;
|
||||
s->tray_open = 0;
|
||||
/* ATA DMA state */
|
||||
s->io_buffer_size = 0;
|
||||
s->req_nb_sectors = 0;
|
||||
|
||||
ide_set_signature(s);
|
||||
/* init the transfer handler so that 0xffff is returned on data
|
||||
accesses */
|
||||
s->end_transfer_func = ide_dummy_transfer_stop;
|
||||
ide_dummy_transfer_stop(s);
|
||||
s->media_changed = 0;
|
||||
}
|
||||
|
||||
static bool cmd_nop(IDEState *s, uint8_t cmd)
|
||||
{
|
||||
return true;
|
||||
@ -2183,64 +2241,6 @@ static void ide_dummy_transfer_stop(IDEState *s)
|
||||
s->io_buffer[3] = 0xff;
|
||||
}
|
||||
|
||||
static void ide_reset(IDEState *s)
|
||||
{
|
||||
#ifdef DEBUG_IDE
|
||||
printf("ide: reset\n");
|
||||
#endif
|
||||
|
||||
if (s->pio_aiocb) {
|
||||
blk_aio_cancel(s->pio_aiocb);
|
||||
s->pio_aiocb = NULL;
|
||||
}
|
||||
|
||||
if (s->drive_kind == IDE_CFATA)
|
||||
s->mult_sectors = 0;
|
||||
else
|
||||
s->mult_sectors = MAX_MULT_SECTORS;
|
||||
/* ide regs */
|
||||
s->feature = 0;
|
||||
s->error = 0;
|
||||
s->nsector = 0;
|
||||
s->sector = 0;
|
||||
s->lcyl = 0;
|
||||
s->hcyl = 0;
|
||||
|
||||
/* lba48 */
|
||||
s->hob_feature = 0;
|
||||
s->hob_sector = 0;
|
||||
s->hob_nsector = 0;
|
||||
s->hob_lcyl = 0;
|
||||
s->hob_hcyl = 0;
|
||||
|
||||
s->select = 0xa0;
|
||||
s->status = READY_STAT | SEEK_STAT;
|
||||
|
||||
s->lba48 = 0;
|
||||
|
||||
/* ATAPI specific */
|
||||
s->sense_key = 0;
|
||||
s->asc = 0;
|
||||
s->cdrom_changed = 0;
|
||||
s->packet_transfer_size = 0;
|
||||
s->elementary_transfer_size = 0;
|
||||
s->io_buffer_index = 0;
|
||||
s->cd_sector_size = 0;
|
||||
s->atapi_dma = 0;
|
||||
s->tray_locked = 0;
|
||||
s->tray_open = 0;
|
||||
/* ATA DMA state */
|
||||
s->io_buffer_size = 0;
|
||||
s->req_nb_sectors = 0;
|
||||
|
||||
ide_set_signature(s);
|
||||
/* init the transfer handler so that 0xffff is returned on data
|
||||
accesses */
|
||||
s->end_transfer_func = ide_dummy_transfer_stop;
|
||||
ide_dummy_transfer_stop(s);
|
||||
s->media_changed = 0;
|
||||
}
|
||||
|
||||
void ide_bus_reset(IDEBus *bus)
|
||||
{
|
||||
bus->unit = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user