qemu/tests/libqos
John Snow 64a5a272e3 libqos/ahci: add ahci command functions
This patch adds the AHCICommand structure, and a set of functions to
operate on the structure.

ahci_command_create - Initialize and create a new AHCICommand in memory
ahci_command_free - Destroy this object.
ahci_command_set_buffer - Set where the guest memory DMA buffer is.
ahci_command_commit - Write this command to the AHCI HBA.
ahci_command_issue - Issue the committed command synchronously.
ahci_command_issue_async - Issue the committed command asynchronously.
ahci_command_wait - Wait for an asynchronous command to finish.
ahci_command_slot - Get the number of the command slot we committed to.

Helpers:
size_to_prdtl       - Calculate the required minimum PRDTL size from
                      a buffer size.
ahci_command_find   - Given an ATA command mnemonic, look it up in the
                      properties table to obtain info about the command.
command_header_init - Initialize the command header with sane values.
command_table_init  - Initialize the command table with sane values.

[Peter Maydell <peter.maydell@linaro.org> reported the following clang
warning:

  tests/libqos/ahci.c:598:3: warning: redefinition
  of typedef 'AHCICommand' is a C11 feature
      [-Wtypedef-redefinition]
  } AHCICommand;

I have replaced typedef struct ... AHCICommand; with struct ... ;
--Stefan]

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: John Snow <jsnow@redhat.com>
Message-id: 1423158090-25580-13-git-send-email-jsnow@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2015-02-16 15:07:17 +00:00
..
ahci.c libqos/ahci: add ahci command functions 2015-02-16 15:07:17 +00:00
ahci.h libqos/ahci: add ahci command functions 2015-02-16 15:07:17 +00:00
fw_cfg.c libqos: Generalize I/O-mapped fw_cfg 2013-07-18 13:27:47 -05:00
fw_cfg.h libqos: Generalize I/O-mapped fw_cfg 2013-07-18 13:27:47 -05:00
i2c-omap.c libqos: Relocate I2C files 2013-05-03 12:03:14 -05:00
i2c.c libqos: Relocate I2C files 2013-05-03 12:03:14 -05:00
i2c.h libqos: Relocate I2C files 2013-05-03 12:03:14 -05:00
libqos-pc.c libqos: add pc specific interface 2015-02-16 14:40:55 +00:00
libqos-pc.h libqos: add pc specific interface 2015-02-16 14:40:55 +00:00
libqos.c libqos: add pc specific interface 2015-02-16 14:40:55 +00:00
libqos.h libqos: add pc specific interface 2015-02-16 14:40:55 +00:00
malloc-pc.c libqos: Update QGuestAllocator to be opaque 2015-02-16 14:38:55 +00:00
malloc-pc.h libqos: Convert malloc-pc allocator to a generic allocator 2015-01-13 11:47:57 +00:00
malloc.c libqos: Update QGuestAllocator to be opaque 2015-02-16 14:38:55 +00:00
malloc.h libqos: Update QGuestAllocator to be opaque 2015-02-16 14:38:55 +00:00
pci-pc.c libqos: Add qpci_plug_device_test() and qpci_unplug_acpi_device_test() 2014-10-15 05:03:12 +02:00
pci-pc.h libqos: Fixes a small memory leak. 2014-08-15 18:03:13 +01:00
pci.c ahci: add test_pci_enable to ahci-test. 2014-09-22 11:39:40 +01:00
pci.h libqos: Add qpci_plug_device_test() and qpci_unplug_acpi_device_test() 2014-10-15 05:03:12 +02:00
usb.c tests: usb: Generic usb device hotplug 2014-10-15 05:03:13 +02:00
usb.h tests: usb: Generic usb device hotplug 2014-10-15 05:03:13 +02:00
virtio-pci.c libqos: Added EVENT_IDX support 2014-09-08 11:12:43 +01:00
virtio-pci.h libqos: Added MSI-X support 2014-09-08 11:12:43 +01:00
virtio.c libqos: use microseconds instead of iterations for virtio timeout 2014-09-29 17:31:11 +01:00
virtio.h libqos: use microseconds instead of iterations for virtio timeout 2014-09-29 17:31:11 +01:00