diff options
author | Patryk Duda <pdk@semihalf.com> | 2022-01-21 12:14:00 +0100 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2022-02-03 18:08:01 +0000 |
commit | 1f997a95b74503227388030c9237e998bf74b087 (patch) | |
tree | ad2e47a93dcb8d15be7451f9c16857281d38b394 /util/config_allowed.txt | |
parent | 3c743670489e30a9843095bfc9463537c1c2f07f (diff) | |
download | chrome-ec-1f997a95b74503227388030c9237e998bf74b087.tar.gz |
cortex-m: Introduce FPU interrupt handler
When performing some illegal operation or when result can't be
represented using floats, the FPU will assert an interrupt which
should be handled.
After this change, the EC will inform about type of FPU exception
and address where it ocurred. To reduce overhead, the FPU handler will
only copy necessary information, schedule fpu_warn() function and clear
FPU flags. Message is printed from fpu_warn() which is deferred function
(it's called from HOOK task context).
Please note that:
- FPU interrupt is not asserted immediately after problem occurred, but
with noticeable delay, so PC and LR might not be correct.
- FPU interrupt will be never triggered on STM32H7 (see errata ES0392
Rev 8, 2.1.2 Cortex-M7 FPU interrupt not present on NVIC line 81).
BUG=b:215606535
BRANCH=none
TEST=./test/run_device_tests.py --board bloonchipper --tests cortexm_fpu
TEST=./test/run_device_tests.py --board dartmonkey --tests cortexm_fpu
Signed-off-by: Patryk Duda <pdk@semihalf.com>
Change-Id: Ib6f6c974082affc35302a822f0beea176e204206
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3412259
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bobby Casey <bobbycasey@google.com>
Reviewed-by: Tom Hughes <tomhughes@chromium.org>
Commit-Queue: Patryk Duda <patrykd@google.com>
Diffstat (limited to 'util/config_allowed.txt')
-rw-r--r-- | util/config_allowed.txt | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/util/config_allowed.txt b/util/config_allowed.txt index 7a479bb143..5a3fc56e06 100644 --- a/util/config_allowed.txt +++ b/util/config_allowed.txt @@ -430,6 +430,7 @@ CONFIG_FLASH_WRITE_SIZE CONFIG_FMAP CONFIG_FOO CONFIG_FORCE_CONSOLE_RESUME +CONFIG_FPU_WARNINGS CONFIG_FP_SENSOR_ELAN515 CONFIG_FP_SENSOR_ELAN80 CONFIG_FP_SENSOR_FPC1025 |