--On 10 July 2013 01:04:35 +0800 Saptarshi Sen <[email protected]>
wrote:
the sector reads are not 512 bytes aligned.
I am gathering the stats from hw/ide/core.c in the function
ide_dma_cb. variable :sector_num
Should not these disk reads be 512 bytes aligned.
As illustrated by the code below, sector_num is the number of the sector.
The byte offset is sector_num << 9. As sector_num is an integer, this makes
all the reads 512 byte aligned as far as I can see.
n = s->io_buffer_size >> 9;
sector_num = ide_get_sector(s);
if (n > 0) {
dma_buf_commit(s);
sector_num += n;
ide_set_sector(s, sector_num);
s->nsector -= n;
}
--
Alex Bligh