From: Ingo Molnar <mingo-X9Un+BFzKDI@public.gmane.org>
To: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Cc: kvm-devel <kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Subject: Re: [patch] KVM: add MSR based hypercall API
Date: Tue, 9 Jan 2007 14:17:33 +0100 [thread overview]
Message-ID: <20070109131733.GA28431@elte.hu> (raw)
In-Reply-To: <45A39095.80005-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 1860 bytes --]
* Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org> wrote:
> >>Where is the vmcall exit handler?
> >>
> >
> >in my tree, have not sent the patch yet - first want to combine it
> >with the cr3 feature to have it tested.
> >
>
> I'd like it in the final patch.
yeah. Right now i have:
patches/kvm-paravirt-host.patch
patches/kvm-paravirt-guest.patch
patches/kvm-paravirt-hypercall-host.patch
patches/kvm-paravirt-hypercall-guest.patch
patches/kvm-paravirt-cr3-cache.patch
this builds and boots fine on VMX, and a test-hypercall is successfully
issued. I've attached a tarball of them.
i've changed the details you mentioned (printk loglevels, etc.), and
some other detail as well: the ->patch_hypercall() thing now patches in
the 'ret' instruction as well. This allowed me to add a -ENOSYS default
entry there, to have defined error behavior in case the hypervisor does
not patch things.
NOTE: i have not updated the cr3 patch to the hypercall API yet (hence
the aliasing bug is not fixed yet), i wanted to get this to you so that
we can think about the hypercall API.
Right now what i have is only good to test that the VMCALL instruction
works - but the API must look differently. I'd prefer a register-based
thing so that i can embedd hypercalls within Linux without having to go
to a wrapper function. Right now a "call hypercall_addr" is a
regparm-based function entry. I'd like to keep that - but not have a
fixed number of parameters but inlines/macros for all parameter
combinations: 1, 2, 3, 4, 5 param, picked up automatically via use. I.e.
a 2-param call would be:
hypercall(KVM_cr3_miss, cr3);
a 3-param call would be:
hypercall(KVM_api_call1, param1, param2);
a 1-param call would be:
hypercall(KVM_api_call2);
Does this look good to you? I'd like the basic API to be as light as
possible.
Ingo
[-- Attachment #2: kvm-para.tar.gz --]
[-- Type: application/x-gzip, Size: 11758 bytes --]
[-- Attachment #3: Type: text/plain, Size: 347 bytes --]
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
[-- Attachment #4: Type: text/plain, Size: 186 bytes --]
_______________________________________________
kvm-devel mailing list
kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/kvm-devel
next prev parent reply other threads:[~2007-01-09 13:17 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-09 9:27 [patch] KVM: add MSR based hypercall API Ingo Molnar
[not found] ` <20070109092705.GA8300-X9Un+BFzKDI@public.gmane.org>
2007-01-09 9:58 ` Avi Kivity
[not found] ` <45A36758.1000808-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-01-09 10:38 ` Ingo Molnar
[not found] ` <20070109103809.GA24515-X9Un+BFzKDI@public.gmane.org>
2007-01-09 11:24 ` Avi Kivity
[not found] ` <45A37B7A.8020709-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-01-09 11:36 ` Ingo Molnar
[not found] ` <20070109113628.GA4421-X9Un+BFzKDI@public.gmane.org>
2007-01-09 12:54 ` Avi Kivity
[not found] ` <45A39095.80005-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-01-09 13:17 ` Ingo Molnar [this message]
[not found] ` <20070109131733.GA28431-X9Un+BFzKDI@public.gmane.org>
2007-01-09 13:30 ` Ingo Molnar
2007-01-09 13:41 ` Avi Kivity
[not found] ` <45A39B90.6070908-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-01-09 13:53 ` Ingo Molnar
[not found] ` <20070109135318.GA3084-X9Un+BFzKDI@public.gmane.org>
2007-01-09 14:08 ` Avi Kivity
[not found] ` <45A3A1C6.201-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-01-09 14:22 ` Ingo Molnar
[not found] ` <20070109142203.GA6645-X9Un+BFzKDI@public.gmane.org>
2007-01-09 14:35 ` Avi Kivity
[not found] ` <45A3A816.6010308-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-01-09 14:38 ` Ingo Molnar
[not found] ` <20070109143832.GA10735-X9Un+BFzKDI@public.gmane.org>
2007-01-09 14:44 ` Ingo Molnar
[not found] ` <20070109144434.GA12152-X9Un+BFzKDI@public.gmane.org>
2007-01-09 14:50 ` Avi Kivity
[not found] ` <45A3ABAF.90208-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-01-09 15:04 ` Ingo Molnar
[not found] ` <20070109150424.GA16535-X9Un+BFzKDI@public.gmane.org>
2007-01-09 16:20 ` [patchset] KVM: paravirt/hypercall queue Ingo Molnar
[not found] ` <20070109162028.GA764-X9Un+BFzKDI@public.gmane.org>
2007-01-09 16:23 ` Ingo Molnar
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=20070109131733.GA28431@elte.hu \
--to=mingo-x9un+bfzkdi@public.gmane.org \
--cc=avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@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