Annotation of qemu/dma.h, revision 1.1.1.4

1.1       root        1: /*
                      2:  * DMA helper functions
                      3:  *
                      4:  * Copyright (c) 2009 Red Hat
                      5:  *
                      6:  * This work is licensed under the terms of the GNU General Public License
                      7:  * (GNU GPL), version 2 or later.
                      8:  */
                      9: 
                     10: #ifndef DMA_H
                     11: #define DMA_H
                     12: 
                     13: #include <stdio.h>
1.1.1.3   root       14: //#include "cpu.h"
                     15: #include "hw/hw.h"
1.1       root       16: #include "block.h"
                     17: 
                     18: typedef struct {
                     19:     target_phys_addr_t base;
                     20:     target_phys_addr_t len;
                     21: } ScatterGatherEntry;
                     22: 
                     23: typedef struct {
                     24:     ScatterGatherEntry *sg;
                     25:     int nsg;
                     26:     int nalloc;
                     27:     target_phys_addr_t size;
                     28: } QEMUSGList;
                     29: 
                     30: void qemu_sglist_init(QEMUSGList *qsg, int alloc_hint);
                     31: void qemu_sglist_add(QEMUSGList *qsg, target_phys_addr_t base,
                     32:                      target_phys_addr_t len);
                     33: void qemu_sglist_destroy(QEMUSGList *qsg);
                     34: 
1.1.1.4 ! root       35: typedef BlockDriverAIOCB *DMAIOFunc(BlockDriverState *bs, int64_t sector_num,
        !            36:                                  QEMUIOVector *iov, int nb_sectors,
        !            37:                                  BlockDriverCompletionFunc *cb, void *opaque);
        !            38: 
        !            39: BlockDriverAIOCB *dma_bdrv_io(BlockDriverState *bs,
        !            40:                               QEMUSGList *sg, uint64_t sector_num,
        !            41:                               DMAIOFunc *io_func, BlockDriverCompletionFunc *cb,
        !            42:                               void *opaque, int is_write);
1.1       root       43: BlockDriverAIOCB *dma_bdrv_read(BlockDriverState *bs,
                     44:                                 QEMUSGList *sg, uint64_t sector,
                     45:                                 BlockDriverCompletionFunc *cb, void *opaque);
                     46: BlockDriverAIOCB *dma_bdrv_write(BlockDriverState *bs,
                     47:                                  QEMUSGList *sg, uint64_t sector,
                     48:                                  BlockDriverCompletionFunc *cb, void *opaque);
                     49: #endif

unix.superglobalmegacorp.com