qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Questions regarding ivshmem spec


From: Avi Kivity
Subject: Re: [Qemu-devel] Questions regarding ivshmem spec
Date: Thu, 25 Aug 2011 17:40:31 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:6.0) Gecko/20110816 Thunderbird/6.0

On 08/25/2011 05:39 PM, Sasha Levin wrote:
On Thu, 2011-08-25 at 17:00 +0300, Avi Kivity wrote:
>  On 08/25/2011 04:29 PM, Sasha Levin wrote:
>  >  2. The spec describes DOORBELL as an array of DWORDs, when one guest
>  >  wants to poke a different guest it would write something into the offset
>  >  of the other guest in the DOORBELL array.
>  >  Looking at the implementation in QEMU, DOORBELL is one DWORD, when
>  >  writing to it the upper WORD is the guest id and the lower WORD is the
>  >  value.
>  >  What am I missing here?
>  >
>
>  The spec in qemu.git is accurate.  The intent is to use an ioeventfd
>  bound into an irqfd so a write into the doorbell injects an interrupt
>  directly into the other guest, without going through qemu^Wkvm tool.
>

But the doorbell is a single DWORD, so if a guest writes to it we'd
still need to figure out which guest/vector he wants to poke from
userspace, no?

If it was an array of doorbells then yes, we could assign an ioeventfd
to each offset - but now I don't quite see how we can avoid passing
through the userspace.


Use the datamatch facility.

We didn't want an array of registers to avoid scaling issues (PIO space is quite small).


--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]