root / dma.h @ 075e36b8
History | View | Annotate | Download (1.1 kB)
1 | 244ab90e | aliguori | /*
|
---|---|---|---|
2 | 244ab90e | aliguori | * DMA helper functions
|
3 | 244ab90e | aliguori | *
|
4 | 244ab90e | aliguori | * Copyright (c) 2009 Red Hat
|
5 | 244ab90e | aliguori | *
|
6 | 244ab90e | aliguori | * This work is licensed under the terms of the GNU General Public License
|
7 | 244ab90e | aliguori | * (GNU GPL), version 2 or later.
|
8 | 244ab90e | aliguori | */
|
9 | 244ab90e | aliguori | |
10 | 244ab90e | aliguori | #ifndef DMA_H
|
11 | 244ab90e | aliguori | #define DMA_H
|
12 | 244ab90e | aliguori | |
13 | 244ab90e | aliguori | #include <stdio.h> |
14 | 1ad2134f | Paul Brook | //#include "cpu.h"
|
15 | 1ad2134f | Paul Brook | #include "hw/hw.h" |
16 | 59a703eb | aliguori | #include "block.h" |
17 | 244ab90e | aliguori | |
18 | 244ab90e | aliguori | typedef struct { |
19 | 244ab90e | aliguori | target_phys_addr_t base; |
20 | 244ab90e | aliguori | target_phys_addr_t len; |
21 | 244ab90e | aliguori | } ScatterGatherEntry; |
22 | 244ab90e | aliguori | |
23 | 244ab90e | aliguori | typedef struct { |
24 | 244ab90e | aliguori | ScatterGatherEntry *sg; |
25 | 244ab90e | aliguori | int nsg;
|
26 | 244ab90e | aliguori | int nalloc;
|
27 | 244ab90e | aliguori | target_phys_addr_t size; |
28 | 244ab90e | aliguori | } QEMUSGList; |
29 | 244ab90e | aliguori | |
30 | 244ab90e | aliguori | void qemu_sglist_init(QEMUSGList *qsg, int alloc_hint); |
31 | 244ab90e | aliguori | void qemu_sglist_add(QEMUSGList *qsg, target_phys_addr_t base,
|
32 | 244ab90e | aliguori | target_phys_addr_t len); |
33 | 244ab90e | aliguori | void qemu_sglist_destroy(QEMUSGList *qsg);
|
34 | 244ab90e | aliguori | |
35 | 59a703eb | aliguori | BlockDriverAIOCB *dma_bdrv_read(BlockDriverState *bs, |
36 | 59a703eb | aliguori | QEMUSGList *sg, uint64_t sector, |
37 | 59a703eb | aliguori | BlockDriverCompletionFunc *cb, void *opaque);
|
38 | 59a703eb | aliguori | BlockDriverAIOCB *dma_bdrv_write(BlockDriverState *bs, |
39 | 59a703eb | aliguori | QEMUSGList *sg, uint64_t sector, |
40 | 59a703eb | aliguori | BlockDriverCompletionFunc *cb, void *opaque);
|
41 | 244ab90e | aliguori | #endif |