/* * Copyright 2017, Data61 * Commonwealth Scientific and Industrial Research Organisation (CSIRO) * ABN 41 687 119 230. * * This software may be distributed and modified according to the terms of * the BSD 2-Clause license. Note that NO WARRANTY is provided. * See "LICENSE_BSD2.txt" for details. * * @TAG(DATA61_BSD) */ /* See trampoline.h for an explanation of this functionality. */ .global debug_trampoline .text #ifdef CONFIG_ARCH_AARCH32 debug_trampoline: /* Give ourselves a stack. */ ldr sp, =debug_stack_top /* Shuffle the (up to) three arguments. */ mov r4, r0 mov r0, r1 mov r1, r2 mov r2, r3 /* bl so, if the caller had set the lr, the callee can return through to * it. */ blx r4 bx lr .bss .align 8 .space 4096 debug_stack_top: #endif /* CONFIG_ARCH_AARCH64 */