[riot-commits] [RIOT-OS/RIOT] 056100: cpu/cortexm_common: Fix cpu_switch_context_exit()

Martine Lenders noreply at github.com
Sat Jul 4 11:43:10 CEST 2020

  Branch: refs/heads/master
  Home:   https://github.com/RIOT-OS/RIOT
  Commit: 056100c1ca95da39e7addd81f728ce7c8dadc990
  Author: Marian Buschsieweke <marian.buschsieweke at ovgu.de>
  Date:   2020-07-03 (Fri, 03 Jul 2020)

  Changed paths:
    M cpu/cortexm_common/thread_arch.c

  Log Message:
  cpu/cortexm_common: Fix cpu_switch_context_exit()

- Use `irq_enable()` over `bl irq_enable`, as `irq_enable()` is an inline
  function and not a C function any more
- Drop `__attribute__((naked))` qualifier
    - It must be used with the declaration of the function, but there it is
      missing. (And it cannot be added there, as this function would need to
      be implemented as "naked" by every platform; which is impossible for
      platforms not supporting `__attribute__((naked))`.)
    - Only functions consisting completely of basic asm may be marked as naked.
      But both the assembly used to trigger the SVC interrupt as well as the
      assembly used in `irq_enable()` are extended asm, not basic asm
- Use ` UNREACHABLE();` over a custom asm construct

  Commit: 60469026cf6ff4c7db6c74e113556a5007a4530a
  Author: Martine Lenders <m.lenders at fu-berlin.de>
  Date:   2020-07-04 (Sat, 04 Jul 2020)

  Changed paths:
    M cpu/cortexm_common/thread_arch.c

  Log Message:
  Merge pull request #14434 from maribu/irq_cleanup

cpu/cortexm_common: Fix cpu_switch_context_exit()

Compare: https://github.com/RIOT-OS/RIOT/compare/0ddb539d9724...60469026cf6f

More information about the commits mailing list