/* * 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. */#include "dma.h"voidqemu_sglist_init(QEMUSGList*qsg,intalloc_hint){qsg->sg=qemu_malloc(alloc_hint*sizeof(ScatterGatherEntry));qsg->nsg=0;qsg->nalloc=alloc_hint;qsg->size=0;}voidqemu_sglist_add(QEMUSGList*qsg,target_phys_addr_tbase,target_phys_addr_tlen){if(qsg->nsg==qsg->nalloc){qsg->nalloc=2*qsg->nalloc+1;qsg->sg=qemu_realloc(qsg->sg,qsg->nalloc*sizeof(ScatterGatherEntry));}qsg->sg[qsg->nsg].base=base;qsg->sg[qsg->nsg].len=len;qsg->size+=len;++qsg->nsg;}voidqemu_sglist_destroy(QEMUSGList*qsg){qemu_free(qsg->sg);}