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 15:44:34 +0100 Message-ID: <20070109144434.GA12152@elte.hu> References: <45A37B7A.8020709@qumranet.com> <20070109113628.GA4421@elte.hu> <45A39095.80005@qumranet.com> <20070109131733.GA28431@elte.hu> <45A39B90.6070908@qumranet.com> <20070109135318.GA3084@elte.hu> <45A3A1C6.201@qumranet.com> <20070109142203.GA6645@elte.hu> <45A3A816.6010308@qumranet.com> <20070109143832.GA10735@elte.hu> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: kvm-devel Return-path: To: Avi Kivity Content-Disposition: inline In-Reply-To: <20070109143832.GA10735-X9Un+BFzKDI@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 * Ingo Molnar wrote: > +/* > + * Hypercall calling convention: > + * > + * RAX is the hypercall index, goes from 0 to __NR_hypercalls-1 > + * > + * Each hypercall may have 0-6 parameters. > + * > + * parameters 1-6 are in the standard gcc x86_64 calling convention > + * order: RDI, RSI, RDX, RCX, R8, R9. > + * > + * 32-bit parameters are: EDI, ESI, EDX, ECX, EBX, EBP > + */ about the 32-bit side: maybe it gives us a bit more options for later if we pick the natural order for 32-bit too: EBX for index, EAX, EDX, ECX for the first 3 parameters, with the remaining 3 parameters in ESI, EDI, EBP? Most hypercalls will have 0, 1, 2 or 3 parameters. Ingo ------------------------------------------------------------------------- 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