zephyr/include/arch/arm
Ioannis Glaropoulos 684f5ec12e arch: arm: userspace: add ip and sp to clobber
We should be adding a compiler barrier for IP and SP
registers when we are doing syscall generation on
ARMv6-M architecture. The syscall generation itself
only does an SVC trigger; the execution returns to
thread mode and ARM does not guarantee that IP
register is preserved, when we finally get back to
the point where the syscall was invoked. The SP
also needs to be preserved for syscalls returning
64-bit results. In that case the r0 may hold a
pointer to the stack where the 64-bit result was
pushed, That is, the stack pointer may have been
changed due to the syscall, and C code needs to
know that.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2019-10-18 14:20:32 -05:00
..
cortex_m linker: add custom align size to reduce alignment memory wasting 2019-09-19 21:38:31 -04:00
cortex_r linker: cxx: Include .gcc_except_table sections 2019-09-19 09:26:42 -05:00
arch.h arch/arm: rearrange for standard use of extern "C" 2019-08-20 00:49:15 +02:00
asm_inline.h arch: arm: Move header files to common location 2019-08-02 23:37:03 +03:00
asm_inline_gcc.h kernel: add architecture interface headers 2019-10-11 13:30:46 -07:00
error.h arch: arm: error: fix ARMv6-M assembly for Z_ARCH_EXCEPT 2019-10-16 11:22:48 +02:00
exc.h arm: arch code naming cleanup 2019-10-04 10:46:23 +02:00
irq.h kernel: add architecture interface headers 2019-10-11 13:30:46 -07:00
misc.h kernel: add architecture interface headers 2019-10-11 13:30:46 -07:00
nmi.h arm: arch code naming cleanup 2019-10-04 10:46:23 +02:00
syscall.h arch: arm: userspace: add ip and sp to clobber 2019-10-18 14:20:32 -05:00