Page MenuHomeFreeBSD

arm64: Enable Floating-point exception
ClosedPublic

Authored by dchagin on May 18 2022, 6:49 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Jan 21, 7:58 PM
Unknown Object (File)
Sat, Jan 4, 6:12 AM
Unknown Object (File)
Dec 10 2024, 10:40 AM
Unknown Object (File)
Nov 18 2024, 1:21 PM
Unknown Object (File)
Oct 20 2024, 8:18 AM
Unknown Object (File)
Oct 18 2024, 8:46 PM
Unknown Object (File)
Sep 22 2024, 9:48 AM
Unknown Object (File)
Sep 22 2024, 1:11 AM
Subscribers

Details

Summary

To enable it user-space needs to call feenableexcept().

FPE_FLTIDO has been added ss IDF bit can't be mapped to any existing FPE code.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 45623
Build 42511: arc lint + arc unit

Event Timeline

sys/arm64/arm64/trap.c
434

I'd drop the do_ from this name.

439

This should be if ((exception & ISS_DATA_TFV) != 0) { (and similar below)

608

Do we need to restore the VFP state? It should be enabled when this exception is raised.

sys/arm64/include/armreg.h
299–306

These should be named something like ISS_FP_TFV_FOO and placed before the ISS_INSN_* definitions. The ISS_DATA_* macros are for data aborts.

dchagin added inline comments.
sys/arm64/arm64/trap.c
608

yep, I should read Architecture Reference Manual before

sys/arm64/include/armreg.h
299–306

I'd prefer ISS_FP_FOO as TVF and FOO are bits in the same word, but if you insist, I'll change the naming

This revision is now accepted and ready to land.May 19 2022, 11:57 AM
This revision was automatically updated to reflect the committed changes.
dchagin marked 2 inline comments as done.