[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 11/19] libqos/ahci: Add ide cmd properties
From: |
John Snow |
Subject: |
[Qemu-devel] [PATCH v2 11/19] libqos/ahci: Add ide cmd properties |
Date: |
Tue, 3 Feb 2015 16:46:31 -0500 |
Add a structure that defines some properties of various IDE commands.
These will be used to simplify the interface to the libqos AHCI calls,
lessening the redundancy of specifying and respecifying properties of
commands to various helper functions.
Signed-off-by: John Snow <address@hidden>
---
tests/libqos/ahci.c | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/tests/libqos/ahci.c b/tests/libqos/ahci.c
index 7336781..c2d16e2 100644
--- a/tests/libqos/ahci.c
+++ b/tests/libqos/ahci.c
@@ -34,6 +34,45 @@
#include "hw/pci/pci_ids.h"
#include "hw/pci/pci_regs.h"
+typedef struct AHCICommandProp {
+ uint8_t cmd; /* Command Code */
+ bool data; /* Data transfer command? */
+ bool pio;
+ bool dma;
+ bool lba28;
+ bool lba48;
+ bool read;
+ bool write;
+ bool atapi;
+ bool ncq;
+ uint64_t size; /* Static transfer size, for commands like IDENTIFY.
*/
+ uint32_t interrupts; /* Expected interrupts for this command. */
+} AHCICommandProp;
+
+AHCICommandProp ahci_command_properties[] = {
+ { .cmd = CMD_READ_PIO, .data = true, .pio = true,
+ .lba28 = true, .read = true },
+ { .cmd = CMD_WRITE_PIO, .data = true, .pio = true,
+ .lba28 = true, .write = true },
+ { .cmd = CMD_READ_PIO_EXT, .data = true, .pio = true,
+ .lba48 = true, .read = true },
+ { .cmd = CMD_WRITE_PIO_EXT, .data = true, .pio = true,
+ .lba48 = true, .write = true },
+ { .cmd = CMD_READ_DMA, .data = true, .dma = true,
+ .lba28 = true, .read = true },
+ { .cmd = CMD_WRITE_DMA, .data = true, .dma = true,
+ .lba28 = true, .write = true },
+ { .cmd = CMD_READ_DMA_EXT, .data = true, .dma = true,
+ .lba48 = true, .read = true },
+ { .cmd = CMD_WRITE_DMA_EXT, .data = true, .dma = true,
+ .lba48 = true, .write = true },
+ { .cmd = CMD_IDENTIFY, .data = true, .pio = true,
+ .size = 512, .read = true },
+ { .cmd = CMD_READ_MAX, .lba28 = true },
+ { .cmd = CMD_READ_MAX_EXT, .lba48 = true },
+ { .cmd = CMD_FLUSH_CACHE, .data = false }
+};
+
/**
* Allocate space in the guest using information in the AHCIQState object.
*/
--
1.9.3
- [Qemu-devel] [PATCH v2 01/19] libqos/ahci: Add ahci_port_select helper, (continued)
- [Qemu-devel] [PATCH v2 05/19] libqos/ahci: Add ahci_port_check_error helper, John Snow, 2015/02/03
- [Qemu-devel] [PATCH v2 04/19] libqos/ahci: Add command header helpers, John Snow, 2015/02/03
- [Qemu-devel] [PATCH v2 11/19] libqos/ahci: Add ide cmd properties,
John Snow <=
- [Qemu-devel] [PATCH v2 07/19] libqos/ahci: Add port_check_nonbusy helper, John Snow, 2015/02/03
- [Qemu-devel] [PATCH v2 14/19] libqos/ahci: add ahci command size setters, John Snow, 2015/02/03
- [Qemu-devel] [PATCH v2 09/19] qtest/ahci: Demagic ahci tests., John Snow, 2015/02/03
- [Qemu-devel] [PATCH v2 08/19] libqos/ahci: Add cmd response sanity check helpers, John Snow, 2015/02/03
- [Qemu-devel] [PATCH v2 15/19] libqos/ahci: Add ahci_guest_io, John Snow, 2015/02/03
- [Qemu-devel] [PATCH v2 06/19] libqos/ahci: Add ahci_port_check_interrupts helper, John Snow, 2015/02/03
- [Qemu-devel] [PATCH v2 13/19] libqos/ahci: add ahci command verify, John Snow, 2015/02/03