[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 04/11] ide: move transfer_start after variable modif
From: |
Alexander Graf |
Subject: |
[Qemu-devel] [PATCH 04/11] ide: move transfer_start after variable modification |
Date: |
Tue, 14 Dec 2010 01:34:36 +0100 |
We hook into transfer_start and immediately call the end function
for ahci. This means that everything needs to be in place for the
end function when we start the transfer, so let's move the function
down to where all state is in place.
Signed-off-by: Alexander Graf <address@hidden>
---
hw/ide/core.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/hw/ide/core.c b/hw/ide/core.c
index 2d0ad56..04e463a 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -814,11 +814,11 @@ static void ide_atapi_cmd_reply_end(IDEState *s)
size = s->cd_sector_size - s->io_buffer_index;
if (size > s->elementary_transfer_size)
size = s->elementary_transfer_size;
- ide_transfer_start(s, s->io_buffer + s->io_buffer_index,
- size, ide_atapi_cmd_reply_end);
s->packet_transfer_size -= size;
s->elementary_transfer_size -= size;
s->io_buffer_index += size;
+ ide_transfer_start(s, s->io_buffer + s->io_buffer_index + size,
+ size, ide_atapi_cmd_reply_end);
} else {
/* a new transfer is needed */
s->nsector = (s->nsector & ~7) | ATAPI_INT_REASON_IO;
@@ -843,11 +843,11 @@ static void ide_atapi_cmd_reply_end(IDEState *s)
if (size > (s->cd_sector_size - s->io_buffer_index))
size = (s->cd_sector_size - s->io_buffer_index);
}
- ide_transfer_start(s, s->io_buffer + s->io_buffer_index,
- size, ide_atapi_cmd_reply_end);
s->packet_transfer_size -= size;
s->elementary_transfer_size -= size;
s->io_buffer_index += size;
+ ide_transfer_start(s, s->io_buffer + s->io_buffer_index - size,
+ size, ide_atapi_cmd_reply_end);
ide_set_irq(s->bus);
#ifdef DEBUG_IDE_ATAPI
printf("status=0x%x\n", s->status);
--
1.6.0.2
- [Qemu-devel] [PATCH 00/11] AHCI emulation support v9, Alexander Graf, 2010/12/13
- [Qemu-devel] [PATCH 04/11] ide: move transfer_start after variable modification,
Alexander Graf <=
- [Qemu-devel] [PATCH 07/11] pci: add ich9 pci id, Alexander Graf, 2010/12/13
- [Qemu-devel] [PATCH 05/11] ide: add ncq identify data for ahci sata drives, Alexander Graf, 2010/12/13
- [Qemu-devel] [PATCH 01/11] ide: split ide command interpretation off, Alexander Graf, 2010/12/13
- [Qemu-devel] [PATCH 06/11] pci: add storage class for sata, Alexander Graf, 2010/12/13
- [Qemu-devel] [PATCH 11/11] ahci: set SATA Mode Select, Alexander Graf, 2010/12/13
- [Qemu-devel] [PATCH 10/11] config: add ahci for pci capable machines, Alexander Graf, 2010/12/13
- [Qemu-devel] [PATCH 09/11] config: move ide core and pci to pci.mak, Alexander Graf, 2010/12/13
- [Qemu-devel] [PATCH 03/11] ide: Split out BMDMA code from ATA core, Alexander Graf, 2010/12/13