[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH 04/11] ide: move transfer_start after variable m
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] Re: [PATCH 04/11] ide: move transfer_start after variable modification |
Date: |
Tue, 14 Dec 2010 17:21:18 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.15) Gecko/20101027 Fedora/3.0.10-1.fc12 Thunderbird/3.0.10 |
Am 14.12.2010 01:34, schrieb Alexander Graf:
> 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,
I think this should be s->io_buffer + s->io_buffer_index - size.
Kevin
> + 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);
- [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, 2010/12/13
- [Qemu-devel] Re: [PATCH 04/11] ide: move transfer_start after variable modification,
Kevin Wolf <=
- [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