summary refs log tree commit diff stats
path: root/hw/ide/internal.h
diff options
context:
space:
mode:
authorAnthony Liguori <aliguori@us.ibm.com>2010-07-06 10:48:01 -0500
committerAnthony Liguori <aliguori@us.ibm.com>2010-07-06 10:48:01 -0500
commit5efb397f877fc3002c8bc764f4656f4761bd965d (patch)
tree4ef1809f16a7f30f237840cdbfc5521afd4e8316 /hw/ide/internal.h
parentfb787f81e749fde8c74548f9db1472eb321b9a0c (diff)
parent33b1db1c8888b77e06c720ebef0482ed598eb384 (diff)
downloadfocaccia-qemu-5efb397f877fc3002c8bc764f4656f4761bd965d.tar.gz
focaccia-qemu-5efb397f877fc3002c8bc764f4656f4761bd965d.zip
Merge remote branch 'kwolf/for-anthony' into staging
Diffstat (limited to 'hw/ide/internal.h')
-rw-r--r--hw/ide/internal.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/hw/ide/internal.h b/hw/ide/internal.h
index 0125a9f0b9..416554324c 100644
--- a/hw/ide/internal.h
+++ b/hw/ide/internal.h
@@ -362,6 +362,8 @@ typedef struct BMDMAState BMDMAState;
 #define SMART_DISABLE         0xd9
 #define SMART_STATUS          0xda
 
+typedef enum { IDE_HD, IDE_CD, IDE_CFATA } IDEDriveKind;
+
 typedef void EndTransferFunc(IDEState *);
 
 /* NOTE: IDEState represents in fact one drive */
@@ -369,8 +371,7 @@ struct IDEState {
     IDEBus *bus;
     uint8_t unit;
     /* ide config */
-    int is_cdrom;
-    int is_cf;
+    IDEDriveKind drive_kind;
     int cylinders, heads, sectors;
     int64_t nb_sectors;
     int mult_sectors;
@@ -555,8 +556,8 @@ uint32_t ide_data_readw(void *opaque, uint32_t addr);
 void ide_data_writel(void *opaque, uint32_t addr, uint32_t val);
 uint32_t ide_data_readl(void *opaque, uint32_t addr);
 
-void ide_init_drive(IDEState *s, BlockDriverState *bs,
-                    const char *version, const char *serial);
+int ide_init_drive(IDEState *s, BlockDriverState *bs,
+                   const char *version, const char *serial);
 void ide_init2(IDEBus *bus, qemu_irq irq);
 void ide_init2_with_non_qdev_drives(IDEBus *bus, DriveInfo *hd0,
                                     DriveInfo *hd1, qemu_irq irq);