mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-09-08 16:07:39 -06:00
pc-bios/s390-ccw: Move SCSI block factor to outer read
Simple refactoring so that the blk_factor adjustment is moved into virtio_scsi_read_many routine, in preparation for another change. Signed-off-by: Eric Farman <farman@linux.vnet.ibm.com> Message-Id: <20170510155359.32727-3-farman@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
This commit is contained in:
parent
77c76392b0
commit
98d3c52435
1 changed files with 8 additions and 6 deletions
|
@ -142,14 +142,13 @@ static bool scsi_report_luns(VDev *vdev, void *data, uint32_t data_size)
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool scsi_read_10(VDev *vdev,
|
static bool scsi_read_10(VDev *vdev,
|
||||||
ulong sector, int sectors, void *data)
|
ulong sector, int sectors, void *data,
|
||||||
|
unsigned int data_size)
|
||||||
{
|
{
|
||||||
int f = vdev->blk_factor;
|
|
||||||
unsigned int data_size = sectors * virtio_get_block_size() * f;
|
|
||||||
ScsiCdbRead10 cdb = {
|
ScsiCdbRead10 cdb = {
|
||||||
.command = 0x28,
|
.command = 0x28,
|
||||||
.lba = sector * f,
|
.lba = sector,
|
||||||
.xfer_length = sectors * f,
|
.xfer_length = sectors,
|
||||||
};
|
};
|
||||||
VirtioCmd read_10[] = {
|
VirtioCmd read_10[] = {
|
||||||
{ &req, sizeof(req), VRING_DESC_F_NEXT },
|
{ &req, sizeof(req), VRING_DESC_F_NEXT },
|
||||||
|
@ -255,7 +254,10 @@ static void virtio_scsi_locate_device(VDev *vdev)
|
||||||
int virtio_scsi_read_many(VDev *vdev,
|
int virtio_scsi_read_many(VDev *vdev,
|
||||||
ulong sector, void *load_addr, int sec_num)
|
ulong sector, void *load_addr, int sec_num)
|
||||||
{
|
{
|
||||||
if (!scsi_read_10(vdev, sector, sec_num, load_addr)) {
|
int f = vdev->blk_factor;
|
||||||
|
unsigned int data_size = sec_num * virtio_get_block_size() * f;
|
||||||
|
|
||||||
|
if (!scsi_read_10(vdev, sector * f, sec_num * f, load_addr, data_size)) {
|
||||||
virtio_scsi_verify_response(&resp, "virtio-scsi:read_many");
|
virtio_scsi_verify_response(&resp, "virtio-scsi:read_many");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue