X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fdevices%2Flnx_virtio_symmod.c;h=d3bae18d1e28591585078a0963f7d218e632bae9;hb=27b1aab6a0b0f909e8cea27656dbfa05d0335e94;hp=b1e4a28489f32cbd42bb7d572aab63f5e887020c;hpb=4a7e284362662dd76319c4d5843deb28fba82ba0;p=palacios.git diff --git a/palacios/src/devices/lnx_virtio_symmod.c b/palacios/src/devices/lnx_virtio_symmod.c index b1e4a28..d3bae18 100644 --- a/palacios/src/devices/lnx_virtio_symmod.c +++ b/palacios/src/devices/lnx_virtio_symmod.c @@ -147,7 +147,9 @@ static int handle_xfer_kick(struct guest_info * core, struct virtio_sym_state * return -1; } - memcpy(buf, module->data + offset, buf_desc->length); + memcpy(buf, module->start_addr + offset, buf_desc->length); + PrintDebug("Copying module to virtio buffers: SRC=%p, DST=%p, len=%d\n", + (void *)(module->start_addr + offset), (void *)buf, buf_desc->length); if (tmp_status != 0) { PrintError("Error loading module segment\n"); @@ -170,6 +172,7 @@ static int handle_xfer_kick(struct guest_info * core, struct virtio_sym_state * xfer_len += status_desc->length; *status_ptr = status; + PrintDebug("Transferred %d bytes (xfer_len)\n", xfer_len); q->used->ring[q->used->index % QUEUE_SIZE].id = q->avail->ring[q->cur_avail_idx % QUEUE_SIZE]; q->used->ring[q->used->index % QUEUE_SIZE].length = xfer_len; // set to total inbound xfer length