From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: Xen hypercall calling convention Date: Fri, 4 Dec 2015 10:08:25 +0000 Message-ID: <56616619.7080300@citrix.com> References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4242654341253144178==" Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Carl Patenaude Poulin , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org --===============4242654341253144178== Content-Type: multipart/alternative; boundary="------------030901060307010600030901" --------------030901060307010600030901 Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit On 04/12/15 03:21, Carl Patenaude Poulin wrote: > Hi folks, > > On page 12 of "The Definitive Guide to the Xen Hypervisor", it is > mentioned that "Xen, like Linux, uses the MS-DOS calling convention, > rather than the UNIX convention used by FreeBSD." > > I keep digging online and I can't find any information about an > "MS-DOS calling convention". Second google link, www.agner.org/optimize/calling_conventions.pdf except that you want to be looking for Windows 16bit as its alternative name. > We've already reverse engineered which registers are used in what > order from the Mini-OS source code, but I'm wondering if there's a > specification of this calling convention floating anywhere. The in-tree public header files are the authoritative source of information, so http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/include/public/arch-x86/xen-x86_32.h;hb=HEAD and http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/include/public/arch-x86/xen-x86_64.h;hb=HEAD respectively. ~Andrew --------------030901060307010600030901 Content-Type: text/html; charset="windows-1252" Content-Transfer-Encoding: 7bit
On 04/12/15 03:21, Carl Patenaude Poulin wrote:
Hi folks,

On page 12 of "The Definitive Guide to the Xen Hypervisor", it is mentioned that "Xen, like Linux, uses the MS-DOS calling convention, rather than the UNIX convention used by FreeBSD."

I keep digging online and I can't find any information about an "MS-DOS calling convention".

Second google link,

www.agner.org/optimize/calling_conventions.pdf

except that you want to be looking for Windows 16bit as its alternative name.


We've already reverse engineered which registers are used in what order from the Mini-OS source code, but I'm wondering if there's a specification of this calling convention floating anywhere.

The in-tree public header files are the authoritative source of information, so

http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/include/public/arch-x86/xen-x86_32.h;hb=HEAD

and

http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/include/public/arch-x86/xen-x86_64.h;hb=HEAD

respectively.

~Andrew

--------------030901060307010600030901-- --===============4242654341253144178== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --===============4242654341253144178==--