]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - arch/metag/kernel/tbiunexp.S
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
[mirror_ubuntu-bionic-kernel.git] / arch / metag / kernel / tbiunexp.S
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
ac919f08
JH
2/* Pass a breakpoint through to Codescape */
3
4#include <asm/tbx.h>
5
6 .text
7 .global ___TBIUnExpXXX
8 .type ___TBIUnExpXXX,function
9___TBIUnExpXXX:
10 TSTT D0Ar2,#TBICTX_CRIT_BIT ! Result of nestable int call?
11 BZ $LTBINormCase ! UnExpXXX at background level
12 MOV D0Re0,TXMASKI ! Read TXMASKI
13 XOR TXMASKI,D1Re0,D1Re0 ! Turn off BGNDHALT handling!
14 OR D0Ar2,D0Ar2,D0Re0 ! Preserve bits cleared
15$LTBINormCase:
16 MSETL [A0StP],D0Ar6,D0Ar4,D0Ar2 ! Save args on stack
17 SETL [A0StP++],D0Ar2,D1Ar1 ! Init area for returned values
18 SWITCH #0xC20208 ! Total stack frame size 8 Dwords
19 ! write back size 2 Dwords
20 GETL D0Re0,D1Re0,[--A0StP] ! Get result
21 SUB A0StP,A0StP,#(8*3) ! Recover stack frame
22 MOV PC,D1RtP
23 .size ___TBIUnExpXXX,.-___TBIUnExpXXX