diff options
author | aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162> | 2009-02-05 21:23:50 +0000 |
---|---|---|
committer | aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162> | 2009-02-05 21:23:50 +0000 |
commit | 244ab90e17e4feefbf35224d6d7bd96d394b4b26 (patch) | |
tree | ce2ec488052e2515f6b2e8b2ec5950d7e9bafd8f /dma.h | |
parent | f39023833e4520f411f074a891708591c9ce1e68 (diff) | |
download | qemu-244ab90e17e4feefbf35224d6d7bd96d394b4b26.tar.gz |
Add a scatter-gather list type and accessors (Avi Kivity)
Scatter-gather lists are used extensively in dma-capable devices; a
single data structure allows more code reuse later on.
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6522 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'dma.h')
-rw-r--r-- | dma.h | 33 |
1 files changed, 33 insertions, 0 deletions
@@ -0,0 +1,33 @@ +/* + * DMA helper functions + * + * Copyright (c) 2009 Red Hat + * + * This work is licensed under the terms of the GNU General Public License + * (GNU GPL), version 2 or later. + */ + +#ifndef DMA_H +#define DMA_H + +#include <stdio.h> +#include "cpu.h" + +typedef struct { + target_phys_addr_t base; + target_phys_addr_t len; +} ScatterGatherEntry; + +typedef struct { + ScatterGatherEntry *sg; + int nsg; + int nalloc; + target_phys_addr_t size; +} QEMUSGList; + +void qemu_sglist_init(QEMUSGList *qsg, int alloc_hint); +void qemu_sglist_add(QEMUSGList *qsg, target_phys_addr_t base, + target_phys_addr_t len); +void qemu_sglist_destroy(QEMUSGList *qsg); + +#endif |