aboutsummaryrefslogtreecommitdiff
path: root/include/hw/ide/internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/hw/ide/internal.h')
-rw-r--r--include/hw/ide/internal.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/include/hw/ide/internal.h b/include/hw/ide/internal.h
index 482a9512be..180e00e32c 100644
--- a/include/hw/ide/internal.h
+++ b/include/hw/ide/internal.h
@@ -11,12 +11,10 @@
#include "sysemu/dma.h"
#include "sysemu/sysemu.h"
#include "hw/block/block.h"
-#include "block/scsi.h"
+#include "scsi/constants.h"
+#include "qapi/error.h"
/* debug IDE devices */
-//#define DEBUG_IDE
-//#define DEBUG_IDE_ATAPI
-//#define DEBUG_AIO
#define USE_DMA_CDROM
typedef struct IDEBus IDEBus;
@@ -335,12 +333,16 @@ struct unreported_events {
};
enum ide_dma_cmd {
- IDE_DMA_READ,
+ IDE_DMA__BEGIN = 0,
+ IDE_DMA_READ = IDE_DMA__BEGIN,
IDE_DMA_WRITE,
IDE_DMA_TRIM,
IDE_DMA_ATAPI,
+ IDE_DMA__COUNT
};
+extern const char *IDE_DMA_CMD_lookup[IDE_DMA__COUNT];
+
#define ide_cmd_is_read(s) \
((s)->dma_cmd == IDE_DMA_READ)
@@ -495,7 +497,7 @@ struct IDEBus {
typedef struct IDEDeviceClass {
DeviceClass parent_class;
- int (*init)(IDEDevice *dev);
+ void (*realize)(IDEDevice *dev, Error **errp);
} IDEDeviceClass;
struct IDEDevice {
@@ -605,7 +607,7 @@ int ide_init_drive(IDEState *s, BlockBackend *blk, IDEDriveKind kind,
const char *version, const char *serial, const char *model,
uint64_t wwn,
uint32_t cylinders, uint32_t heads, uint32_t secs,
- int chs_trans);
+ int chs_trans, Error **errp);
void ide_init2(IDEBus *bus, qemu_irq irq);
void ide_exit(IDEState *s);
void ide_init_ioport(IDEBus *bus, ISADevice *isa, int iobase, int iobase2);