Page MenuHomeFreeBSD

powerpc/spe: Implement SPE exception handling
ClosedPublic

Authored by jhibbits on Oct 6 2018, 12:37 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Sep 19, 12:19 AM
Unknown Object (File)
Fri, Sep 18, 11:40 AM
Unknown Object (File)
Aug 13 2026, 2:17 PM
Unknown Object (File)
Aug 11 2026, 5:31 AM
Unknown Object (File)
Aug 10 2026, 1:07 PM
Unknown Object (File)
Aug 10 2026, 10:33 AM
Unknown Object (File)
Aug 10 2026, 10:24 AM
Unknown Object (File)
Aug 9 2026, 5:31 PM
Subscribers

Details

Summary

The Signal Processing Engine (SPE) found in Freescale e500 cores (and
others) offloads IEEE-754 compliance (NaN, Inf handling, overflow,
underflow) to software, most likely as a means of simplifying the APU
silicon. Some software, like AbiWord, needs full IEEE-754 compliance,
including NaN handling. Implement the necessary bits to enable it.

Test Plan

Tested on a P1022, both a simple floating point program and polkitd.
polkitd uses spidermonkey, and is a great test for FPU conformance.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Aside from one inline note, this looks OK for non-SPE.

sys/powerpc/booke/spe.c
126 ↗(On Diff #48817)

Doesn't this break on non-SPE systems?

jhibbits added inline comments.
sys/powerpc/booke/spe.c
126 ↗(On Diff #48817)

spe.c is only built for powerpcspe, so no :)

This revision was not accepted when it landed; it landed in state Needs Review.Oct 21 2018, 12:43 AM
This revision was automatically updated to reflect the committed changes.