Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Jul 2009 17:56:57 +0200
From:      Rafal Jaworowski <raj@semihalf.com>
To:        Justin Hibbits <jrh29@alumni.cwru.edu>
Cc:        FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>
Subject:   Re: FreeBSD/ppc ABI
Message-ID:  <A07805D6-CAD5-4721-86AC-DE1751831D3C@semihalf.com>
In-Reply-To: <fd9cd3450907070641l45223e72p5f7147b97fc5755f@mail.gmail.com>
References:  <fd9cd3450907070641l45223e72p5f7147b97fc5755f@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On 2009-07-07, at 15:41, Justin Hibbits wrote:

> What's the current FreeBSD/ppc ABI register usage?  I'm writing a
> proxy function that messes with some arguments before making the
> target function call, and need to know which registers are free for me
> to use without having to save argument registers.  From reading the
> gcc source it looks like it's a strict SysV R4 ABI, leaving r0, r11,
> and r12 available for me to use.  Is this the case, and are there any
> others available?

We use the plain SVR4 ABI. My understanding is R0, R11 and R12 are  
among volatile group, so you should be careful. Can you use one of the  
SPRGs (what CPU is this, do you need to do the trick in user or  
supervisor mode)?

Rafal




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A07805D6-CAD5-4721-86AC-DE1751831D3C>