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>

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


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

> Hello,
> 
> 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.
> 
> As part of this I will be removeing support for storing the FPA
> (floating point accelerator) registers. Does anyone have any objections
> to this?
> 
> 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.
> 
> (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
> 
> [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




help

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