qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [Qemu-ppc] macio ide question/bug report


From: BALATON Zoltan
Subject: Re: [Qemu-devel] [Qemu-ppc] macio ide question/bug report
Date: Thu, 15 May 2014 22:26:27 +0200 (CEST)
User-agent: Alpine 2.02 (LMD 1266 2009-07-14)

On Thu, 15 May 2014, BALATON Zoltan wrote:
confusing.) Do you think that replacing io->len in your patch with s->io_buffer_size would be the correct thing to do?

Probably that's not enough. I've tried it and then it gets to here:

end of non-IO ATAPI DMA transfer
122         if (!s->packet_transfer_size) {
(gdb) p s->packet_transfer_size
$1 = 0
(gdb) n
123             MACIO_DPRINTF("end of transfer\n");
end of transfer
124             ide_atapi_cmd_ok(s);
125             m->dma_active = false;
128         if (io->len == 0) {
(gdb) p io->len
$2 = 804
(gdb) l
123             MACIO_DPRINTF("end of transfer\n");
124             ide_atapi_cmd_ok(s);
125             m->dma_active = false;
126         }
127
128         if (io->len == 0) {
129             MACIO_DPRINTF("end of DMA\n");
130             goto done;
131         }
132
133         /* launch next transfer */
134
135         /* handle unaligned accesses first, get them over with and only do 
the
136            remaining bulk transfer using our async DMA helpers */
137         unaligned = io->len & 0x1ff;
138         if (unaligned) {
139             int sector_num = (s->lba << 2) + (s->io_buffer_index >> 9);
140             int nsector = io->len >> 9;
141
142             MACIO_DPRINTF("precopying unaligned %d bytes to %#" HWADDR_PRIx 
"\n",
(gdb) c
Continuing.
precopying unaligned 292 bytes to 0xe4f50c
io->len = 0x200
set remainder to: -20
sector_num=-4 size=0, cmd_cmd=0
atapi_cmd_error: sense=0x5 asc=0x21
done DMA
DBDMA: dbdma_end

Regards,
BALATON Zoltan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]