linux/arch/xtensa
Max Filippov 3ae908c99e xtensa: provide custom CALLER_ADDR* implementations
Definition of CALLER_ADDR* through __builtin_return_address makes
compiler insert calls to __xtensa_libgcc_window_spill, which in turn
makes fast_syscall_spill_registers syscall that clobbers registers when
called from the kernel mode, leading to invalid opcode exceptions on
return to userspace.

Provide definition for CALLER_ADDR0 as MAKE_PC_FROM_RA(a0, a1) and in
case CONFIG_FRAME_POINTER is enabled extract CALLER_ADDR{1-3} from
stack.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
2013-05-09 01:07:10 -07:00
..
boot xtensa: add MMU v3 support 2013-05-09 01:07:09 -07:00
configs xtensa: drop CONFIG_EMBEDDED_RAMDISK 2012-10-03 15:13:09 -07:00
include xtensa: provide custom CALLER_ADDR* implementations 2013-05-09 01:07:10 -07:00
kernel xtensa: provide custom CALLER_ADDR* implementations 2013-05-09 01:07:10 -07:00
lib xtensa: clean up files to make them code-style compliant 2012-12-18 21:10:25 -08:00
mm xtensa: add MMU v3 support 2013-05-09 01:07:09 -07:00
oprofile xtensa: fix oprofile building as module 2013-05-09 01:07:09 -07:00
platforms xtensa: don't use a7 in simcalls 2013-05-09 01:07:10 -07:00
variants xtensa: Add config files for Diamond 233L - Rev C processor variant 2013-02-23 19:12:52 -08:00
Kconfig xtensa: add stacktrace support 2013-05-09 01:07:10 -07:00
Kconfig.debug xtensa: add s32c1i sanity check 2012-12-18 21:10:22 -08:00
Makefile xtensa: add support for oprofile 2013-02-23 19:22:54 -08:00