xref: /nrf52832-nimble/rt-thread/libcpu/xilinx/microblaze/microblaze.inc (revision 104654410c56c573564690304ae786df310c91fc)
1*10465441SEvalZero/*
2*10465441SEvalZero * File      : microblaze.inc
3*10465441SEvalZero * This file is part of RT-Thread RTOS
4*10465441SEvalZero * COPYRIGHT (C) 2006, RT-Thread Development Team
5*10465441SEvalZero *
6*10465441SEvalZero * The license and distribution terms for this file may be
7*10465441SEvalZero * found in the file LICENSE in this distribution or at
8*10465441SEvalZero * http://www.rt-thread.org/license/LICENSE
9*10465441SEvalZero *
10*10465441SEvalZero * Change Logs:
11*10465441SEvalZero * Date           Author       Notes
12*10465441SEvalZero * 2011-12-17     nl1031       first implementation for MicroBlaze.
13*10465441SEvalZero *
14*10465441SEvalZero */
15*10465441SEvalZero
16*10465441SEvalZero
17*10465441SEvalZero
18*10465441SEvalZero.equ    STACK_RMSR,   	0x00
19*10465441SEvalZero.equ    STACK_R02,    	0x04
20*10465441SEvalZero.equ    STACK_R03,    	0x08
21*10465441SEvalZero.equ    STACK_R04,    	0x0C
22*10465441SEvalZero.equ    STACK_R05,    	0x10
23*10465441SEvalZero.equ    STACK_R06,    	0x14
24*10465441SEvalZero.equ    STACK_R07,    	0x18
25*10465441SEvalZero.equ    STACK_R08,    	0x1C
26*10465441SEvalZero.equ    STACK_R09,    	0x20
27*10465441SEvalZero.equ    STACK_R10,    	0x24
28*10465441SEvalZero.equ    STACK_R11,    	0x28
29*10465441SEvalZero.equ    STACK_R12,    	0x2C
30*10465441SEvalZero.equ    STACK_R13,    	0x30
31*10465441SEvalZero.equ    STACK_R14,    	0x34
32*10465441SEvalZero.equ    STACK_R15,    	0x38
33*10465441SEvalZero.equ    STACK_R17,    	0x3C
34*10465441SEvalZero.equ    STACK_R18,    	0x40
35*10465441SEvalZero.equ    STACK_R19,    	0x44
36*10465441SEvalZero.equ    STACK_R20,    	0x48
37*10465441SEvalZero.equ    STACK_R21,    	0x4C
38*10465441SEvalZero.equ    STACK_R22,    	0x50
39*10465441SEvalZero.equ    STACK_R23,    	0x54
40*10465441SEvalZero.equ    STACK_R24,    	0x58
41*10465441SEvalZero.equ    STACK_R25,    	0x5C
42*10465441SEvalZero.equ    STACK_R26,    	0x60
43*10465441SEvalZero.equ    STACK_R27,    	0x64
44*10465441SEvalZero.equ    STACK_R28,    	0x68
45*10465441SEvalZero.equ    STACK_R29,    	0x6C
46*10465441SEvalZero.equ    STACK_R30,    	0x70
47*10465441SEvalZero.equ    STACK_R31,    	0x74
48*10465441SEvalZero
49*10465441SEvalZero.equ    STACK_SIZE,   	0x78
50*10465441SEvalZero.equ    IE_BIT,       	0x02
51*10465441SEvalZero
52*10465441SEvalZero.macro PUSH_ALL
53*10465441SEvalZero    ADDIK   r1,  r1, -STACK_SIZE
54*10465441SEvalZero    SWI     r2,  r1,  STACK_R02
55*10465441SEvalZero    SWI     r3,  r1,  STACK_R03
56*10465441SEvalZero    SWI     r4,  r1,  STACK_R04
57*10465441SEvalZero    SWI     r5,  r1,  STACK_R05
58*10465441SEvalZero    SWI     r6,  r1,  STACK_R06
59*10465441SEvalZero    SWI     r7,  r1,  STACK_R07
60*10465441SEvalZero    SWI     r8,  r1,  STACK_R08
61*10465441SEvalZero    SWI     r9,  r1,  STACK_R09
62*10465441SEvalZero    SWI     r10, r1,  STACK_R10
63*10465441SEvalZero    SWI     r11, r1,  STACK_R11
64*10465441SEvalZero    SWI     r12, r1,  STACK_R12
65*10465441SEvalZero    SWI     r13, r1,  STACK_R13
66*10465441SEvalZero    SWI     r14, r1,  STACK_R14
67*10465441SEvalZero    SWI     r15, r1,  STACK_R15
68*10465441SEvalZero    SWI     r17, r1,  STACK_R17
69*10465441SEvalZero    SWI     r18, r1,  STACK_R18
70*10465441SEvalZero    SWI     r19, r1,  STACK_R19
71*10465441SEvalZero    SWI     r20, r1,  STACK_R20
72*10465441SEvalZero    SWI     r21, r1,  STACK_R21
73*10465441SEvalZero    SWI     r22, r1,  STACK_R22
74*10465441SEvalZero    SWI     r23, r1,  STACK_R23
75*10465441SEvalZero    SWI     r24, r1,  STACK_R24
76*10465441SEvalZero    SWI     r25, r1,  STACK_R25
77*10465441SEvalZero    SWI     r26, r1,  STACK_R26
78*10465441SEvalZero    SWI     r27, r1,  STACK_R27
79*10465441SEvalZero    SWI     r28, r1,  STACK_R28
80*10465441SEvalZero    SWI     r29, r1,  STACK_R29
81*10465441SEvalZero    SWI     r30, r1,  STACK_R30
82*10465441SEvalZero    SWI     r31, r1,  STACK_R31
83*10465441SEvalZero.endm
84*10465441SEvalZero
85*10465441SEvalZero.macro POP_ALL
86*10465441SEvalZero    LWI     r31, r1, STACK_R31
87*10465441SEvalZero    LWI     r30, r1, STACK_R30
88*10465441SEvalZero    LWI     r29, r1, STACK_R29
89*10465441SEvalZero    LWI     r28, r1, STACK_R28
90*10465441SEvalZero    LWI     r27, r1, STACK_R27
91*10465441SEvalZero    LWI     r26, r1, STACK_R26
92*10465441SEvalZero    LWI     r25, r1, STACK_R25
93*10465441SEvalZero    LWI     r24, r1, STACK_R24
94*10465441SEvalZero    LWI     r23, r1, STACK_R23
95*10465441SEvalZero    LWI     r22, r1, STACK_R22
96*10465441SEvalZero    LWI     r21, r1, STACK_R21
97*10465441SEvalZero    LWI     r20, r1, STACK_R20
98*10465441SEvalZero    LWI     r19, r1, STACK_R19
99*10465441SEvalZero    LWI     r18, r1, STACK_R18
100*10465441SEvalZero    LWI     r17, r1, STACK_R17
101*10465441SEvalZero    LWI     r15, r1, STACK_R15
102*10465441SEvalZero    LWI     r14, r1, STACK_R14
103*10465441SEvalZero    LWI     r13, r1, STACK_R13
104*10465441SEvalZero    LWI     r12, r1, STACK_R12
105*10465441SEvalZero    LWI     r11, r1, STACK_R11
106*10465441SEvalZero    LWI     r10, r1, STACK_R10
107*10465441SEvalZero    LWI     r9,  r1, STACK_R09
108*10465441SEvalZero    LWI     r8,  r1, STACK_R08
109*10465441SEvalZero    LWI     r7,  r1, STACK_R07
110*10465441SEvalZero    LWI     r6,  r1, STACK_R06
111*10465441SEvalZero    LWI     r5,  r1, STACK_R05
112*10465441SEvalZero    LWI     r4,  r1, STACK_R04
113*10465441SEvalZero    LWI     r3,  r1, STACK_R03
114*10465441SEvalZero    LWI     r2,  r1, STACK_R02
115*10465441SEvalZero.endm
116*10465441SEvalZero
117