From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ingo Molnar Subject: Re: [patch] KVM: add MSR based hypercall API Date: Tue, 9 Jan 2007 14:17:33 +0100 Message-ID: <20070109131733.GA28431@elte.hu> References: <20070109092705.GA8300@elte.hu> <45A36758.1000808@qumranet.com> <20070109103809.GA24515@elte.hu> <45A37B7A.8020709@qumranet.com> <20070109113628.GA4421@elte.hu> <45A39095.80005@qumranet.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="huq684BweRXVnRxX" Cc: kvm-devel Return-path: To: Avi Kivity Content-Disposition: inline In-Reply-To: <45A39095.80005-atKUWr5tajBWk0Htik3J/w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org --huq684BweRXVnRxX Content-Type: text/plain; charset=us-ascii Content-Disposition: inline * Avi Kivity 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 --huq684BweRXVnRxX Content-Type: application/x-gzip Content-Disposition: attachment; filename="kvm-para.tar.gz" Content-Transfer-Encoding: base64 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 --huq684BweRXVnRxX Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------- 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 --huq684BweRXVnRxX Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ kvm-devel mailing list kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org https://lists.sourceforge.net/lists/listinfo/kvm-devel --huq684BweRXVnRxX--