mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
Pull request
-----BEGIN PGP SIGNATURE----- iQEcBAABAgAGBQJccAIFAAoJEJykq7OBq3PImM0IAMcC92GYwSL6MgQ4NrfbVfDQ P+qgIoxlXcYNwa12kGY6rE4tgSDab9Mc5ACpmuFdr8Xj7/JOp97AccmKZ+RzYQSj IFlkvd8GngQR1YnFGV6PIWSt7hRhKuUZMqSIDrWro/MTdiJFEMI8/e7QLGxmaEX1 gWCNSopxJUeACSJiRyfZvBGNCs23R9ptFKBFhIXS98KPtEtF8LQV0JnQXoRUDiBL G9C/xggdGDvct3Id4yOBCh43ErssyOrlYwjzIRWB2AFfIwHGytJcL6JBjAqy4Z7M ClMNXaQSbfSCXrc3osF9nO6KaFduhfpUH44lL5JBHxUgH6pN2xGradRANZwysQM= =DSBn -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging Pull request # gpg: Signature made Fri 22 Feb 2019 14:07:01 GMT # gpg: using RSA key 9CA4ABB381AB73C8 # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" [full] # gpg: aka "Stefan Hajnoczi <stefanha@gmail.com>" [full] # Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB 73C8 * remotes/stefanha/tags/block-pull-request: (27 commits) tests/virtio-blk: add test for DISCARD command tests/virtio-blk: add test for WRITE_ZEROES command tests/virtio-blk: add virtio_blk_fix_dwz_hdr() function tests/virtio-blk: change assert on data_size in virtio_blk_request() virtio-blk: add DISCARD and WRITE_ZEROES features virtio-blk: set config size depending on the features enabled virtio-net: make VirtIOFeature usable for other virtio devices virtio-blk: add "discard" and "write-zeroes" properties virtio-blk: add host_features field in VirtIOBlock virtio-blk: add acct_failed param to virtio_blk_handle_rw_error() hw/ide: drop iov field from IDEDMA hw/ide: drop iov field from IDEBufferedRequest hw/ide: drop iov field from IDEState tests/test-bdrv-drain: use QEMU_IOVEC_INIT_BUF migration/block: use qemu_iovec_init_buf qemu-img: use qemu_iovec_init_buf block/vmdk: use qemu_iovec_init_buf block/qed: use qemu_iovec_init_buf block/qcow2: use qemu_iovec_init_buf block/qcow: use qemu_iovec_init_buf ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
d88d85f1f0
25 changed files with 525 additions and 286 deletions
|
@ -346,7 +346,6 @@ extern const char *IDE_DMA_CMD_lookup[IDE_DMA__COUNT];
|
|||
|
||||
typedef struct IDEBufferedRequest {
|
||||
QLIST_ENTRY(IDEBufferedRequest) list;
|
||||
struct iovec iov;
|
||||
QEMUIOVector qiov;
|
||||
QEMUIOVector *original_qiov;
|
||||
BlockCompletionFunc *original_cb;
|
||||
|
@ -405,7 +404,6 @@ struct IDEState {
|
|||
int atapi_dma; /* true if dma is requested for the packet cmd */
|
||||
BlockAcctCookie acct;
|
||||
BlockAIOCB *pio_aiocb;
|
||||
struct iovec iov;
|
||||
QEMUIOVector qiov;
|
||||
QLIST_HEAD(, IDEBufferedRequest) buffered_requests;
|
||||
/* ATA DMA state */
|
||||
|
@ -457,7 +455,6 @@ struct IDEDMAOps {
|
|||
|
||||
struct IDEDMA {
|
||||
const struct IDEDMAOps *ops;
|
||||
struct iovec iov;
|
||||
QEMUIOVector qiov;
|
||||
BlockAIOCB *aiocb;
|
||||
};
|
||||
|
|
|
@ -35,11 +35,11 @@ struct VirtIOBlkConf
|
|||
BlockConf conf;
|
||||
IOThread *iothread;
|
||||
char *serial;
|
||||
uint32_t scsi;
|
||||
uint32_t config_wce;
|
||||
uint32_t request_merging;
|
||||
uint16_t num_queues;
|
||||
uint16_t queue_size;
|
||||
uint32_t max_discard_sectors;
|
||||
uint32_t max_write_zeroes_sectors;
|
||||
};
|
||||
|
||||
struct VirtIOBlockDataPlane;
|
||||
|
@ -57,6 +57,8 @@ typedef struct VirtIOBlock {
|
|||
bool dataplane_disabled;
|
||||
bool dataplane_started;
|
||||
struct VirtIOBlockDataPlane *dataplane;
|
||||
uint64_t host_features;
|
||||
size_t config_size;
|
||||
} VirtIOBlock;
|
||||
|
||||
typedef struct VirtIOBlockReq {
|
||||
|
|
|
@ -37,6 +37,21 @@ static inline hwaddr vring_align(hwaddr addr,
|
|||
return QEMU_ALIGN_UP(addr, align);
|
||||
}
|
||||
|
||||
/*
|
||||
* Calculate the number of bytes up to and including the given 'field' of
|
||||
* 'container'.
|
||||
*/
|
||||
#define virtio_endof(container, field) \
|
||||
(offsetof(container, field) + sizeof_field(container, field))
|
||||
|
||||
typedef struct VirtIOFeature {
|
||||
uint64_t flags;
|
||||
size_t end;
|
||||
} VirtIOFeature;
|
||||
|
||||
size_t virtio_feature_get_config_size(VirtIOFeature *features,
|
||||
uint64_t host_features);
|
||||
|
||||
typedef struct VirtQueue VirtQueue;
|
||||
|
||||
#define VIRTQUEUE_MAX_SIZE 1024
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue