public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: Rusty Russell <rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>
Cc: kvm-devel <kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Subject: Re: virtio & hypercall interface?
Date: Sat, 15 Sep 2007 12:38:14 +0300	[thread overview]
Message-ID: <46EBA806.6070507@qumranet.com> (raw)
In-Reply-To: <1189845153.7262.94.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>

Rusty Russell wrote:
> On Sat, 2007-09-15 at 11:05 +0300, Avi Kivity wrote:
>   
>> Rusty Russell wrote:
>>     
>>> On Sat, 2007-09-15 at 01:31 +0300, Dor Laor wrote:
>>>   
>>>       
>>>> Second, regardless of the channel signal notification, there are still 
>>>> real necessities for userspace hypercall handling:
>>>> 1. For virtio drivers there is also registration hypercall for passing 
>>>> the shared memory pfns.
>>>>     Sure there are other possibilities, but why limit ourselves?
>>>>     
>>>>         
>>> I really prefer doing this the more "hardware-like" way and having the
>>> device description say where the pages are.  Surely this is simpler from
>>> the qemu side, too?
>>>   
>>>       
>> This is mmio style (device provides memory).  DMA style (guest provides
>> memory, device dmas it) is easier for kvm: we don't need to allocate a
>> new memory slot, and migration is easier.
>>
>> Most current hardware place the descriptor ring in guest memory, not the
>> device, since mmio is slower for the cpu than RAM.
>>     
>
> But for virtual devices it seems unnecessarily convoluted: we'd have
> some mmio space (or PCI config space?) to tell the device where the ring
> buffer is.  That's a little nasty for lguest early printk, too.
>   

I don't see why there is a difference.  With mmio, the host tells the
guest where the ring is.  With dma, the guest tells the host where the
ring is.  In both cases, you need some form of communication (read-only
for mmio, write-only for dma).

For mmio, the mechanism is standardized within pci; for dma it is not,
but it is still just as simple, write to some word in pci config space
and you're done.


If early printk can't handle pci, we can provide a pio port that does
byte-at-a-time output.

-- 
Do not meddle in the internals of kernels, for they are subtle and quick to panic.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

  parent reply	other threads:[~2007-09-15  9:38 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-13  6:21 virtio & hypercall interface? Rusty Russell
     [not found] ` <1189664514.32322.14.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-13 19:21   ` Anthony Liguori
     [not found]     ` <46E98DC0.3050509-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-09-13 21:26       ` Rusty Russell
     [not found]         ` <1189718818.32322.41.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-13 21:41           ` Anthony Liguori
2007-09-13 20:33   ` Dor Laor
     [not found]     ` <64F9B87B6B770947A9F8391472E032160DA17EF2-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-09-13 20:45       ` Anthony Liguori
     [not found]         ` <46E9A17D.5040205-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-09-14 16:46           ` Avi Kivity
     [not found]             ` <46EABAD0.40300-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-14 22:31               ` Dor Laor
     [not found]                 ` <46EB0BD8.6040000-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-15  3:06                   ` Rusty Russell
     [not found]                     ` <1189825560.7262.77.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-15  8:05                       ` Avi Kivity
     [not found]                         ` <46EB9245.4010005-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-15  8:32                           ` Rusty Russell
     [not found]                             ` <1189845153.7262.94.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-15  9:38                               ` Avi Kivity [this message]
     [not found]                                 ` <46EBA806.6070507-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-16  7:50                                   ` Rusty Russell
     [not found]                                     ` <1189929012.7262.105.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-16  8:57                                       ` Avi Kivity
     [not found]                                         ` <46ECEFEE.6000208-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-16  9:35                                           ` Rusty Russell
     [not found]                                             ` <1189935324.7262.120.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-16  9:45                                               ` Avi Kivity
2007-09-15  7:59                   ` Avi Kivity
2007-09-15 17:31                   ` Anthony Liguori
     [not found]                     ` <46EC1709.2080803-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-09-15 21:56                       ` Dor Laor
     [not found]                         ` <46EC5515.2020004-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-15 22:49                           ` Anthony Liguori
2007-09-14 16:44   ` Avi Kivity
     [not found]     ` <46EABA59.10808-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-14 16:49       ` Anthony Liguori

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46EBA806.6070507@qumranet.com \
    --to=avi-atkuwr5tajbwk0htik3j/w@public.gmane.org \
    --cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    --cc=rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox