From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: carsteno-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org
Cc: Eric Van Hensbergen
<ericvanhensbergen-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>,
kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
lguest <lguest-mnsaURCQ41sdnm+yROfE0A@public.gmane.org>,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
virtualization-qjLDD68F18O7TbgM5vRIOg@public.gmane.org
Subject: Re: [kvm-devel] [PATCH 3/3] virtio PCI device
Date: Tue, 27 Nov 2007 11:27:53 +0200 [thread overview]
Message-ID: <474BE319.502@qumranet.com> (raw)
In-Reply-To: <474BDEDE.6060603-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
Carsten Otte wrote:
> Avi Kivity wrote:
>
>> No, definitely not define a hypercall ABI. The feature bit should say
>> "this device understands a hypervisor-specific way of kicking. consult
>> your hypervisor manual and cpuid bits for further details. should you
>> not be satisfied with this method, port io is still available".
>>
> ...unless you're lucky enough to be on s390 where pio is not available.
> I don't see why we'd have two different ways to talk to a virtio
> device. I think we should use a hypercall for interrupt injection,
> without support for grumpy old soldered pci features other than
> HPA-style Lguest PCI bus organization. There are no devices that we
> want to be backward compatible with.
>
pio is useful for qemu, for example, and as a fallback against changing
hypervisor calling conventions. As Anthony points out, it makes a
qemu-implemented device instantly available to Xen at no extra charge.
My wording was inappropriate for s390, though. The politically correct
version reads "this device understands a hypervisor-specific way of
kicking. consult your hypervisor manual and platform-specific way of
querying hypervisor information for further details. should you not be
satisfied with this method, the standard method of kicking virtio
devices on your platform is still available".
On s390, I imagine that "the standard method" is the fabled diag
instruction (which, with the proper arguments, will cook your steak to
the exact shade of medium-rare you desire). So you will never need to
set the "hypervisor-specific way of kicking" bit, as your standard
method is already optimal.
Unfortunately, we have to care for platform differences, subarch
differences (vmx/svm), hypervisor differences (with virtio), and guest
differences (Linux/Windows/pvLinux, 32/64). Much care is needed when
designing the ABI here.
[actually thinking a bit, this is specific to the virtio pci binding;
s390 will never see any of it]
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2007-11-27 9:27 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-08 2:46 [PATCH 0/3] virtio PCI driver Anthony Liguori
[not found] ` <11944899922822-git-send-email-aliguori-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-11-08 2:46 ` [PATCH 1/3] Export vring functions for modules to use Anthony Liguori
[not found] ` <11944900141678-git-send-email-aliguori-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-11-08 2:46 ` [PATCH 2/3] Put the virtio under the virtualization menu Anthony Liguori
[not found] ` <11944900152750-git-send-email-aliguori-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-11-08 2:46 ` [PATCH 3/3] virtio PCI device Anthony Liguori
[not found] ` <11944900163817-git-send-email-aliguori-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-11-08 6:12 ` Avi Kivity
[not found] ` <4732A8E5.6090307-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-11-08 13:54 ` Anthony Liguori
[not found] ` <47331531.8070709-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-11-08 14:37 ` Avi Kivity
[not found] ` <47331F47.70304-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-11-08 15:06 ` Anthony Liguori
[not found] ` <473325EB.5090907-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-11-08 15:13 ` Avi Kivity
2007-11-08 23:43 ` Dor Laor
2007-11-08 17:46 ` Arnd Bergmann
[not found] ` <200711081846.36821.arnd-r2nGTMty4D4@public.gmane.org>
2007-11-08 19:04 ` Anthony Liguori
[not found] ` <47335DC6.7090603-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-11-09 11:03 ` Arnd Bergmann
2007-11-09 0:39 ` Dor Laor
[not found] ` <4733AC3A.20701-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-11-09 2:17 ` Anthony Liguori
2007-11-20 15:01 ` [kvm-devel] " Avi Kivity
2007-11-20 15:43 ` Anthony Liguori
[not found] ` <474300AD.4060509-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-11-20 16:12 ` Avi Kivity
[not found] ` <4743076F.8000105-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-11-20 22:16 ` Anthony Liguori
[not found] ` <47435CCB.1050506-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-11-21 7:13 ` Avi Kivity
[not found] ` <4743DAA4.70800-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-11-21 18:22 ` Zachary Amsden
[not found] ` <1195669377.6352.247.camel-cxY/u30q8FloTgUnLF1by8fTvwmfpRNyZeezCHUQhQ4@public.gmane.org>
2007-11-22 7:32 ` Avi Kivity
2007-11-23 16:51 ` [kvm-devel] " Anthony Liguori
[not found] ` <4747051C.3090903-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-11-23 17:47 ` Avi Kivity
2007-11-26 19:18 ` [kvm-devel] " Anthony Liguori
[not found] ` <474B1BF3.20901-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-11-27 9:02 ` Avi Kivity
[not found] ` <474BDD28.7050801-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-11-27 9:09 ` Carsten Otte
[not found] ` <474BDEDE.6060603-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2007-11-27 9:27 ` Avi Kivity [this message]
[not found] ` <474BE319.502-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-11-27 10:12 ` Carsten Otte
[not found] ` <474BEDAB.3000305-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2007-11-27 10:19 ` Avi Kivity
[not found] ` <474BEF28.9010005-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-11-27 10:28 ` Carsten Otte
[not found] ` <474BF157.3080709-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2007-11-27 13:27 ` [kvm-devel] " Dor Laor
2007-11-27 9:25 ` Arnd Bergmann
2007-11-08 6:49 ` [PATCH 2/3] Put the virtio under the virtualization menu Avi Kivity
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=474BE319.502@qumranet.com \
--to=avi-atkuwr5tajbwk0htik3j/w@public.gmane.org \
--cc=carsteno-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org \
--cc=ericvanhensbergen-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=lguest-mnsaURCQ41sdnm+yROfE0A@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=virtualization-qjLDD68F18O7TbgM5vRIOg@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;
as well as URLs for NNTP newsgroup(s).