esp-open-rtos/binary_sdk/libmain/os_cpu_a.S

228 lines
13 KiB
ArmAsm
Raw Normal View History

.section .text, "ax", @progbits
.literal_position # 0: 00000000
# 4: 00000000
# 8: 00000000
# c: 00000000
# 10: 00000000
# Function @ .text+0x14
# Local variables/stack:
# (local0): word @ -0x50
# (local1): word @ -0x4c
# (local2): word @ -0x48
# (local3): word @ -0x44
# (local4): word[16] @ -0x40
2015-10-04 08:11:33 +00:00
.balign 4
.global vPortYield
.type vPortYield, @function
vPortYield: wsr a0, excsave1 # 14: 00d113
addi sp, sp, -80 /* (local0) */ # 17: 12c1b0
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 1a: 0911
addi a0, sp, 80 /* (top of frame) */ # 1c: 02c150
s32i a0, sp, 16 /* (top of frame) -> [(local4)] */ # 1f: 0941
rsr a0, ps # 21: 00e603
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 24: 0921
rsr a0, excsave1 # 26: 00d103
s32i a0, sp, 12 /* a0 -> [(local3)] */ # 29: 0931
movi a0, _xt_user_exit # 2b: 01f5ff
s32i a0, sp, 0 /* _xt_user_exit -> [(local0)] */ # 2e: 0901
call0 sdk__xt_int_enter # 30: 050000
call0 vPortEnterCritical # 33: 01f4ffc0
# 37: 0000
call0 vTaskSwitchContext # 39: 01f3ffc0
# 3d: 0000
call0 vPortExitCritical # 3f: 01f3ffc0
# 43: 0000
call0 sdk__xt_int_exit # 45: 01f2ffc0
# 49: 0000
ret # 4b: 0df0
.literal_position # 50: 00000000
# 54: 00000000
# 58: 00000000
# 5c: 00000000
# 60: 00000000
# 64: 00350c00
# 68: 00000000
# 6c: 00000000
# 70: 00350c00
# Function @ .text+0x74
2015-10-04 08:11:33 +00:00
.balign 4
.global sdk__xt_int_enter
.type sdk__xt_int_enter, @function
sdk__xt_int_enter:
s32i a12, sp, 60 /* a12 -> [(FP)+0x3c] */ # 74: c9f1
s32i a13, sp, 64 /* a13 -> [(FP)+0x40] */ # 76: d26110
mov a12, a0 # 79: cd00
call0 sdk__xt_context_save # 7b: 01f5ffc0
# 7f: 0000
movi a0, pxCurrentTCB # 81: 01f4ff
l32i a0, a0, 0 /* [pxCurrentTCB] */ # 84: 0800
s32i sp, a0, 0 /* (top of frame) -> [[pxCurrentTCB]] */ # 86: 1900
mov a0, a12 # 88: 0d0c
ret # 8a: 0df0
# Function @ .text+0x8c
2015-10-04 08:11:33 +00:00
.balign 4
.global sdk__xt_int_exit
.type sdk__xt_int_exit, @function
sdk__xt_int_exit:
s32i a14, sp, 68 /* a14 -> [(FP)+0x44] */ # 8c: e26111
s32i a15, sp, 72 /* a15 -> [(FP)+0x48] */ # 8f: f26112
movi sp, pxCurrentTCB # 92: 11f1ff
l32i sp, sp, 0 /* [pxCurrentTCB] */ # 95: 1801
l32i sp, sp, 0 /* [[pxCurrentTCB]] */ # 97: 1801
movi a14, pxCurrentTCB # 99: e1f0ff
l32i a14, a14, 0 /* [pxCurrentTCB] */ # 9c: e80e
addi a15, sp, 80 /* [[pxCurrentTCB]]+0x50 */ # 9e: f2c150
s32i a15, a14, 0 /* [[pxCurrentTCB]]+0x50 -> [[pxCurrentTCB]] */ # a1: f90e
call0 sdk__xt_context_restore # a3: 01efffc0
# a7: 0000
l32i a14, sp, 68 /* [[[pxCurrentTCB]]+0x44] */ # a9: e22111
l32i a15, sp, 72 /* [[[pxCurrentTCB]]+0x48] */ # ac: f22112
l32i a0, sp, 0 /* [[[pxCurrentTCB]]] */ # af: 0801
ret # b1: 0df0
.balign 4
# Function @ .text+0xb4
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word[2] @ -0x8
2015-10-04 08:11:33 +00:00
.balign 4
.global sdk__xt_timer_int
.type sdk__xt_timer_int, @function
sdk__xt_timer_int:
addi sp, sp, -16 /* (local0) */ # b4: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # b7: 0901
.Lbr001: movi a2, 0x000c3500 # b9: 21eaff
rsr a3, ccompare0 # bc: 30f003
add a4, a3, a2 # bf: 2a43
wsr a4, ccompare0 # c1: 40f013
esync # c4: 202000
s32i a2, sp, 4 /* 0x000c3500 -> [(local1)] */ # c7: 2911
s32i a3, sp, 8 /* a3 -> [(local2)] */ # c9: 3921
call0 xPortSysTickHandle # cb: 01e7ffc0
# cf: 0000
l32i a2, sp, 4 /* [(local1)] */ # d1: 2811
l32i a3, sp, 8 /* [(local2)] */ # d3: 3821
esync # d5: 202000
rsr a4, ccount # d8: 40ea03
sub a4, a4, a3 # db: 3044c0
blt a2, a4, .Lbr001 # de: 4722d7
l32i a0, sp, 0 /* [(local0)] */ # e1: 0801
addi sp, sp, 16 /* (top of frame) */ # e3: 12c110
ret /* [(local1)] */ # e6: 0df0
# Function @ .text+0xe8
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word[2] @ -0x8
2015-10-04 08:11:33 +00:00
.balign 4
.global sdk__xt_timer_int1
.type sdk__xt_timer_int1, @function
sdk__xt_timer_int1:
addi sp, sp, -16 /* (local0) */ # e8: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # eb: 0901
s32i a2, sp, 4 /* arg0 -> [(local1)] */ # ed: 2911
s32i a3, sp, 8 /* arg1 -> [(local2)] */ # ef: 3921
call0 vTaskSwitchContext # f1: 01deffc0
# f5: 0000
l32i a2, sp, 4 /* [(local1)] */ # f7: 2811
l32i a3, sp, 8 /* [(local2)] */ # f9: 3821
l32i a0, sp, 0 /* [(local0)] */ # fb: 0801
addi sp, sp, 16 /* (top of frame) */ # fd: 12c110
ret /* [(local1)] */ # 100: 0df0
.balign 4
# Function @ .text+0x104
# Local variables/stack:
# (local0): word[4] @ -0x10
2015-10-04 08:11:33 +00:00
.balign 4
.global sdk__xt_tick_timer_init
.type sdk__xt_tick_timer_init, @function
sdk__xt_tick_timer_init:
addi sp, sp, -16 /* (local0) */ # 104: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 107: 0901
movi a3, 0x000c3500 # 109: 31d9ff
rsr a2, ccount # 10c: 20ea03
add a2, a2, a3 # 10f: 3a22
wsr a2, ccompare0 # 111: 20f013
movi a2, 0 /* 0x00000000 */ # 114: 0c02
xsr a2, intenable # 116: 20e461
movi a3, 64 /* 0x00000040 */ # 119: 4c03
or a2, a2, a3 # 11b: 302220
wsr a2, intenable # 11e: 20e413
l32i a0, sp, 0 /* [(local0)] */ # 121: 0801
addi sp, sp, 16 /* (top of frame) */ # 123: 12c110
ret # 126: 0df0
# Function @ .text+0x128
# Local variables/stack:
# (local0): word[4] @ -0x10
2015-10-04 08:11:33 +00:00
.balign 4
.global sdk__xt_isr_unmask
.type sdk__xt_isr_unmask, @function
sdk__xt_isr_unmask:
addi sp, sp, -16 /* (local0) */ # 128: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 12b: 0901
movi a3, 0 /* 0x00000000 */ # 12d: 0c03
xsr a3, intenable # 12f: 30e461
or a3, a2, a3 # 132: 303220
wsr a3, intenable # 135: 30e413
l32i a0, sp, 0 /* [(local0)] */ # 138: 0801
addi sp, sp, 16 /* (top of frame) */ # 13a: 12c110
ret /* arg0 */ # 13d: 0df0
.balign 4
# Function @ .text+0x140
# Local variables/stack:
# (local0): word[4] @ -0x10
2015-10-04 08:11:33 +00:00
.balign 4
.global sdk__xt_isr_mask
.type sdk__xt_isr_mask, @function
sdk__xt_isr_mask:
addi sp, sp, -16 /* (local0) */ # 140: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 143: 0901
movi a3, 0 /* 0x00000000 */ # 145: 0c03
xsr a3, intenable # 147: 30e461
and a3, a2, a3 # 14a: 303210
wsr a3, intenable # 14d: 30e413
l32i a0, sp, 0 /* [(local0)] */ # 150: 0801
addi sp, sp, 16 /* (top of frame) */ # 152: 12c110
ret /* arg0 */ # 155: 0df0
.balign 4
# Function @ .text+0x158
# Local variables/stack:
# (local0): word[4] @ -0x10
2015-10-04 08:11:33 +00:00
.balign 4
.global sdk__xt_read_ints
.type sdk__xt_read_ints, @function
sdk__xt_read_ints:
addi sp, sp, -16 /* (local0) */ # 158: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 15b: 0901
rsr a2, interrupt # 15d: 20e203
l32i a0, sp, 0 /* [(local0)] */ # 160: 0801
addi sp, sp, 16 /* (top of frame) */ # 162: 12c110
ret # 165: 0df0
.balign 4
# Function @ .text+0x168
# Local variables/stack:
# (local0): word[4] @ -0x10
2015-10-04 08:11:33 +00:00
.balign 4
.global sdk__xt_clear_ints
.type sdk__xt_clear_ints, @function
sdk__xt_clear_ints:
addi sp, sp, -16 /* (local0) */ # 168: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 16b: 0901
wsr a2, intclear # 16d: 20e313
l32i a0, sp, 0 /* [(local0)] */ # 170: 0801
addi sp, sp, 16 /* (top of frame) */ # 172: 12c110
ret # 175: 0df0