* 'virtio DMA to IO ram' error
@ 2008-12-30 12:49 Passera, Pablo R
2008-12-30 12:54 ` Passera, Pablo R
2009-01-01 16:45 ` Avi Kivity
0 siblings, 2 replies; 3+ messages in thread
From: Passera, Pablo R @ 2008-12-30 12:49 UTC (permalink / raw)
To: kvm@vger.kernel.org
Hi everybody,
I am trying to implement a new virtio device. I have implemented the new device in Qemu and I also have the correspondent virtio driver in the guest. But when I get data in the device and I try to put that into the virtqueue using virtqueue_pop, the qemu instance crash showing the error 'virtio DMA to IO ram'. This is in the virtio_map_gpa function in virtio.c. Does anyone knows what this means?
Here is the code from virtio_map_gpa
.
.
static void *virtio_map_gpa(target_phys_addr_t addr, size_t size)
{
ram_addr_t off;
target_phys_addr_t addr1;
off = cpu_get_physical_page_desc(addr);
if ((off & ~TARGET_PAGE_MASK) != IO_MEM_RAM) {
fprintf(stderr, "virtio DMA to IO ram 1\n");
exit(1);
}
.
.
.
Thanks a lot,
Pablo
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: 'virtio DMA to IO ram' error
2008-12-30 12:49 'virtio DMA to IO ram' error Passera, Pablo R
@ 2008-12-30 12:54 ` Passera, Pablo R
2009-01-01 16:45 ` Avi Kivity
1 sibling, 0 replies; 3+ messages in thread
From: Passera, Pablo R @ 2008-12-30 12:54 UTC (permalink / raw)
To: kvm@vger.kernel.org
[-- Attachment #1: Type: text/plain, Size: 1494 bytes --]
Actually, I am not trying to put data into the queue using pop. I get an
element from the queue using virtqueue_pop, fill the element and then push
the element into the queue using virtqueue_push. When I try to do the pop is
when it crash.
Pablo
>-----Original Message-----
>From: kvm-owner@vger.kernel.org [mailto:kvm-owner@vger.kernel.org] On
>Behalf Of Passera, Pablo R
>Sent: Tuesday, December 30, 2008 10:50 AM
>To: kvm@vger.kernel.org
>Subject: 'virtio DMA to IO ram' error
>
>Hi everybody,
>
> I am trying to implement a new virtio device. I have implemented
>the new device in Qemu and I also have the correspondent virtio driver
>in the guest. But when I get data in the device and I try to put that
>into the virtqueue using virtqueue_pop, the qemu instance crash showing
>the error 'virtio DMA to IO ram'. This is in the virtio_map_gpa function
>in virtio.c. Does anyone knows what this means?
>
> Here is the code from virtio_map_gpa
>.
>.
>static void *virtio_map_gpa(target_phys_addr_t addr, size_t size)
>{
> ram_addr_t off;
> target_phys_addr_t addr1;
>
> off = cpu_get_physical_page_desc(addr);
> if ((off & ~TARGET_PAGE_MASK) != IO_MEM_RAM) {
> fprintf(stderr, "virtio DMA to IO ram 1\n");
> exit(1);
> }
>.
>.
>.
>
>Thanks a lot,
>
>Pablo
>--
>To unsubscribe from this list: send the line "unsubscribe kvm" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at http://vger.kernel.org/majordomo-info.html
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 2142 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: 'virtio DMA to IO ram' error
2008-12-30 12:49 'virtio DMA to IO ram' error Passera, Pablo R
2008-12-30 12:54 ` Passera, Pablo R
@ 2009-01-01 16:45 ` Avi Kivity
1 sibling, 0 replies; 3+ messages in thread
From: Avi Kivity @ 2009-01-01 16:45 UTC (permalink / raw)
To: Passera, Pablo R; +Cc: kvm@vger.kernel.org
Passera, Pablo R wrote:
> Hi everybody,
>
> I am trying to implement a new virtio device. I have implemented the new device in Qemu and I also have the correspondent virtio driver in the guest. But when I get data in the device and I try to put that into the virtqueue using virtqueue_pop, the qemu instance crash showing the error 'virtio DMA to IO ram'. This is in the virtio_map_gpa function in virtio.c. Does anyone knows what this means?
>
> Here is the code from virtio_map_gpa
> .
> .
> static void *virtio_map_gpa(target_phys_addr_t addr, size_t size)
> {
> ram_addr_t off;
> target_phys_addr_t addr1;
>
> off = cpu_get_physical_page_desc(addr);
> if ((off & ~TARGET_PAGE_MASK) != IO_MEM_RAM) {
> fprintf(stderr, "virtio DMA to IO ram 1\n");
> exit(1);
> }
>
In means the virtio buffers point to memory that is not RAM, but is some
memory-mapped I/O range or pehaps unmapped. I suggest printing the
physical addresses both in the guest and in qemu; something is likely
garbled.
--
error compiling committee.c: too many arguments to function
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-01-01 16:45 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-30 12:49 'virtio DMA to IO ram' error Passera, Pablo R
2008-12-30 12:54 ` Passera, Pablo R
2009-01-01 16:45 ` Avi Kivity
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.