[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 06/14] ide: Split ide_init1() off ide_init2()
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH 06/14] ide: Split ide_init1() off ide_init2() |
Date: |
Fri, 28 May 2010 15:38:47 +0200 |
Signed-off-by: Markus Armbruster <address@hidden>
---
hw/ide/core.c | 32 +++++++++++++++++---------------
1 files changed, 17 insertions(+), 15 deletions(-)
diff --git a/hw/ide/core.c b/hw/ide/core.c
index c3334b1..443ff10 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -2633,27 +2633,29 @@ void ide_init_drive(IDEState *s, DriveInfo *dinfo,
const char *version)
ide_reset(s);
}
+static void ide_init1(IDEBus *bus, int unit, DriveInfo *dinfo)
+{
+ static int drive_serial = 1;
+ IDEState *s = &bus->ifs[unit];
+
+ s->bus = bus;
+ s->unit = unit;
+ s->drive_serial = drive_serial++;
+ s->io_buffer = qemu_blockalign(s->bs, IDE_DMA_BUF_SECTORS*512 + 4);
+ s->io_buffer_total_len = IDE_DMA_BUF_SECTORS*512 + 4;
+ s->smart_selftest_data = qemu_blockalign(s->bs, 512);
+ s->sector_write_timer = qemu_new_timer(vm_clock,
+ ide_sector_write_timer_cb, s);
+ ide_init_drive(s, dinfo, NULL);
+}
+
void ide_init2(IDEBus *bus, DriveInfo *hd0, DriveInfo *hd1,
qemu_irq irq)
{
- IDEState *s;
- static int drive_serial = 1;
int i;
for(i = 0; i < 2; i++) {
- s = bus->ifs + i;
- s->bus = bus;
- s->unit = i;
- s->drive_serial = drive_serial++;
- s->io_buffer = qemu_blockalign(s->bs, IDE_DMA_BUF_SECTORS*512 + 4);
- s->io_buffer_total_len = IDE_DMA_BUF_SECTORS*512 + 4;
- s->smart_selftest_data = qemu_blockalign(s->bs, 512);
- s->sector_write_timer = qemu_new_timer(vm_clock,
- ide_sector_write_timer_cb, s);
- if (i == 0)
- ide_init_drive(s, hd0, NULL);
- if (i == 1)
- ide_init_drive(s, hd1, NULL);
+ ide_init1(bus, i, i == 0 ? hd0 : hd1);
}
bus->irq = irq;
}
--
1.6.6.1
- [Qemu-devel] [PATCH 00/14] Block-related fixes and cleanups, Markus Armbruster, 2010/05/28
- [Qemu-devel] [PATCH 09/14] qdev: New qdev_prop_set_string(), Markus Armbruster, 2010/05/28
- [Qemu-devel] [PATCH 06/14] ide: Split ide_init1() off ide_init2(),
Markus Armbruster <=
- [Qemu-devel] [PATCH 08/14] ide: Split non-qdev code off ide_init2(), Markus Armbruster, 2010/05/28
- [Qemu-devel] [PATCH 10/14] qdev: Don't leak string property value on hot unplug, Markus Armbruster, 2010/05/28
- [Qemu-devel] [PATCH 07/14] ide: Change ide_init_drive() to require valid dinfo argument, Markus Armbruster, 2010/05/28
- [Qemu-devel] [PATCH 05/14] ide: Remove redundant IDEState member conf, Markus Armbruster, 2010/05/28
- [Qemu-devel] [PATCH 11/14] ide: Turn drive serial into a qdev property ide-drive.serial, Markus Armbruster, 2010/05/28
- [Qemu-devel] [PATCH 14/14] scsi: Fix info qtree for scsi-disk.ver, Markus Armbruster, 2010/05/28
- [Qemu-devel] [PATCH 13/14] scsi: Turn drive serial into a qdev property scsi-disk.serial, Markus Armbruster, 2010/05/28
- [Qemu-devel] [PATCH 02/14] blockdev: Belatedly remove driveopts, Markus Armbruster, 2010/05/28