]> git.proxmox.com Git - mirror_qemu.git/blobdiff - dma-helpers.c
kvm: use separate MemoryListeners for memory and I/O
[mirror_qemu.git] / dma-helpers.c
index 35cb500581ebb62db151ea0566c98d2accec0496..433d8b21b344d7eaa8ffee840d2bc62eefb269fc 100644 (file)
@@ -24,8 +24,8 @@ static void do_dma_memory_set(dma_addr_t addr, uint8_t c, dma_addr_t len)
     while (len > 0) {
         l = len < FILLBUF_SIZE ? len : FILLBUF_SIZE;
         cpu_physical_memory_rw(addr, fillbuf, l, true);
-        len -= len;
-        addr += len;
+        len -= l;
+        addr += l;
     }
 }
 
@@ -65,6 +65,7 @@ void qemu_sglist_add(QEMUSGList *qsg, dma_addr_t base, dma_addr_t len)
 void qemu_sglist_destroy(QEMUSGList *qsg)
 {
     g_free(qsg->sg);
+    memset(qsg, 0, sizeof(*qsg));
 }
 
 typedef struct {