1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-25 22:43:50 +01:00

Merge pull request #14333 from bergzand/pr/cortexm_common/thread_arch_remove_pipe

cortexm_common: Remove read in ICSR register read-modify-write operations
This commit is contained in:
Kaspar Schleiser 2020-06-23 13:29:34 +02:00 committed by GitHub
commit 9a10aad0a0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -280,7 +280,7 @@ void thread_yield_higher(void)
{
/* trigger the PENDSV interrupt to run scheduler and schedule new thread if
* applicable */
SCB->ICSR |= SCB_ICSR_PENDSVSET_Msk;
SCB->ICSR = SCB_ICSR_PENDSVSET_Msk;
}
void __attribute__((naked)) __attribute__((used)) isr_pendsv(void) {
@ -432,7 +432,7 @@ static void __attribute__((used)) _svc_dispatch(unsigned int *svc_args)
switch (svc_number) {
case 1: /* SVC number used by cpu_switch_context_exit */
SCB->ICSR |= SCB_ICSR_PENDSVSET_Msk;
SCB->ICSR = SCB_ICSR_PENDSVSET_Msk;
break;
default:
DEBUG("svc: unhandled SVC #%u\n", svc_number);
@ -443,6 +443,6 @@ static void __attribute__((used)) _svc_dispatch(unsigned int *svc_args)
#else /* MODULE_CORTEXM_SVC */
void __attribute__((used)) isr_svc(void)
{
SCB->ICSR |= SCB_ICSR_PENDSVSET_Msk;
SCB->ICSR = SCB_ICSR_PENDSVSET_Msk;
}
#endif /* MODULE_CORTEXM_SVC */