[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [6597] qemu: record devfn on block driver instance (Marcelo
From: |
Anthony Liguori |
Subject: |
[Qemu-devel] [6597] qemu: record devfn on block driver instance (Marcelo Tosatti) |
Date: |
Wed, 11 Feb 2009 15:20:32 +0000 |
Revision: 6597
http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6597
Author: aliguori
Date: 2009-02-11 15:20:29 +0000 (Wed, 11 Feb 2009)
Log Message:
-----------
qemu: record devfn on block driver instance (Marcelo Tosatti)
Record PCIDev on the BlockDriverState structure to locate for release
on hot-removal.
Signed-off-by: Marcelo Tosatti <address@hidden>
Signed-off-by: Anthony Liguori <address@hidden>
Modified Paths:
--------------
trunk/block_int.h
trunk/hw/ide.c
trunk/hw/lsi53c895a.c
trunk/hw/virtio-blk.c
Modified: trunk/block_int.h
===================================================================
--- trunk/block_int.h 2009-02-11 15:20:20 UTC (rev 6596)
+++ trunk/block_int.h 2009-02-11 15:20:29 UTC (rev 6597)
@@ -127,6 +127,7 @@
int type;
char device_name[32];
BlockDriverState *next;
+ void *private;
};
struct BlockDriverAIOCB {
Modified: trunk/hw/ide.c
===================================================================
--- trunk/hw/ide.c 2009-02-11 15:20:20 UTC (rev 6596)
+++ trunk/hw/ide.c 2009-02-11 15:20:29 UTC (rev 6597)
@@ -28,6 +28,7 @@
#include "scsi-disk.h"
#include "pcmcia.h"
#include "block.h"
+#include "block_int.h"
#include "qemu-timer.h"
#include "sysemu.h"
#include "ppc_mac.h"
@@ -3352,6 +3353,7 @@
{
PCIIDEState *d;
uint8_t *pci_conf;
+ int i;
/* register a function 1 of PIIX3 */
d = (PCIIDEState *)pci_register_device(bus, "PIIX3 IDE",
@@ -3378,6 +3380,10 @@
ide_init_ioport(&d->ide_if[0], 0x1f0, 0x3f6);
ide_init_ioport(&d->ide_if[2], 0x170, 0x376);
+ for (i = 0; i < 4; i++)
+ if (hd_table[i])
+ hd_table[i]->private = &d->dev;
+
register_savevm("ide", 0, 2, pci_ide_save, pci_ide_load, d);
}
Modified: trunk/hw/lsi53c895a.c
===================================================================
--- trunk/hw/lsi53c895a.c 2009-02-11 15:20:20 UTC (rev 6596)
+++ trunk/hw/lsi53c895a.c 2009-02-11 15:20:29 UTC (rev 6597)
@@ -13,6 +13,7 @@
#include "hw.h"
#include "pci.h"
#include "scsi-disk.h"
+#include "block_int.h"
//#define DEBUG_LSI
//#define DEBUG_LSI_REG
@@ -1958,6 +1959,7 @@
s->scsi_dev[id] = scsi_generic_init(bd, 1, lsi_command_complete, s);
if (s->scsi_dev[id] == NULL)
s->scsi_dev[id] = scsi_disk_init(bd, 1, lsi_command_complete, s);
+ bd->private = &s->pci_dev;
}
void *lsi_scsi_init(PCIBus *bus, int devfn)
Modified: trunk/hw/virtio-blk.c
===================================================================
--- trunk/hw/virtio-blk.c 2009-02-11 15:20:20 UTC (rev 6596)
+++ trunk/hw/virtio-blk.c 2009-02-11 15:20:29 UTC (rev 6597)
@@ -314,6 +314,7 @@
s->vdev.reset = virtio_blk_reset;
s->bs = bs;
s->rq = NULL;
+ bs->private = &s->vdev.pci_dev;
bdrv_guess_geometry(s->bs, &cylinders, &heads, &secs);
bdrv_set_geometry_hint(s->bs, cylinders, heads, secs);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [6597] qemu: record devfn on block driver instance (Marcelo Tosatti),
Anthony Liguori <=