Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 1 Jun 2013 23:50:00 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Andrew Turner <andrew@fubar.geek.nz>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: Updating setjmp/longjmp
Message-ID:  <104894B0-F9B5-490C-A0D8-6D2732BAFCE0@bsdimp.com>
In-Reply-To: <20130601201253.47daf4a1@bender.Home>
References:  <20130601201253.47daf4a1@bender.Home>

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

On Jun 1, 2013, at 1:12 PM, Andrew Turner wrote:

> Hello,
>=20
> I'm updating the setjmp/longjmp functions on ARM to reduce the diff to
> NetBSD and to store the VFP registers when they are available.
>=20
> As part of this I will be removeing support for storing the FPA
> (floating point accelerator) registers. Does anyone have any =
objections
> to this?
>=20
> The first patch is at [1]. It updates
> out code to remove the FPA support but doesn't yet add the VFP as that
> will require other libc changes.
>=20
> (If you don't know what the FPA is this patch probably doesn't affect
> you, it was an old floating-point device in only a few chips. Modern
> CPUs use a different piece of hardware for floating point operations.)

Did we ever support this? Or were they used only for the floating point =
emulator that NetBSD had in their tree for a while, but that I don't =
think ever made it into ours since softfloat is faster....

> Andrew
>=20
> [1] http://people.freebsd.org/~andrew/arm_setjmp.diff

This looks OK to the limit of my arm assembler knowledge, but why the =
switch from r3 to ip in longjmp?

Also, what's the difference between setjmp and_setgjmp? It's just saving =
the signal mask... Is there any benefit to merging? The meat of the =
functions are tiny, but there's all that boilerplate...

Warner

Warner





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?104894B0-F9B5-490C-A0D8-6D2732BAFCE0>