-
Couldn't load subscription status.
- Fork 8.1k
arch/arm: New arch_switch() based context layer for Cortex M #85248
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
111510f
b836f18
f5c7e19
c75da2e
a6dba04
79e411a
b2fb152
06aa059
16fa13a
ccd2683
c0d3387
9af2efc
c119051
2db4bef
6102a08
ad3edb7
466d073
bf61c92
1f60e69
9a6f2a6
ce60cca
0b20636
e2debdf
aa19686
4f9ace5
66a8011
3f22f72
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -106,6 +106,9 @@ config CPU_CORTEX_M7 | |
|
|
||
| if CPU_CORTEX_M | ||
|
|
||
| config USE_SWITCH | ||
| default y if USE_SWITCH_SUPPORTED && !ARM_NONSECURE_FIRMWARE | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. When using TrustZone, Do I understand correctly that the new arch_switch can only be used in the secure domain? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is a mistake, I thought I'd removed the #ifery around this, ARM_(NON)?SECURE_FIRMWARE is expected to work. |
||
|
|
||
| config CPU_CORTEX_M_HAS_SYSTICK | ||
| bool | ||
| help | ||
|
|
@@ -226,6 +229,7 @@ config ARMV7_M_ARMV8_M_MAINLINE | |
| select CPU_CORTEX_M_HAS_VTOR | ||
| select CPU_CORTEX_M_HAS_PROGRAMMABLE_FAULT_PRIOS | ||
| select CPU_CORTEX_M_HAS_SYSTICK | ||
| select USE_SWITCH_SUPPORTED | ||
| help | ||
| This option signifies the use of an ARMv7-M processor | ||
| implementation, or the use of a backwards-compatible | ||
|
|
@@ -555,6 +559,15 @@ config CORTEX_M_NULL_POINTER_EXCEPTION_PAGE_SIZE | |
|
|
||
| endif # CORTEX_M_NULL_POINTER_EXCEPTION | ||
|
|
||
| config ARM_GCC_FP_WORKAROUND | ||
| bool "GCC/gas frame pointer workaround" | ||
| help | ||
| Enables a two-instruction workaround for a GNU toolchain | ||
| buglet in arch_switch() when the kernel must unavoidably be | ||
| compiled with -fno-omit-frame-pointer. Most code doesn't | ||
| want this, but in at least one case it's necessary. See | ||
| comment in arm-m-switch.h | ||
|
|
||
| rsource "tz/Kconfig" | ||
|
|
||
| endif # CPU_CORTEX_M | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: extra whitespace