Compare commits
4 commits
master
...
feature/as
Author | SHA1 | Date | |
---|---|---|---|
|
1cbb46fbc7 | ||
|
5d434525ea | ||
|
a9e3928c8d | ||
|
419f252d80 |
189 changed files with 149633 additions and 3 deletions
5
binary_sdk/component.mk
Normal file
5
binary_sdk/component.mk
Normal file
|
@ -0,0 +1,5 @@
|
|||
# Component makefile for binary SDK components
|
||||
|
||||
binary_sdk_SRC_DIR = $(binary_sdk_ROOT)libmain $(binary_sdk_ROOT)libnet80211 $(binary_sdk_ROOT)libphy $(binary_sdk_ROOT)libpp $(binary_sdk_ROOT)libwpa
|
||||
|
||||
$(eval $(call component_compile_rules,binary_sdk))
|
32
binary_sdk/dump_libraries.sh
Executable file
32
binary_sdk/dump_libraries.sh
Executable file
|
@ -0,0 +1,32 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Simple bash script to regenerate a set of binary SDK subdirectories
|
||||
# containing assembler code disassembled using xtobjdis.
|
||||
#
|
||||
#
|
||||
INDIR=$1
|
||||
OUTDIR=$2
|
||||
if [ -z ${OUTDIR} ] || [ -z ${INDIR}; then
|
||||
echo "Usage: $0 [Input library dir] [Output binary_sdk dir]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
INDIR=$(realpath ${INDIR})
|
||||
OUTDIR=$(realpath ${OUTDIR})
|
||||
|
||||
set -e -x
|
||||
|
||||
for LIB in ${INDIR}/*.a; do
|
||||
LIB=$(basename ${LIB%.a})
|
||||
echo $LIB
|
||||
mkdir -p ${OUTDIR}/${LIB}
|
||||
cd ${OUTDIR}/$LIB
|
||||
ar x ${INDIR}/${LIB}.a
|
||||
for O in *.o; do
|
||||
O=${O%.o}
|
||||
xtobjdis --rewrite-as-source ${O}.o > ${O}.S
|
||||
rm ${O}.o
|
||||
done
|
||||
done
|
||||
|
||||
|
602
binary_sdk/libmain/ets_timer.S
Normal file
602
binary_sdk/libmain/ets_timer.S
Normal file
|
@ -0,0 +1,602 @@
|
|||
|
||||
.section .text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
|
||||
# Function @ .text+0x4
|
||||
.balign 4
|
||||
.Lfunc001: movi a5, .Ldata001 # 4: 51ffff
|
||||
l8ui a2, a5, 0 /* [.Ldata001] */ # 7: 220500
|
||||
addi a3, a5, 32 /* .bss+0x20 */ # a: 32c520
|
||||
addi a2, a2, 1 /* [.Ldata001]+0x1 */ # d: 1b22
|
||||
extui a2, a2, 0, 8 # f: 202074
|
||||
bltui a2, 5, .Lbr001 # 12: b65208
|
||||
addi a3, a2, -1 # 15: 0b32
|
||||
s8i a3, a5, 0 /* a3 -> [.Ldata001] */ # 17: 324500
|
||||
movi a2, 0 /* 0x00000000 */ # 1a: 0c02
|
||||
ret /* 0x00000000 */ # 1c: 0df0
|
||||
.Lbr001: s8i a2, a5, 0 /* a2 -> [.Ldata001] */ # 1e: 224500
|
||||
l8ui a2, a5, 1 /* [.Ldata002] */ # 21: 220501
|
||||
addi a4, a2, 1 /* [.Ldata002]+0x1 */ # 24: 1b42
|
||||
addx8 a2, a2, a3 # 26: 3022b0
|
||||
extui a4, a4, 0, 8 # 29: 404074
|
||||
bltui a4, 4, .Lbr002 # 2c: b64401
|
||||
movi a4, 0 /* 0x00000000 */ # 2f: 0c04
|
||||
.Lbr002: s8i a4, a5, 1 /* a4 -> [.Ldata002] */ # 31: 424501
|
||||
ret # 34: 0df0
|
||||
|
||||
.literal_position # 38: 24000000
|
||||
# 3c: 00000000
|
||||
# 40: 30000000
|
||||
# 44: 00000000
|
||||
# 48: 00000000
|
||||
# 4c: 00000000
|
||||
# 50: 00000000
|
||||
|
||||
# Function @ .text+0x54
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.Lfunc002: addi sp, sp, -16 /* (local0) */ # 54: 12c1f0
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 57: 0921
|
||||
call0 .Lfunc001 # 59: 85faff
|
||||
s32i a2, sp, 0 /* a2 -> [(local0)] */ # 5c: 2901
|
||||
bnez a2, .Lbr003 # 5e: cca2
|
||||
movi a2, .Lstr004 # 60: 21f6ff
|
||||
call0 printf # 63: 01f8ffc0
|
||||
# 67: 0000
|
||||
j .Lbr005 # 69: 060b00
|
||||
.Lbr003: mov a3, sp /* (local0) */ # 6c: 3d01
|
||||
addi a4, sp, 4 /* (local1) */ # 6e: 4b41
|
||||
movi a5, 0 /* 0x00000000 */ # 70: 0c05
|
||||
s32i a5, a2, 0 # 72: 5902
|
||||
movi a2, .Ldata001 # 74: 21f2ff
|
||||
s32i a5, sp, 4 /* 0x00000000 -> [(local1)] */ # 77: 5911
|
||||
l32i a2, a2, 16 /* [.Ldata004] */ # 79: 2842
|
||||
call0 xQueueGenericSendFromISR # 7b: 01f3ffc0
|
||||
# 7f: 0000
|
||||
mov a3, a2 # 81: 3d02
|
||||
beqi a2, 1, .Lbr004 # 83: 261208
|
||||
movi a2, .Lstr005 # 86: 21eeff
|
||||
call0 printf # 89: 01f0ffc0
|
||||
# 8d: 0000
|
||||
.Lbr004: l32i a3, sp, 4 /* [(local1)] */ # 8f: 3811
|
||||
beqz a3, .Lbr005 # 91: 8c43
|
||||
call0 vTaskSwitchContext # 93: 01efffc0
|
||||
# 97: 0000
|
||||
.Lbr005: l32i a0, sp, 8 /* [(local2)] */ # 99: 0821
|
||||
addi sp, sp, 16 /* (top of frame) */ # 9b: 12c110
|
||||
ret # 9e: 0df0
|
||||
|
||||
.section .bss, "aw", @nobits
|
||||
|
||||
.Ldata001: .byte 0x00
|
||||
.Ldata002: .byte 0x00
|
||||
.byte 0x00, 0x00
|
||||
.Ldata003: .word 0x00000000 # 4: 00000000
|
||||
.global sdk_debug_timer
|
||||
.type sdk_debug_timer, @object
|
||||
sdk_debug_timer:
|
||||
.word 0x00000000 # 8: 00000000
|
||||
.global sdk_debug_timerfn
|
||||
.type sdk_debug_timerfn, @object
|
||||
sdk_debug_timerfn:
|
||||
.word 0x00000000 # c: 00000000
|
||||
.Ldata004: .word 0x00000000 # 10: 00000000
|
||||
.space 44
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
# 4: 00000000
|
||||
# 8: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xc
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.Lfunc003: addi sp, sp, -16 /* (local0) */ # c: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # f: 0901
|
||||
call0 vPortEnterCritical # 11: 01fcffc0
|
||||
# 15: 0000
|
||||
movi a2, .Ldata001 # 17: 21faff
|
||||
l8ui a0, a2, 0 /* [.Ldata001] */ # 1a: 020200
|
||||
addi a0, a0, -1 /* [.Ldata001]-0x1 */ # 1d: 0b00
|
||||
s8i a0, a2, 0 /* [.Ldata001]-0x1 -> [.Ldata001] */ # 1f: 024200
|
||||
call0 vPortExitCritical # 22: 01f9ffc0
|
||||
# 26: 0000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 28: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 2a: 12c110
|
||||
ret # 2d: 0df0
|
||||
|
||||
.literal_position # 30: 00060060
|
||||
|
||||
# Function @ .irom0.text+0x34
|
||||
.balign 4
|
||||
.Lfunc004: movi a3, 0x60000600 # 34: 31ffff
|
||||
memw # 37: c02000
|
||||
s32i a2, a3, 48 /* arg0 -> [0x60000630] */ # 3a: 29c3
|
||||
ret /* arg0 */ # 3c: 0df0
|
||||
|
||||
.literal_position # 40: 00060060
|
||||
|
||||
# Function @ .irom0.text+0x44
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.Lfunc005: addi sp, sp, -16 /* (local0) */ # 44: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 47: 0901
|
||||
movi a4, 0x60000600 # 49: 41fdff
|
||||
memw # 4c: c02000
|
||||
l32i a4, a4, 36 /* [0x60000624] */ # 4f: 4894
|
||||
sub a0, a2, a4 # 51: 4002c0
|
||||
addi a3, a0, -40 # 54: 32c0d8
|
||||
bgei a3, 1, .Lbr007 # 57: e61314
|
||||
bgei a0, 1, .Lbr006 # 5a: e61008
|
||||
addi a2, a4, 40 /* [0x60000624]+0x28 */ # 5d: 22c428
|
||||
call0 .Lfunc004 # 60: 05fdff
|
||||
j .Lbr008 # 63: c60200
|
||||
.Lbr006: addi a2, a2, 44 /* arg0+0x2c */ # 66: 22c22c
|
||||
call0 .Lfunc004 # 69: 85fcff
|
||||
j .Lbr008 # 6c: 860000
|
||||
.Lbr007: call0 .Lfunc004 # 6f: 45fcff
|
||||
.Lbr008: l32i a0, sp, 0 /* [(local0)] */ # 72: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 74: 12c110
|
||||
ret # 77: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x7c
|
||||
.balign 4
|
||||
.global sdk_ets_timer_setfn
|
||||
.type sdk_ets_timer_setfn, @function
|
||||
sdk_ets_timer_setfn:
|
||||
s32i a3, a2, 16 /* arg1 -> [arg0+0x10] */ # 7c: 3942
|
||||
s32i a4, a2, 24 /* arg2 -> [arg0+0x18] */ # 7e: 4962
|
||||
movi a5, -1 /* 0xffffffff */ # 80: 7cf5
|
||||
movi a6, 0 /* 0x00000000 */ # 82: 0c06
|
||||
s32i a6, a2, 8 /* 0x00000000 -> [arg0+0x8] */ # 84: 6922
|
||||
s32i a6, a2, 12 /* 0x00000000 -> [arg0+0xc] */ # 86: 6932
|
||||
s32i a5, a2, 0 /* 0xffffffff -> [arg0] */ # 88: 5902
|
||||
ret /* arg0 */ # 8a: 0df0
|
||||
|
||||
.literal_position # 8c: 00000000
|
||||
# 90: 00000000
|
||||
# 94: 08000000
|
||||
# 98: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x9c
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.Lfunc006: addi sp, sp, -16 /* (local0) */ # 9c: 12c1f0
|
||||
movi a6, .Ldata001 # 9f: 61fbff
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # a2: 0911
|
||||
l32i a0, a6, 4 /* [.Ldata003] */ # a4: 0816
|
||||
movi a5, 0 /* 0x00000000 */ # a6: 0c05
|
||||
beqz a0, .Lbr010 # a8: 9c00
|
||||
.Lbr009: l32i a4, a0, 8 # aa: 4820
|
||||
sub a4, a2, a4 # ac: 4042c0
|
||||
blti a4, 1, .Lbr011 # af: a6140b
|
||||
mov a5, a0 # b2: 5d00
|
||||
l32i a0, a0, 0 # b4: 0800
|
||||
bnez a0, .Lbr009 # b6: 5600ff
|
||||
j .Lbr011 # b9: 460000
|
||||
.Lbr010: movi a5, 0 /* 0x00000000 */ # bc: 0c05
|
||||
.Lbr011: s32i a3, sp, 0 /* arg1 -> [(local0)] */ # be: 3901
|
||||
s32i a0, a3, 0 /* a0 -> [arg1] */ # c0: 0903
|
||||
s32i a2, a3, 8 /* arg0 -> [arg1+0x8] */ # c2: 2923
|
||||
beqz a5, .Lbr012 # c4: 8c35
|
||||
s32i a3, a5, 0 # c6: 3905
|
||||
j .Lbr013 # c8: 060200
|
||||
.Lbr012: l32i a5, sp, 0 /* [(local0)] */ # cb: 5801
|
||||
s32i a5, a6, 4 /* [(local0)] -> [.Ldata003] */ # cd: 5916
|
||||
call0 .Lfunc005 # cf: 45f7ff
|
||||
l32i a3, sp, 0 /* [(local0)] */ # d2: 3801
|
||||
.Lbr013: l32i a6, a3, 0 # d4: 6803
|
||||
l32i a0, sp, 4 /* [(local1)] */ # d6: 0811
|
||||
bne a6, a3, .Lbr015 # d8: 379611
|
||||
movi a2, .Lstr001 # db: 21edff
|
||||
movi a3, .Lstr002 # de: 31edff
|
||||
movi a4, 209 /* 0x000000d1 */ # e1: 42a0d1
|
||||
call0 ets_printf # e4: 01edffc0
|
||||
# e8: 0000
|
||||
.Lbr014: j .Lbr014 /* (halt) */ # ea: 06ffff
|
||||
.Lbr015: addi sp, sp, 16 /* (top of frame) */ # ed: 12c110
|
||||
ret # f0: 0df0
|
||||
|
||||
.literal_position # f4: 14000000
|
||||
# f8: 404b4c00
|
||||
# fc: 40420f00
|
||||
# 100: 00060060
|
||||
# 104: 00000000
|
||||
# 108: 00000000
|
||||
# 10c: 00000000
|
||||
# 110: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x114
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word @ -0x8
|
||||
# (local3): word @ -0x4
|
||||
.balign 4
|
||||
.global sdk_ets_timer_arm_ms_us
|
||||
.type sdk_ets_timer_arm_ms_us, @function
|
||||
sdk_ets_timer_arm_ms_us:
|
||||
addi sp, sp, -16 /* (local0) */ # 114: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 117: c911
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 119: d921
|
||||
mov a12, a2 /* arg0 */ # 11b: cd02
|
||||
mov a2, a3 /* arg1 */ # 11d: 2d03
|
||||
mov a3, a4 /* arg2 */ # 11f: 3d04
|
||||
l32i a4, a12, 0 /* [arg0] */ # 121: 480c
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 123: 0901
|
||||
beqi a4, -1, .Lbr017 # 125: 26040d
|
||||
movi a2, .Lstr003 # 128: 21f3ff
|
||||
mov a3, a12 /* arg0 */ # 12b: 3d0c
|
||||
call0 printf # 12d: 01f5ffc0
|
||||
# 131: 0000
|
||||
.Lbr016: j .Lbr016 /* (halt) */ # 133: 06ffff
|
||||
.Lbr017: bnei a5, 1, .Lbr018 # 136: 661505
|
||||
movi a0, 1000 /* 0x000003e8 */ # 139: 02a3e8
|
||||
mull a2, a2, a0 # 13c: 002282
|
||||
.Lbr018: beqz a2, .Lbr020 # 13f: ace2
|
||||
s32i a3, sp, 12 /* arg2 -> [(local3)] */ # 141: 3931
|
||||
movi a4, 858 /* 0x0000035a */ # 143: 42a35a
|
||||
bgeu a4, a2, .Lbr019 # 146: 27b411
|
||||
srli a13, a2, 2 # 149: 20d241
|
||||
extui a0, a2, 0, 2 # 14c: 200014
|
||||
addx4 a0, a0, a0 # 14f: 0000a0
|
||||
addx4 a13, a13, a13 # 152: d0dda0
|
||||
addx4 a13, a13, a0 # 155: 00dda0
|
||||
j .Lbr021 # 158: c60500
|
||||
.Lbr019: movi a4, 0x004c4b40 # 15b: 41e7ff
|
||||
movi a3, 0x000f4240 # 15e: 31e7ff
|
||||
mull a2, a2, a4 # 161: 402282
|
||||
call0 __udivsi3 # 164: 01e9ffc0
|
||||
# 168: 0000
|
||||
mov a13, a2 # 16a: dd02
|
||||
l32i a3, sp, 12 /* [(local3)] */ # 16c: 3831
|
||||
j .Lbr021 # 16e: 460000
|
||||
.Lbr020: movi a13, 0 /* 0x00000000 */ # 171: 0c0d
|
||||
.Lbr021: beqz a3, .Lbr022 # 173: 8c03
|
||||
s32i a13, a12, 12 /* a13 -> [arg0+0xc] */ # 175: d93c
|
||||
.Lbr022: call0 vPortEnterCritical # 177: 01e5ffc0
|
||||
# 17b: 0000
|
||||
mov a3, a12 /* arg0 */ # 17d: 3d0c
|
||||
movi a2, 0x60000600 # 17f: 21e0ff
|
||||
memw # 182: c02000
|
||||
l32i a2, a2, 36 /* [0x60000624] */ # 185: 2892
|
||||
add a2, a13, a2 # 187: 2a2d
|
||||
call0 .Lfunc006 # 189: 05f1ff
|
||||
call0 vPortExitCritical # 18c: 01e1ffc0
|
||||
# 190: 0000
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 192: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 194: d821
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 196: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 198: 12c110
|
||||
ret # 19b: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x1a0
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_ets_timer_arm_us
|
||||
.type sdk_ets_timer_arm_us, @function
|
||||
sdk_ets_timer_arm_us:
|
||||
movi a5, 0 /* 0x00000000 */ # 1a0: 0c05
|
||||
addi sp, sp, -16 /* (local0) */ # 1a2: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1a5: 0901
|
||||
call0 sdk_ets_timer_arm_ms_us # 1a7: 050000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 1aa: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 1ac: 12c110
|
||||
ret # 1af: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x1b4
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_ets_timer_arm
|
||||
.type sdk_ets_timer_arm, @function
|
||||
sdk_ets_timer_arm:
|
||||
movi a5, 1 /* 0x00000001 */ # 1b4: 0c15
|
||||
addi sp, sp, -16 /* (local0) */ # 1b6: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1b9: 0901
|
||||
call0 sdk_ets_timer_arm_ms_us # 1bb: 050000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 1be: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 1c0: 12c110
|
||||
ret # 1c3: 0df0
|
||||
|
||||
.literal_position # 1c8: 00000000
|
||||
# 1cc: 00000000
|
||||
# 1d0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x1d4
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_ets_timer_disarm
|
||||
.type sdk_ets_timer_disarm, @function
|
||||
sdk_ets_timer_disarm:
|
||||
addi sp, sp, -16 /* (local0) */ # 1d4: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 1d7: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1d9: 0901
|
||||
mov a12, a2 /* arg0 */ # 1db: cd02
|
||||
call0 vPortEnterCritical # 1dd: 01fbffc0
|
||||
# 1e1: 0000
|
||||
movi a5, .Ldata001 # 1e3: 51f9ff
|
||||
l32i a0, a5, 4 /* [.Ldata003] */ # 1e6: 0815
|
||||
movi a2, 0 /* 0x00000000 */ # 1e8: 0c02
|
||||
beqz a0, .Lbr024 # 1ea: 8cb0
|
||||
.Lbr023: beq a12, a0, .Lbr025 # 1ec: 071c0b
|
||||
mov a2, a0 # 1ef: 2d00
|
||||
l32i a0, a0, 0 # 1f1: 0800
|
||||
bnez a0, .Lbr023 # 1f3: 5650ff
|
||||
j .Lbr027 # 1f6: 860300
|
||||
.Lbr024: movi a2, 0 /* 0x00000000 */ # 1f9: 0c02
|
||||
.Lbr025: beqz a0, .Lbr027 # 1fb: 8c90
|
||||
l32i a0, a0, 0 # 1fd: 0800
|
||||
bnez a2, .Lbr026 # 1ff: cc32
|
||||
s32i a0, a5, 4 /* a0 -> [.Ldata003] */ # 201: 0915
|
||||
j .Lbr027 # 203: 460000
|
||||
.Lbr026: s32i a0, a2, 0 # 206: 0902
|
||||
.Lbr027: call0 vPortExitCritical # 208: 01f2ffc0
|
||||
# 20c: 0000
|
||||
movi a0, 0 /* 0x00000000 */ # 20e: 0c00
|
||||
movi a2, -1 /* 0xffffffff */ # 210: 7cf2
|
||||
s32i a2, a12, 0 /* 0xffffffff -> [arg0] */ # 212: 290c
|
||||
s32i a0, a12, 12 /* 0x00000000 -> [arg0+0xc] */ # 214: 093c
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 216: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 218: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 21a: 12c110
|
||||
ret /* 0xffffffff */ # 21d: 0df0
|
||||
|
||||
.literal_position # 220: 00000000
|
||||
# 224: 08000000
|
||||
# 228: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x22c
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_ets_timer_done
|
||||
.type sdk_ets_timer_done, @function
|
||||
sdk_ets_timer_done:
|
||||
addi sp, sp, -16 /* (local0) */ # 22c: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 22f: 0901
|
||||
l32i a0, a2, 0 /* [arg0] */ # 231: 0802
|
||||
beqi a0, -1, .Lbr029 # 233: 260011
|
||||
movi a2, .Lstr001 # 236: 21faff
|
||||
movi a3, .Lstr002 # 239: 31faff
|
||||
movi a4, 288 /* 0x00000120 */ # 23c: 42a120
|
||||
call0 ets_printf # 23f: 01faffc0
|
||||
# 243: 0000
|
||||
.Lbr028: j .Lbr028 /* (halt) */ # 245: 06ffff
|
||||
.Lbr029: movi a3, 0 /* 0x00000000 */ # 248: 0c03
|
||||
movi a4, 0 /* 0x00000000 */ # 24a: 0c04
|
||||
call0 sdk_ets_timer_setfn # 24c: 050000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 24f: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 251: 12c110
|
||||
ret # 254: 0df0
|
||||
|
||||
.literal_position # 258: 00060060
|
||||
# 25c: 00000000
|
||||
# 260: 00000000
|
||||
# 264: 00000000
|
||||
# 268: 00060060
|
||||
# 26c: 00000000
|
||||
# 270: 00000000
|
||||
# 274: 00000000
|
||||
# 278: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x27c
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_ets_timer_handler_isr
|
||||
.type sdk_ets_timer_handler_isr, @function
|
||||
sdk_ets_timer_handler_isr:
|
||||
addi sp, sp, -16 /* (local0) */ # 27c: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 27f: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 281: 0901
|
||||
call0 vPortEnterCritical # 283: 01faffc0
|
||||
# 287: 0000
|
||||
movi a3, 0x60000600 # 289: 31f3ff
|
||||
memw # 28c: c02000
|
||||
movi a0, .Ldata001 # 28f: 01f3ff
|
||||
l32i a5, a3, 36 /* [0x60000624] */ # 292: 5893
|
||||
.Lbr030: l32i a12, a0, 4 /* [.Ldata003] */ # 294: c810
|
||||
beqz a12, .Lbr033 # 296: 162c05
|
||||
l32i a2, a12, 8 /* [[.Ldata003]+0x8] */ # 299: 282c
|
||||
sub a4, a2, a5 # 29b: 5042c0
|
||||
bgei a4, 1, .Lbr032 # 29e: e61445
|
||||
movi a5, -1 /* 0xffffffff */ # 2a1: 7cf5
|
||||
movi a7, .Ldata001 # 2a3: 71efff
|
||||
l32i a8, a12, 16 /* [[.Ldata003]+0x10] */ # 2a6: 884c
|
||||
s32i a8, a7, 12 /* [[.Ldata003]+0x10] -> [sdk_debug_timerfn] */ # 2a8: 8937
|
||||
s32i a12, a7, 8 /* [.Ldata003] -> [sdk_debug_timer] */ # 2aa: c927
|
||||
l32i a6, a12, 0 /* [[.Ldata003]] */ # 2ac: 680c
|
||||
s32i a6, a7, 4 /* [[.Ldata003]] -> [.Ldata003] */ # 2ae: 6917
|
||||
s32i a5, a12, 0 /* 0xffffffff -> [[.Ldata003]] */ # 2b0: 590c
|
||||
call0 vPortExitCritical # 2b2: 01efffc0
|
||||
# 2b6: 0000
|
||||
l32i a0, a12, 16 /* [[.Ldata003]+0x10] */ # 2b8: 084c
|
||||
l32i a2, a12, 24 /* [[.Ldata003]+0x18] */ # 2ba: 286c
|
||||
callx0 a0 /* [[.Ldata003]+0x10] */ # 2bc: c00000
|
||||
call0 vPortEnterCritical # 2bf: 01edffc0
|
||||
# 2c3: 0000
|
||||
l32i a2, a12, 0 /* [[.Ldata003]] */ # 2c5: 280c
|
||||
l32i a0, a12, 12 /* [[.Ldata003]+0xc] */ # 2c7: 083c
|
||||
bnei a2, -1, .Lbr031 # 2c9: 66020c
|
||||
beqz a0, .Lbr031 # 2cc: 8c90
|
||||
l32i a2, a12, 8 /* [[.Ldata003]+0x8] */ # 2ce: 282c
|
||||
mov a3, a12 /* [.Ldata003] */ # 2d0: 3d0c
|
||||
add a2, a2, a0 # 2d2: 0a22
|
||||
s32i a2, a12, 8 /* a2 -> [[.Ldata003]+0x8] */ # 2d4: 292c
|
||||
call0 .Lfunc006 # 2d6: 45dcff
|
||||
.Lbr031: movi a0, .Ldata001 # 2d9: 01e2ff
|
||||
memw # 2dc: c02000
|
||||
movi a3, 0x60000600 # 2df: 31e2ff
|
||||
l32i a5, a3, 36 /* [0x60000624] */ # 2e2: 5893
|
||||
j .Lbr030 # 2e4: 06ebff
|
||||
.Lbr032: beqz a12, .Lbr033 # 2e7: 8c1c
|
||||
call0 .Lfunc005 # 2e9: 85d5ff
|
||||
.Lbr033: call0 vPortExitCritical # 2ec: 01e3ffc0
|
||||
# 2f0: 0000
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 2f2: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 2f4: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 2f6: 12c110
|
||||
ret # 2f9: 0df0
|
||||
|
||||
.literal_position # 2fc: 00000000
|
||||
# 300: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x304
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.Lfunc007: addi sp, sp, -16 /* (local0) */ # 304: 12c1f0
|
||||
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 307: c921
|
||||
movi a12, .Ldata001 # 309: c1fcff
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 30c: 0911
|
||||
.Lbr034: l32i a2, a12, 16 /* [.Ldata004] */ # 30e: 284c
|
||||
mov a3, sp /* (local0) */ # 310: 3d01
|
||||
movi a4, -1 /* 0xffffffff */ # 312: 7cf4
|
||||
movi a5, 0 /* 0x00000000 */ # 314: 0c05
|
||||
call0 xQueueGenericReceive # 316: 01faffc0
|
||||
# 31a: 0000
|
||||
bnei a2, 1, .Lbr034 # 31c: 6612ee
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 31f: 0801
|
||||
l32i a0, a0, 0 /* [[(local0)]] */ # 321: 0800
|
||||
bnez a0, .Lbr035 # 323: cc30
|
||||
movi a2, 0 /* 0x00000000 */ # 325: 0c02
|
||||
call0 sdk_ets_timer_handler_isr # 327: 050000
|
||||
.Lbr035: call0 .Lfunc003 # 32a: 05ceff
|
||||
j .Lbr034 # 32d: 46f7ff
|
||||
|
||||
.literal_position # 330: 00000000
|
||||
# 334: 54000000
|
||||
# 338: 00000000
|
||||
# 33c: 40000000
|
||||
# 340: 04030000
|
||||
# 344: 50000000
|
||||
# 348: 00feef3f
|
||||
# 34c: 00060060
|
||||
# 350: 00000000
|
||||
# 354: 00000000
|
||||
# 358: 00000000
|
||||
# 35c: 00000000
|
||||
# 360: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x364
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word[3] @ -0x1c
|
||||
# (local2): word @ -0x10
|
||||
# (local3): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_ets_timer_init
|
||||
.type sdk_ets_timer_init, @function
|
||||
sdk_ets_timer_init:
|
||||
movi a3, .Lfunc002 # 364: 31f4ff
|
||||
addi sp, sp, -32 /* (local0) */ # 367: 12c1e0
|
||||
movi a2, .Ldata001 # 36a: 21f1ff
|
||||
s32i a0, sp, 20 /* a0 -> [(local3)] */ # 36d: 0951
|
||||
movi a0, 0 /* 0x00000000 */ # 36f: 0c00
|
||||
s32i a0, a2, 4 /* 0x00000000 -> [.Ldata003] */ # 371: 0912
|
||||
movi a2, 10 /* 0x0000000a */ # 373: 0ca2
|
||||
call0 _xt_isr_attach # 375: 01f6ffc0
|
||||
# 379: 0000
|
||||
movi a2, 4 /* 0x00000004 */ # 37b: 0c42
|
||||
movi a3, 4 /* 0x00000004 */ # 37d: 0c43
|
||||
movi a4, 0 /* 0x00000000 */ # 37f: 0c04
|
||||
call0 xQueueGenericCreate # 381: 01f4ffc0
|
||||
# 385: 0000
|
||||
movi a5, 0 /* 0x00000000 */ # 387: 0c05
|
||||
movi a6, 12 /* 0x0000000c */ # 389: 0cc6
|
||||
addi a7, sp, 16 /* (local2) */ # 38b: 72c110
|
||||
movi a4, .Ldata001 # 38e: 41eaff
|
||||
movi a3, 0 /* 0x00000000 */ # 391: 0c03
|
||||
s32i a2, a4, 16 /* a2 -> [.Ldata004] */ # 393: 2944
|
||||
movi a4, 200 /* 0x000000c8 */ # 395: 42a0c8
|
||||
s32i a3, sp, 0 /* 0x00000000 -> [(local0)] */ # 398: 3901
|
||||
s32i a3, sp, 4 /* 0x00000000 -> [(local1)] */ # 39a: 3911
|
||||
movi a2, .Lfunc007 # 39c: 21e9ff
|
||||
movi a3, .Lstr006 # 39f: 31e7ff
|
||||
call0 xTaskGenericCreate # 3a2: 01edffc0
|
||||
# 3a6: 0000
|
||||
movi a2, .Lstr007 # 3a8: 21e7ff
|
||||
l32i a3, sp, 16 /* [(local2)] */ # 3ab: 3841
|
||||
movi a4, 12 /* 0x0000000c */ # 3ad: 0cc4
|
||||
movi a5, 200 /* 0x000000c8 */ # 3af: 52a0c8
|
||||
call0 printf # 3b2: 01eaffc0
|
||||
# 3b6: 0000
|
||||
movi a6, 0x3feffe00 # 3b8: 61e4ff
|
||||
movi a9, 0x60000600 # 3bb: 91e4ff
|
||||
memw # 3be: c02000
|
||||
movi a8, 0 /* 0x00000000 */ # 3c1: 0c08
|
||||
s32i a8, a9, 48 /* 0x00000000 -> [0x60000630] */ # 3c3: 89c9
|
||||
movi a10, 132 /* 0x00000084 */ # 3c5: a2a084
|
||||
memw # 3c8: c02000
|
||||
s32i a10, a9, 40 /* 0x00000084 -> [0x60000628] */ # 3cb: a9a9
|
||||
memw # 3cd: c02000
|
||||
s32i a8, a9, 32 /* 0x00000000 -> [0x60000620] */ # 3d0: 8989
|
||||
movi a7, 4 /* 0x00000004 */ # 3d2: 0c47
|
||||
memw # 3d4: c02000
|
||||
l32i a5, a6, 0x204 /* [0x3ff00004] */ # 3d7: 522681
|
||||
or a5, a5, a7 # 3da: 705520
|
||||
memw # 3dd: c02000
|
||||
s32i a5, a6, 0x204 /* a5 -> [0x3ff00004] */ # 3e0: 526681
|
||||
movi a2, 1024 /* 0x00000400 */ # 3e3: 22a400
|
||||
call0 sdk__xt_isr_unmask # 3e6: 01deffc0
|
||||
# 3ea: 0000
|
||||
l32i a0, sp, 20 /* [(local3)] */ # 3ec: 0851
|
||||
addi sp, sp, 32 /* (top of frame) */ # 3ee: 12c120
|
||||
ret # 3f1: 0df0
|
||||
|
||||
.section .rodata.str1.4, "MSa", @progbits, 1
|
||||
|
||||
.Lstr001: .asciz "%s %s \n" # 0: 25732025
|
||||
# 4: 73200a00
|
||||
.Lstr002: .asciz "ets_timer.c" # 8: 6574735f
|
||||
# c: 74696d65
|
||||
# 10: 722e6300
|
||||
.Lstr003: .asciz "arm new %x %x\n" # 14: 61726d20
|
||||
# 18: 6e657720
|
||||
# 1c: 25782025
|
||||
# 20: 780a00
|
||||
.balign 4
|
||||
.Lstr004: .asciz "TIMQ_NUL\n" # 24: 54494d51
|
||||
# 28: 5f4e554c
|
||||
# 2c: 0a00
|
||||
.balign 4
|
||||
.Lstr005: .asciz "TIMQ_FL:%d!!" # 30: 54494d51
|
||||
# 34: 5f464c3a
|
||||
# 38: 25642121
|
||||
# 3c: 00
|
||||
.balign 4
|
||||
.Lstr006: .asciz "rtc_timer_task" # 40: 7274635f
|
||||
# 44: 74696d65
|
||||
# 48: 725f7461
|
||||
# 4c: 736b00
|
||||
.balign 4
|
||||
.Lstr007: .asciz "frc2_timer_task_hdl:%x, prio:%d, stack:%d\n" # 50: 66726332
|
||||
# 54: 5f74696d
|
||||
# 58: 65725f74
|
||||
# 5c: 61736b5f
|
||||
# 60: 68646c3a
|
||||
# 64: 25782c20
|
||||
# 68: 7072696f
|
||||
# 6c: 3a25642c
|
||||
# 70: 20737461
|
||||
# 74: 636b3a25
|
||||
# 78: 640a00
|
157
binary_sdk/libmain/misc.S
Normal file
157
binary_sdk/libmain/misc.S
Normal file
|
@ -0,0 +1,157 @@
|
|||
|
||||
.section .text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
|
||||
# Function @ .text+0x4
|
||||
.balign 4
|
||||
.global sdk_os_get_cpu_frequency
|
||||
.type sdk_os_get_cpu_frequency, @function
|
||||
sdk_os_get_cpu_frequency:
|
||||
movi a2, .Ldata001 # 4: 21ffff
|
||||
l32i a2, a2, 0 /* [.Ldata001] */ # 7: 2802
|
||||
ret /* [.Ldata001] */ # 9: 0df0
|
||||
|
||||
.section .data, "aw", @progbits
|
||||
|
||||
.Ldata001: .word 0x00000050 # 0: 50000000
|
||||
|
||||
.section .bss, "aw", @nobits
|
||||
|
||||
.global sdk__putc1
|
||||
.type sdk__putc1, @object
|
||||
sdk__putc1: .word 0x00000000 # 0: 00000000
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
# 4: 00000000
|
||||
# 8: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xc
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global sdk_ets_delay_us
|
||||
.type sdk_ets_delay_us, @function
|
||||
sdk_ets_delay_us:
|
||||
.global sdk_os_delay_us
|
||||
.type sdk_os_delay_us, @function
|
||||
sdk_os_delay_us:
|
||||
addi sp, sp, -16 /* (local0) */ # c: 12c1f0
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # f: d921
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 11: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 13: 0901
|
||||
mov a12, a2 /* arg0 */ # 15: cd02
|
||||
call0 xthal_get_ccount # 17: 01fbffc0
|
||||
# 1b: 0000
|
||||
movi a0, .Ldata001 # 1d: 01f8ff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # 20: 0800
|
||||
mov a13, a2 # 22: dd02
|
||||
mull a12, a0, a12 # 24: c0c082
|
||||
.Lbr001: call0 xthal_get_ccount # 27: 01f8ffc0
|
||||
# 2b: 0000
|
||||
sub a3, a2, a13 # 2d: d032c0
|
||||
bltu a3, a12, .Lbr001 # 30: c733f3
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 33: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 35: d821
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 37: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 39: 12c110
|
||||
ret # 3c: 0df0
|
||||
|
||||
.literal_position # 40: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x44
|
||||
.balign 4
|
||||
.global sdk_ets_update_cpu_frequency
|
||||
.type sdk_ets_update_cpu_frequency, @function
|
||||
sdk_ets_update_cpu_frequency:
|
||||
.global sdk_os_update_cpu_frequency
|
||||
.type sdk_os_update_cpu_frequency, @function
|
||||
sdk_os_update_cpu_frequency:
|
||||
movi a3, .Ldata001 # 44: 31ffff
|
||||
s32i a2, a3, 0 /* arg0 -> [.Ldata001] */ # 47: 2903
|
||||
ret /* arg0 */ # 49: 0df0
|
||||
|
||||
.literal_position # 4c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x50
|
||||
.balign 4
|
||||
.global sdk_os_install_putc1
|
||||
.type sdk_os_install_putc1, @function
|
||||
sdk_os_install_putc1:
|
||||
movi a3, sdk__putc1 # 50: 31ffff
|
||||
s32i a2, a3, 0 /* arg0 -> [sdk__putc1] */ # 53: 2903
|
||||
ret /* arg0 */ # 55: 0df0
|
||||
|
||||
.literal_position # 58: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x5c
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_os_putc
|
||||
.type sdk_os_putc, @function
|
||||
sdk_os_putc:
|
||||
addi sp, sp, -16 /* (local0) */ # 5c: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 5f: 0901
|
||||
movi a0, sdk__putc1 # 61: 01fdff
|
||||
l32i a0, a0, 0 /* [sdk__putc1] */ # 64: 0800
|
||||
callx0 a0 /* [sdk__putc1] */ # 66: c00000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 69: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 6b: 12c110
|
||||
ret # 6e: 0df0
|
||||
|
||||
.literal_position # 70: 00020060
|
||||
|
||||
# Function @ .irom0.text+0x74
|
||||
.balign 4
|
||||
.global sdk_gpio_output_set
|
||||
.type sdk_gpio_output_set, @function
|
||||
sdk_gpio_output_set:
|
||||
movi a6, 0x60000200 # 74: 61ffff
|
||||
memw # 77: c02000
|
||||
s32i a2, a6, 0x104 /* arg0 -> [0x60000304] */ # 7a: 226641
|
||||
memw # 7d: c02000
|
||||
s32i a3, a6, 0x108 /* arg1 -> [0x60000308] */ # 80: 326642
|
||||
memw # 83: c02000
|
||||
s32i a4, a6, 0x110 /* arg2 -> [0x60000310] */ # 86: 426644
|
||||
memw # 89: c02000
|
||||
s32i a5, a6, 0x114 /* arg3 -> [0x60000314] */ # 8c: 526645
|
||||
ret /* arg0 */ # 8f: 0df0
|
||||
|
||||
.literal_position # 94: 00060060
|
||||
# 98: ffffdfff
|
||||
|
||||
# Function @ .irom0.text+0x9c
|
||||
.balign 4
|
||||
.global sdk_rtc_get_reset_reason
|
||||
.type sdk_rtc_get_reset_reason, @function
|
||||
sdk_rtc_get_reset_reason:
|
||||
movi a4, 0x60000600 # 9c: 41feff
|
||||
memw # 9f: c02000
|
||||
l32i a2, a4, 0x114 /* [0x60000714] */ # a2: 222445
|
||||
extui a2, a2, 0, 4 # a5: 202034
|
||||
bnei a2, 5, .Lbr003 # a8: 665224
|
||||
memw # ab: c02000
|
||||
l32i a3, a4, 0x118 /* [0x60000718] */ # ae: 322446
|
||||
extui a3, a3, 8, 6 # b1: 303854
|
||||
bnei a3, 1, .Lbr002 # b4: 661304
|
||||
movi a2, 6 /* 0x00000006 */ # b7: 0c62
|
||||
j .Lbr003 # b9: c60400
|
||||
.Lbr002: memw # bc: c02000
|
||||
l32i a6, a4, 0x118 /* [0x60000718] */ # bf: 622446
|
||||
movi a5, 0 /* 0x00000000 */ # c2: 0c05
|
||||
extui a6, a6, 8, 6 # c4: 606854
|
||||
addi a6, a6, -8 # c7: 62c6f8
|
||||
movnez a2, a5, a6 # ca: 602593
|
||||
extui a2, a2, 0, 8 # cd: 202074
|
||||
.Lbr003: movi a8, 0xffdfffff # d0: 81f2ff
|
||||
memw # d3: c02000
|
||||
l32i a7, a4, 0x108 /* [0x60000708] */ # d6: 722442
|
||||
and a7, a7, a8 # d9: 807710
|
||||
memw # dc: c02000
|
||||
s32i a7, a4, 0x108 /* a7 -> [0x60000708] */ # df: 726442
|
||||
ret # e2: 0df0
|
227
binary_sdk/libmain/os_cpu_a.S
Normal file
227
binary_sdk/libmain/os_cpu_a.S
Normal file
|
@ -0,0 +1,227 @@
|
|||
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
548
binary_sdk/libmain/spi_flash.S
Normal file
548
binary_sdk/libmain/spi_flash.S
Normal file
|
@ -0,0 +1,548 @@
|
|||
|
||||
.section .text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: ff9f6ffe
|
||||
# 4: 00020060
|
||||
# 8: 00200000
|
||||
# c: 00000000
|
||||
# 10: 00020060
|
||||
# 14: 00200001
|
||||
# 18: 00201000
|
||||
# 1c: 00208000
|
||||
# 20: 00600000
|
||||
# 24: 00000000
|
||||
# 28: 00000000
|
||||
|
||||
# Function @ .text+0x2c
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_SPIReadModeCnfig
|
||||
.type sdk_SPIReadModeCnfig, @function
|
||||
sdk_SPIReadModeCnfig:
|
||||
addi sp, sp, -16 /* (local0) */ # 2c: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 2f: 0901
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 31: c911
|
||||
movi a4, 0xfe6f9fff # 33: 41f3ff
|
||||
movi a3, 0x60000200 # 36: 31f3ff
|
||||
memw # 39: c02000
|
||||
l32i a0, a3, 8 /* [0x60000208] */ # 3c: 0823
|
||||
and a0, a0, a4 # 3e: 400010
|
||||
memw # 41: c02000
|
||||
s32i a0, a3, 8 /* a0 -> [0x60000208] */ # 44: 0923
|
||||
movi a0, sdk_flashchip # 46: 01f1ff
|
||||
beqz a2, .Lbr004 # 49: 166204
|
||||
beqi a2, 1, .Lbr005 # 4c: 261249
|
||||
beqi a2, 2, .Lbr006 # 4f: 26224c
|
||||
beqi a2, 3, .Lbr007 # 52: 26324f
|
||||
addi a6, a2, -4 /* arg0-0x4 */ # 55: 62c2fc
|
||||
movi a5, 0x00002000 # 58: 51ecff
|
||||
movi a12, 0 /* 0x00000000 */ # 5b: 0c0c
|
||||
moveqz a12, a5, a6 # 5d: 60c583
|
||||
.Lbr001: beqz a2, .Lbr003 # 60: ac42
|
||||
beqi a2, 1, .Lbr003 # 62: 261222
|
||||
mov a2, a0 /* sdk_flashchip */ # 65: 2d00
|
||||
call0 Disable_QMode # 67: 01efffc0
|
||||
# 6b: 0000
|
||||
.Lbr002: memw # 6d: c02000
|
||||
movi a8, 0x60000200 # 70: 81e8ff
|
||||
l32i a7, a8, 8 /* [0x60000208] */ # 73: 7828
|
||||
or a7, a7, a12 # 75: c07720
|
||||
memw # 78: c02000
|
||||
s32i a7, a8, 8 /* a7 -> [0x60000208] */ # 7b: 7928
|
||||
movi a2, 0 /* 0x00000000 */ # 7d: 0c02
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 7f: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 81: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 83: 12c110
|
||||
ret /* 0x00000000 */ # 86: 0df0
|
||||
.Lbr003: mov a2, a0 /* sdk_flashchip */ # 88: 2d00
|
||||
call0 Enable_QMode # 8a: 01e7ffc0
|
||||
# 8e: 0000
|
||||
j .Lbr002 # 90: 46f6ff
|
||||
.Lbr004: movi a12, 0x01002000 # 93: c1e0ff
|
||||
j .Lbr001 # 96: 86f1ff
|
||||
.Lbr005: movi a12, 0x00102000 # 99: c1dfff
|
||||
j .Lbr001 # 9c: 06f0ff
|
||||
.Lbr006: movi a12, 0x00802000 # 9f: c1dfff
|
||||
j .Lbr001 # a2: 86eeff
|
||||
.Lbr007: movi a12, 0x00006000 # a5: c1deff
|
||||
j .Lbr001 # a8: 06edff
|
||||
|
||||
.literal_position # ac: 00000000
|
||||
# b0: 00000000
|
||||
# b4: 00000000
|
||||
# b8: 00000000
|
||||
# bc: 00000000
|
||||
# c0: 00000000
|
||||
# c4: 00000000
|
||||
# c8: 00000000
|
||||
# cc: 00000000
|
||||
# d0: 00000000
|
||||
# d4: 00000000
|
||||
|
||||
# Function @ .text+0xd8
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x30
|
||||
# (local1): word @ -0x2c
|
||||
# (local2): word @ -0x28
|
||||
# (local3): word @ -0x24
|
||||
# (local4): word @ -0x20
|
||||
# (local5): word @ -0x1c
|
||||
# (local6): word @ -0x18
|
||||
# (local7): word @ -0x14
|
||||
# (local8): word @ -0x10
|
||||
# (local9): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_SPIWrite
|
||||
.type sdk_SPIWrite, @function
|
||||
sdk_SPIWrite:
|
||||
mov a5, a4 /* arg2 */ # d8: 5d04
|
||||
addi sp, sp, -48 /* (local0) */ # da: 12c1d0
|
||||
s32i a12, sp, 16 /* a12 -> [(local4)] */ # dd: c941
|
||||
s32i a14, sp, 24 /* a14 -> [(local6)] */ # df: e961
|
||||
s32i a3, sp, 36 /* arg1 -> [(local9)] */ # e1: 3991
|
||||
s32i a0, sp, 12 /* a0 -> [(local3)] */ # e3: 0931
|
||||
movi a4, sdk_flashchip # e5: 41f1ff
|
||||
s32i a15, sp, 28 /* a15 -> [(local7)] */ # e8: f971
|
||||
s32i a13, sp, 20 /* a13 -> [(local5)] */ # ea: d951
|
||||
mov a15, a3 /* arg1 */ # ec: fd03
|
||||
mov a13, a2 /* arg0 */ # ee: dd02
|
||||
l32i a0, a4, 4 /* [.Ldata001] */ # f0: 0814
|
||||
add a2, a5, a2 # f2: 2a25
|
||||
bltu a0, a2, .Lbr008 # f4: 273002
|
||||
j .Lbr014 # f7: 462000
|
||||
.Lbr008: movi a2, 1 /* 0x00000001 */ # fa: 0c12
|
||||
j .Lbr013 # fc: 461b00
|
||||
.Lbr009: movi a2, sdk_flashchip # ff: 21ecff
|
||||
mov a3, a13 /* arg0 */ # 102: 3d0d
|
||||
mov a4, a15 /* arg1 */ # 104: 4d0f
|
||||
mov a5, a12 # 106: 5d0c
|
||||
call0 SPI_page_program # 108: 01eeffc0
|
||||
# 10c: 0000
|
||||
bnez a2, .Lbr008 # 10e: 5682fe
|
||||
l32i a2, sp, 8 /* [(local2)] */ # 111: 2821
|
||||
mov a3, a14 /* [.Ldata003] */ # 113: 3d0e
|
||||
sub a2, a2, a12 # 115: c022c0
|
||||
s32i a2, sp, 0 /* a2 -> [(local0)] */ # 118: 2901
|
||||
call0 __udivsi3 # 11a: 01eaffc0
|
||||
# 11e: 0000
|
||||
s32i a2, sp, 4 /* a2 -> [(local1)] */ # 120: 2911
|
||||
beqz a2, .Lbr011 # 122: acf2
|
||||
movi a3, 0 /* 0x00000000 */ # 124: 0c03
|
||||
s32i a3, sp, 32 /* 0x00000000 -> [(local8)] */ # 126: 3981
|
||||
.Lbr010: movi a2, sdk_flashchip # 128: 21e3ff
|
||||
add a3, a13, a12 # 12b: ca3d
|
||||
mov a5, a14 /* [.Ldata003] */ # 12d: 5d0e
|
||||
srli a4, a12, 2 # 12f: c04241
|
||||
addx4 a4, a4, a15 # 132: f044a0
|
||||
call0 SPI_page_program # 135: 01e4ffc0
|
||||
# 139: 0000
|
||||
bnez a2, .Lbr008 # 13b: 56b2fb
|
||||
add a12, a14, a12 # 13e: cace
|
||||
l32i a6, sp, 32 /* [(local8)] */ # 140: 6881
|
||||
l32i a5, sp, 4 /* [(local1)] */ # 142: 5811
|
||||
addi a7, a6, 1 /* [(local8)]+0x1 */ # 144: 1b76
|
||||
extui a6, a7, 0, 8 # 146: 706074
|
||||
s32i a6, sp, 32 /* a6 -> [(local8)] */ # 149: 6981
|
||||
bne a5, a6, .Lbr010 # 14b: 6795d9
|
||||
l32i a8, sp, 8 /* [(local2)] */ # 14e: 8821
|
||||
sub a8, a8, a12 # 150: c088c0
|
||||
s32i a8, sp, 0 /* a8 -> [(local0)] */ # 153: 8901
|
||||
.Lbr011: add a3, a13, a12 # 155: ca3d
|
||||
movi a2, sdk_flashchip # 157: 21d8ff
|
||||
l32i a5, sp, 0 /* [(local0)] */ # 15a: 5801
|
||||
srli a4, a12, 2 # 15c: c04241
|
||||
addx4 a4, a4, a15 # 15f: f044a0
|
||||
call0 SPI_page_program # 162: 01daffc0
|
||||
# 166: 0000
|
||||
bnez a2, .Lbr008 # 168: 56e2f8
|
||||
.Lbr012: movi a2, 0 /* 0x00000000 */ # 16b: 0c02
|
||||
.Lbr013: l32i a12, sp, 16 /* [(local4)] */ # 16d: c841
|
||||
l32i a13, sp, 20 /* [(local5)] */ # 16f: d851
|
||||
l32i a14, sp, 24 /* [(local6)] */ # 171: e861
|
||||
l32i a15, sp, 28 /* [(local7)] */ # 173: f871
|
||||
l32i a0, sp, 12 /* [(local3)] */ # 175: 0831
|
||||
addi sp, sp, 48 /* (top of frame) */ # 177: 12c130
|
||||
ret # 17a: 0df0
|
||||
.Lbr014: mov a2, a13 /* arg0 */ # 17c: 2d0d
|
||||
l32i a14, a4, 16 /* [.Ldata003] */ # 17e: e844
|
||||
s32i a5, sp, 8 /* arg2 -> [(local2)] */ # 180: 5921
|
||||
mov a3, a14 /* [.Ldata003] */ # 182: 3d0e
|
||||
call0 __umodsi3 # 184: 01d3ffc0
|
||||
# 188: 0000
|
||||
l32i a5, sp, 8 /* [(local2)] */ # 18a: 5821
|
||||
sub a12, a14, a2 # 18c: 20cec0
|
||||
bltu a5, a12, .Lbr015 # 18f: c73502
|
||||
j .Lbr009 # 192: 46daff
|
||||
.Lbr015: mov a4, a15 /* arg1 */ # 195: 4d0f
|
||||
mov a3, a13 /* arg0 */ # 197: 3d0d
|
||||
movi a2, sdk_flashchip # 199: 21c8ff
|
||||
call0 SPI_page_program # 19c: 01ceffc0
|
||||
# 1a0: 0000
|
||||
bnez a2, .Lbr008 # 1a2: 5642f5
|
||||
j .Lbr012 # 1a5: 86f0ff
|
||||
|
||||
.literal_position # 1a8: 00000000
|
||||
# 1ac: 00000000
|
||||
|
||||
# Function @ .text+0x1b0
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_SPIRead
|
||||
.type sdk_SPIRead, @function
|
||||
sdk_SPIRead:
|
||||
mov a5, a4 /* arg2 */ # 1b0: 5d04
|
||||
mov a7, a3 /* arg1 */ # 1b2: 7d03
|
||||
addi sp, sp, -16 /* (local0) */ # 1b4: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1b7: 0901
|
||||
mov a3, a2 /* arg0 */ # 1b9: 3d02
|
||||
mov a4, a7 /* arg1 */ # 1bb: 4d07
|
||||
movi a2, sdk_flashchip # 1bd: 21faff
|
||||
call0 SPI_read_data # 1c0: 01fbffc0
|
||||
# 1c4: 0000
|
||||
movi a4, 0 /* 0x00000000 */ # 1c6: 0c04
|
||||
l32i a3, sp, 0 /* [(local0)] */ # 1c8: 3801
|
||||
movi a0, 1 /* 0x00000001 */ # 1ca: 0c10
|
||||
addi sp, sp, 16 /* (top of frame) */ # 1cc: 12c110
|
||||
moveqz a0, a4, a2 # 1cf: 200483
|
||||
mov a2, a0 # 1d2: 2d00
|
||||
mov a0, a3 /* [(local0)] */ # 1d4: 0d03
|
||||
ret # 1d6: 0df0
|
||||
|
||||
.literal_position # 1d8: 00000000
|
||||
# 1dc: 00000000
|
||||
# 1e0: 00000000
|
||||
# 1e4: 00000000
|
||||
# 1e8: 00000000
|
||||
# 1ec: 00000000
|
||||
|
||||
# Function @ .text+0x1f0
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_SPIEraseSector
|
||||
.type sdk_SPIEraseSector, @function
|
||||
sdk_SPIEraseSector:
|
||||
addi sp, sp, -16 /* (local0) */ # 1f0: 12c1f0
|
||||
movi a3, sdk_flashchip # 1f3: 31f9ff
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 1f6: c911
|
||||
mov a12, a2 /* arg0 */ # 1f8: cd02
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1fa: 0901
|
||||
l32i a2, a3, 4 /* [.Ldata001] */ # 1fc: 2813
|
||||
l32i a3, a3, 12 /* [.Ldata002] */ # 1fe: 3833
|
||||
call0 __udivsi3 # 200: 01f9ffc0
|
||||
# 204: 0000
|
||||
bgeu a12, a2, .Lbr016 # 206: 27bc1f
|
||||
movi a2, sdk_flashchip # 209: 21f4ff
|
||||
call0 SPI_write_enable # 20c: 01f7ffc0
|
||||
# 210: 0000
|
||||
bnez a2, .Lbr016 # 212: dc32
|
||||
movi a2, sdk_flashchip # 214: 21f3ff
|
||||
l32i a3, a2, 12 /* [.Ldata002] */ # 217: 3832
|
||||
mull a3, a3, a12 # 219: c03382
|
||||
call0 SPI_sector_erase # 21c: 01f4ffc0
|
||||
# 220: 0000
|
||||
bnez a2, .Lbr016 # 222: cc32
|
||||
movi a2, 0 /* 0x00000000 */ # 224: 0c02
|
||||
j .Lbr017 # 226: 460000
|
||||
.Lbr016: movi a2, 1 /* 0x00000001 */ # 229: 0c12
|
||||
.Lbr017: l32i a12, sp, 4 /* [(local1)] */ # 22b: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 22d: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 22f: 12c110
|
||||
ret # 232: 0df0
|
||||
|
||||
.literal_position # 234: 00000000
|
||||
# 238: 00020060
|
||||
# 23c: 00000010
|
||||
# 240: ffffff00
|
||||
# 244: 00000000
|
||||
# 248: 00000000
|
||||
# 24c: 00000000
|
||||
# 250: 00000000
|
||||
# 254: 00000000
|
||||
|
||||
# Function @ .text+0x258
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_spi_flash_get_id
|
||||
.type sdk_spi_flash_get_id, @function
|
||||
sdk_spi_flash_get_id:
|
||||
addi sp, sp, -16 /* (local0) */ # 258: 12c1f0
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 25b: 0911
|
||||
call0 vPortEnterCritical # 25d: 01f9ffc0
|
||||
# 261: 0000
|
||||
call0 Cache_Read_Disable # 263: 01f9ffc0
|
||||
# 267: 0000
|
||||
movi a2, sdk_flashchip # 269: 21f2ff
|
||||
call0 Wait_SPI_Idle # 26c: 01f8ffc0
|
||||
# 270: 0000
|
||||
movi a4, 0 /* 0x00000000 */ # 272: 0c04
|
||||
movi a0, 0x60000200 # 274: 01f1ff
|
||||
memw # 277: c02000
|
||||
s32i a4, a0, 64 /* 0x00000000 -> [0x60000240] */ # 27a: 426010
|
||||
movi a3, 0x10000000 # 27d: 31efff
|
||||
memw # 280: c02000
|
||||
s32i a3, a0, 0 /* 0x10000000 -> [0x60000200] */ # 283: 3900
|
||||
memw # 285: c02000
|
||||
l32i a2, a0, 0 /* [0x60000200] */ # 288: 2800
|
||||
beqz a2, .Lbr019 # 28a: 8c62
|
||||
.Lbr018: memw # 28c: c02000
|
||||
l32i a5, a0, 0 /* [0x60000200] */ # 28f: 5800
|
||||
bnez a5, .Lbr018 # 291: 5675ff
|
||||
.Lbr019: movi a7, 0x00ffffff # 294: 71ebff
|
||||
memw # 297: c02000
|
||||
movi a2, 0 /* 0x00000000 */ # 29a: 0c02
|
||||
movi a3, 0 /* 0x00000000 */ # 29c: 0c03
|
||||
l32i a6, a0, 64 /* [0x60000240] */ # 29e: 622010
|
||||
movi a4, 1 /* 0x00000001 */ # 2a1: 0c14
|
||||
and a6, a6, a7 # 2a3: 706610
|
||||
s32i a6, sp, 0 /* a6 -> [(local0)] */ # 2a6: 6901
|
||||
call0 Cache_Read_Enable # 2a8: 01eaffc0
|
||||
# 2ac: 0000
|
||||
call0 vPortExitCritical # 2ae: 01e9ffc0
|
||||
# 2b2: 0000
|
||||
l32i a8, sp, 4 /* [(local1)] */ # 2b4: 8811
|
||||
l32i a2, sp, 0 /* [(local0)] */ # 2b6: 2801
|
||||
mov a0, a8 /* [(local1)] */ # 2b8: 0d08
|
||||
addi sp, sp, 16 /* (top of frame) */ # 2ba: 12c110
|
||||
ret /* [(local0)] */ # 2bd: 0df0
|
||||
|
||||
.literal_position # 2c0: 00000000
|
||||
# 2c4: 00000000
|
||||
# 2c8: 00000000
|
||||
# 2cc: 00000000
|
||||
# 2d0: 00000000
|
||||
# 2d4: 00000000
|
||||
|
||||
# Function @ .text+0x2d8
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global sdk_spi_flash_read_status
|
||||
.type sdk_spi_flash_read_status, @function
|
||||
sdk_spi_flash_read_status:
|
||||
addi sp, sp, -16 /* (local0) */ # 2d8: 12c1f0
|
||||
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 2db: 2901
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 2dd: 0921
|
||||
call0 vPortEnterCritical # 2df: 01f9ffc0
|
||||
# 2e3: 0000
|
||||
call0 Cache_Read_Disable # 2e5: 01f8ffc0
|
||||
# 2e9: 0000
|
||||
movi a2, sdk_flashchip # 2eb: 21f5ff
|
||||
l32i a3, sp, 0 /* [(local0)] */ # 2ee: 3801
|
||||
call0 SPI_read_status # 2f0: 01f7ffc0
|
||||
# 2f4: 0000
|
||||
movi a3, 0 /* 0x00000000 */ # 2f6: 0c03
|
||||
s32i a2, sp, 4 /* a2 -> [(local1)] */ # 2f8: 2911
|
||||
movi a4, 1 /* 0x00000001 */ # 2fa: 0c14
|
||||
movi a2, 0 /* 0x00000000 */ # 2fc: 0c02
|
||||
call0 Cache_Read_Enable # 2fe: 01f4ffc0
|
||||
# 302: 0000
|
||||
call0 vPortExitCritical # 304: 01f4ffc0
|
||||
# 308: 0000
|
||||
l32i a3, sp, 8 /* [(local2)] */ # 30a: 3821
|
||||
l32i a2, sp, 4 /* [(local1)] */ # 30c: 2811
|
||||
mov a0, a3 /* [(local2)] */ # 30e: 0d03
|
||||
addi sp, sp, 16 /* (top of frame) */ # 310: 12c110
|
||||
ret /* [(local1)] */ # 313: 0df0
|
||||
|
||||
.literal_position # 318: 00000000
|
||||
# 31c: 00000000
|
||||
# 320: 00000000
|
||||
# 324: 00000000
|
||||
# 328: 00000000
|
||||
# 32c: 00000000
|
||||
|
||||
# Function @ .text+0x330
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global sdk_spi_flash_write_status
|
||||
.type sdk_spi_flash_write_status, @function
|
||||
sdk_spi_flash_write_status:
|
||||
addi sp, sp, -16 /* (local0) */ # 330: 12c1f0
|
||||
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 333: 2901
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 335: 0921
|
||||
call0 vPortEnterCritical # 337: 01f9ffc0
|
||||
# 33b: 0000
|
||||
call0 Cache_Read_Disable # 33d: 01f8ffc0
|
||||
# 341: 0000
|
||||
movi a2, sdk_flashchip # 343: 21f5ff
|
||||
l32i a3, sp, 0 /* [(local0)] */ # 346: 3801
|
||||
call0 SPI_write_status # 348: 01f7ffc0
|
||||
# 34c: 0000
|
||||
movi a3, 0 /* 0x00000000 */ # 34e: 0c03
|
||||
s32i a2, sp, 4 /* a2 -> [(local1)] */ # 350: 2911
|
||||
movi a4, 1 /* 0x00000001 */ # 352: 0c14
|
||||
movi a2, 0 /* 0x00000000 */ # 354: 0c02
|
||||
call0 Cache_Read_Enable # 356: 01f4ffc0
|
||||
# 35a: 0000
|
||||
call0 vPortExitCritical # 35c: 01f4ffc0
|
||||
# 360: 0000
|
||||
l32i a3, sp, 8 /* [(local2)] */ # 362: 3821
|
||||
l32i a2, sp, 4 /* [(local1)] */ # 364: 2811
|
||||
mov a0, a3 /* [(local2)] */ # 366: 0d03
|
||||
addi sp, sp, 16 /* (top of frame) */ # 368: 12c110
|
||||
ret /* [(local1)] */ # 36b: 0df0
|
||||
|
||||
.literal_position # 370: 00000000
|
||||
# 374: 00000000
|
||||
# 378: 00000000
|
||||
# 37c: 00000000
|
||||
|
||||
# Function @ .text+0x380
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global sdk_spi_flash_erase_sector
|
||||
.type sdk_spi_flash_erase_sector, @function
|
||||
sdk_spi_flash_erase_sector:
|
||||
addi sp, sp, -16 /* (local0) */ # 380: 12c1f0
|
||||
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 383: 2901
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 385: 0921
|
||||
call0 vPortEnterCritical # 387: 01faffc0
|
||||
# 38b: 0000
|
||||
call0 Cache_Read_Disable # 38d: 01f9ffc0
|
||||
# 391: 0000
|
||||
l32i a2, sp, 0 /* [(local0)] */ # 393: 2801
|
||||
call0 sdk_SPIEraseSector # 395: 050000
|
||||
movi a3, 0 /* 0x00000000 */ # 398: 0c03
|
||||
s32i a2, sp, 4 /* a2 -> [(local1)] */ # 39a: 2911
|
||||
movi a4, 1 /* 0x00000001 */ # 39c: 0c14
|
||||
movi a2, 0 /* 0x00000000 */ # 39e: 0c02
|
||||
call0 Cache_Read_Enable # 3a0: 01f6ffc0
|
||||
# 3a4: 0000
|
||||
call0 vPortExitCritical # 3a6: 01f5ffc0
|
||||
# 3aa: 0000
|
||||
l32i a3, sp, 8 /* [(local2)] */ # 3ac: 3821
|
||||
l32i a2, sp, 4 /* [(local1)] */ # 3ae: 2811
|
||||
mov a0, a3 /* [(local2)] */ # 3b0: 0d03
|
||||
addi sp, sp, 16 /* (top of frame) */ # 3b2: 12c110
|
||||
ret /* [(local1)] */ # 3b5: 0df0
|
||||
|
||||
.literal_position # 3b8: 00000000
|
||||
# 3bc: 00000000
|
||||
# 3c0: 00000000
|
||||
# 3c4: 00000000
|
||||
|
||||
# Function @ .text+0x3c8
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word @ -0x8
|
||||
# (local3): word @ -0x4
|
||||
.balign 4
|
||||
.global sdk_spi_flash_write
|
||||
.type sdk_spi_flash_write, @function
|
||||
sdk_spi_flash_write:
|
||||
addi sp, sp, -16 /* (local0) */ # 3c8: 12c1f0
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 3cb: 0911
|
||||
s32i a13, sp, 12 /* a13 -> [(local3)] */ # 3cd: d931
|
||||
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 3cf: c921
|
||||
mov a13, a3 /* arg1 */ # 3d1: dd03
|
||||
mov a12, a4 /* arg2 */ # 3d3: cd04
|
||||
bnez a3, .Lbr020 # 3d5: cc33
|
||||
movi a2, 1 /* 0x00000001 */ # 3d7: 0c12
|
||||
j .Lbr022 # 3d9: 460e00
|
||||
.Lbr020: s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 3dc: 2901
|
||||
movi a0, 3 /* 0x00000003 */ # 3de: 0c30
|
||||
bnone a0, a4, .Lbr021 # 3e0: 470007
|
||||
movi a0, 4 /* 0x00000004 */ # 3e3: 0c40
|
||||
srli a12, a4, 2 # 3e5: 40c241
|
||||
addx4 a12, a12, a0 # 3e8: 00cca0
|
||||
.Lbr021: call0 vPortEnterCritical # 3eb: 01f3ffc0
|
||||
# 3ef: 0000
|
||||
call0 Cache_Read_Disable # 3f1: 01f2ffc0
|
||||
# 3f5: 0000
|
||||
mov a4, a12 # 3f7: 4d0c
|
||||
mov a3, a13 /* arg1 */ # 3f9: 3d0d
|
||||
l32i a2, sp, 0 /* [(local0)] */ # 3fb: 2801
|
||||
call0 sdk_SPIWrite # 3fd: 050000
|
||||
movi a3, 0 /* 0x00000000 */ # 400: 0c03
|
||||
mov a12, a2 # 402: cd02
|
||||
movi a4, 1 /* 0x00000001 */ # 404: 0c14
|
||||
movi a2, 0 /* 0x00000000 */ # 406: 0c02
|
||||
call0 Cache_Read_Enable # 408: 01eeffc0
|
||||
# 40c: 0000
|
||||
call0 vPortExitCritical # 40e: 01edffc0
|
||||
# 412: 0000
|
||||
mov a2, a12 # 414: 2d0c
|
||||
.Lbr022: l32i a12, sp, 8 /* [(local2)] */ # 416: c821
|
||||
l32i a13, sp, 12 /* [(local3)] */ # 418: d831
|
||||
l32i a0, sp, 4 /* [(local1)] */ # 41a: 0811
|
||||
addi sp, sp, 16 /* (top of frame) */ # 41c: 12c110
|
||||
ret # 41f: 0df0
|
||||
|
||||
.literal_position # 424: 00000000
|
||||
# 428: 00000000
|
||||
# 42c: 00000000
|
||||
# 430: 00000000
|
||||
|
||||
# Function @ .text+0x434
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word @ -0x8
|
||||
# (local3): word @ -0x4
|
||||
.balign 4
|
||||
.global sdk_spi_flash_read
|
||||
.type sdk_spi_flash_read, @function
|
||||
sdk_spi_flash_read:
|
||||
addi sp, sp, -16 /* (local0) */ # 434: 12c1f0
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 437: 0921
|
||||
s32i a4, sp, 0 /* arg2 -> [(local0)] */ # 439: 4901
|
||||
s32i a12, sp, 12 /* a12 -> [(local3)] */ # 43b: c931
|
||||
s32i a2, sp, 4 /* arg0 -> [(local1)] */ # 43d: 2911
|
||||
mov a12, a3 /* arg1 */ # 43f: cd03
|
||||
bnez a3, .Lbr023 # 441: cc33
|
||||
movi a2, 1 /* 0x00000001 */ # 443: 0c12
|
||||
j .Lbr024 # 445: 860a00
|
||||
.Lbr023: call0 vPortEnterCritical # 448: 01f7ffc0
|
||||
# 44c: 0000
|
||||
call0 Cache_Read_Disable # 44e: 01f6ffc0
|
||||
# 452: 0000
|
||||
mov a3, a12 /* arg1 */ # 454: 3d0c
|
||||
l32i a2, sp, 4 /* [(local1)] */ # 456: 2811
|
||||
l32i a4, sp, 0 /* [(local0)] */ # 458: 4801
|
||||
call0 sdk_SPIRead # 45a: 050000
|
||||
movi a3, 0 /* 0x00000000 */ # 45d: 0c03
|
||||
mov a12, a2 # 45f: cd02
|
||||
movi a4, 1 /* 0x00000001 */ # 461: 0c14
|
||||
movi a2, 0 /* 0x00000000 */ # 463: 0c02
|
||||
call0 Cache_Read_Enable # 465: 01f1ffc0
|
||||
# 469: 0000
|
||||
call0 vPortExitCritical # 46b: 01f1ffc0
|
||||
# 46f: 0000
|
||||
mov a2, a12 # 471: 2d0c
|
||||
.Lbr024: l32i a12, sp, 12 /* [(local3)] */ # 473: c831
|
||||
l32i a0, sp, 8 /* [(local2)] */ # 475: 0821
|
||||
addi sp, sp, 16 /* (top of frame) */ # 477: 12c110
|
||||
ret # 47a: 0df0
|
||||
|
||||
.section .data, "aw", @progbits
|
||||
|
||||
.global sdk_flashchip
|
||||
.type sdk_flashchip, @object
|
||||
sdk_flashchip:
|
||||
.word 0x001640ef # 0: ef401600
|
||||
.Ldata001: .word 0x00400000 # 4: 00004000
|
||||
|
||||
# NOTE: The following is apparently unreferenced code/data
|
||||
.word 0x00010000 # 8: 00000100
|
||||
|
||||
.Ldata002: .word 0x00001000 # c: 00100000
|
||||
.Ldata003: .word 0x00000100 # 10: 00010000
|
||||
|
||||
# NOTE: The following is apparently unreferenced code/data
|
||||
.word 0x0000ffff # 14: ffff0000
|
232
binary_sdk/libmain/timers.S
Normal file
232
binary_sdk/libmain/timers.S
Normal file
|
@ -0,0 +1,232 @@
|
|||
|
||||
.section .bss, "aw", @nobits
|
||||
|
||||
.Ldata001: .word 0x00000000 # 0: 00000000
|
||||
.Ldata002: .byte 0x00
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
# 4: 00000000
|
||||
# 8: 00000000
|
||||
# c: 00000000
|
||||
# 10: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x14
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word @ -0x10
|
||||
# (local5): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_os_timer_setfn
|
||||
.type sdk_os_timer_setfn, @function
|
||||
sdk_os_timer_setfn:
|
||||
addi sp, sp, -32 /* (local0) */ # 14: 12c1e0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 17: 0901
|
||||
s32i a14, sp, 12 /* a14 -> [(local3)] */ # 19: e931
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 1b: d921
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 1d: c911
|
||||
s32i a15, sp, 16 /* a15 -> [(local4)] */ # 1f: f941
|
||||
movi a15, .Ldata001 # 21: f1f7ff
|
||||
mov a12, a2 /* arg0 */ # 24: cd02
|
||||
l32i a13, a15, 0 /* [.Ldata001] */ # 26: d80f
|
||||
mov a14, a4 /* arg2 */ # 28: ed04
|
||||
beqz a13, .Lbr006 # 2a: 16fd04
|
||||
.Lbr001: l32i a0, a13, 4 # 2d: 081d
|
||||
bne a0, a12, .Lbr005 # 2f: c79041
|
||||
l32i a2, a12, 24 /* [arg0+0x18] */ # 32: 286c
|
||||
l32i a4, a12, 16 /* [arg0+0x10] */ # 34: 484c
|
||||
bne a2, a14, .Lbr002 # 36: e79202
|
||||
beq a4, a3, .Lbr007 # 39: 37145f
|
||||
.Lbr002: l32i a2, a12, 4 /* [arg0+0x4] */ # 3c: 281c
|
||||
s32i a3, sp, 20 /* arg1 -> [(local5)] */ # 3e: 3951
|
||||
beqz a2, .Lbr004 # 40: ac32
|
||||
movi a3, 3 /* 0x00000003 */ # 42: 0c33
|
||||
movi a4, 0 /* 0x00000000 */ # 44: 0c04
|
||||
movi a5, 0 /* 0x00000000 */ # 46: 0c05
|
||||
movi a6, 50 /* 0x00000032 */ # 48: 3c26
|
||||
call0 xTimerGenericCommand # 4a: 01efffc0
|
||||
# 4e: 0000
|
||||
l32i a3, sp, 20 /* [(local5)] */ # 50: 3851
|
||||
bnez a2, .Lbr003 # 52: cc92
|
||||
movi a2, .Lstr001 # 54: 21ecff
|
||||
call0 printf # 57: 01edffc0
|
||||
# 5b: 0000
|
||||
l32i a3, sp, 20 /* [(local5)] */ # 5d: 3851
|
||||
.Lbr003: l8ui a5, a15, 4 /* [.Ldata002] */ # 5f: 520f04
|
||||
addi a5, a5, -1 /* [.Ldata002]-0x1 */ # 62: 0b55
|
||||
s8i a5, a15, 4 /* [.Ldata002]-0x1 -> [.Ldata002] */ # 64: 524f04
|
||||
.Lbr004: s32i a3, a12, 16 /* a3 -> [arg0+0x10] */ # 67: 394c
|
||||
s32i a14, a12, 24 /* arg2 -> [arg0+0x18] */ # 69: e96c
|
||||
movi a6, 0 /* 0x00000000 */ # 6b: 0c06
|
||||
s32i a6, a12, 4 /* 0x00000000 -> [arg0+0x4] */ # 6d: 691c
|
||||
s32i a6, a12, 12 /* 0x00000000 -> [arg0+0xc] */ # 6f: 693c
|
||||
j .Lbr007 # 71: c60900
|
||||
.Lbr005: l32i a0, a13, 0 # 74: 080d
|
||||
beqz a0, .Lbr006 # 76: 8c30
|
||||
mov a13, a0 # 78: dd00
|
||||
bnez a0, .Lbr001 # 7a: 56f0fa
|
||||
.Lbr006: s32i a3, a12, 16 /* arg1 -> [arg0+0x10] */ # 7d: 394c
|
||||
s32i a14, a12, 24 /* arg2 -> [arg0+0x18] */ # 7f: e96c
|
||||
movi a2, 8 /* 0x00000008 */ # 81: 0c82
|
||||
movi a7, 0 /* 0x00000000 */ # 83: 0c07
|
||||
s32i a7, a12, 4 /* 0x00000000 -> [arg0+0x4] */ # 85: 791c
|
||||
s32i a7, a12, 12 /* 0x00000000 -> [arg0+0xc] */ # 87: 793c
|
||||
call0 pvPortMalloc # 89: 01e1ffc0
|
||||
# 8d: 0000
|
||||
s32i a12, a2, 4 # 8f: c912
|
||||
movi a9, 0 /* 0x00000000 */ # 91: 0c09
|
||||
l32i a8, a15, 0 /* [.Ldata001] */ # 93: 880f
|
||||
s32i a9, a2, 0 # 95: 9902
|
||||
movnez a15, a13, a8 # 97: 80fd93
|
||||
s32i a2, a15, 0 # 9a: 290f
|
||||
.Lbr007: l32i a12, sp, 4 /* [(local1)] */ # 9c: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 9e: d821
|
||||
l32i a14, sp, 12 /* [(local3)] */ # a0: e831
|
||||
l32i a15, sp, 16 /* [(local4)] */ # a2: f841
|
||||
l32i a0, sp, 0 /* [(local0)] */ # a4: 0801
|
||||
addi sp, sp, 32 /* (top of frame) */ # a6: 12c120
|
||||
ret # a9: 0df0
|
||||
|
||||
.literal_position # ac: 00000000
|
||||
# b0: 18000000
|
||||
# b4: 00000000
|
||||
# b8: 00000000
|
||||
# bc: 00000000
|
||||
# c0: 00000000
|
||||
# c4: 00000000
|
||||
# c8: 00000000
|
||||
# cc: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xd0
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_os_timer_arm
|
||||
.type sdk_os_timer_arm, @function
|
||||
sdk_os_timer_arm:
|
||||
addi sp, sp, -32 /* (local0) */ # d0: 12c1e0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # d3: 0901
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # d5: d921
|
||||
s32i a15, sp, 16 /* a15 -> [(local4)] */ # d7: f941
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # d9: c911
|
||||
s32i a14, sp, 12 /* a14 -> [(local3)] */ # db: e931
|
||||
mov a12, a2 /* arg0 */ # dd: cd02
|
||||
mov a14, a3 /* arg1 */ # df: ed03
|
||||
l32i a15, a2, 4 /* [arg0+0x4] */ # e1: f812
|
||||
mov a13, a4 /* arg2 */ # e3: dd04
|
||||
bnez a15, .Lbr008 # e5: ecff
|
||||
s8i a4, a2, 20 /* arg2 -> [arg0+0x14] */ # e7: 424214
|
||||
s32i a3, a2, 12 /* arg1 -> [arg0+0xc] */ # ea: 3932
|
||||
mov a2, a3 /* arg1 */ # ec: 2d03
|
||||
movi a3, 10 /* 0x0000000a */ # ee: 0ca3
|
||||
call0 __udivsi3 # f0: 01f1ffc0
|
||||
# f4: 0000
|
||||
mov a4, a13 /* arg2 */ # f6: 4d0d
|
||||
l32i a5, a12, 24 /* [arg0+0x18] */ # f8: 586c
|
||||
mov a3, a2 # fa: 3d02
|
||||
l32i a6, a12, 16 /* [arg0+0x10] */ # fc: 684c
|
||||
movi a2, 0 /* 0x00000000 */ # fe: 0c02
|
||||
call0 xTimerCreate # 100: 01eeffc0
|
||||
# 104: 0000
|
||||
movi a3, .Ldata001 # 106: 31e9ff
|
||||
mov a15, a2 # 109: fd02
|
||||
l8ui a0, a3, 4 /* [.Ldata002] */ # 10b: 020304
|
||||
s32i a2, a12, 4 /* a2 -> [arg0+0x4] */ # 10e: 291c
|
||||
addi a0, a0, 1 /* [.Ldata002]+0x1 */ # 110: 1b00
|
||||
s8i a0, a3, 4 /* [.Ldata002]+0x1 -> [.Ldata002] */ # 112: 024304
|
||||
beqz a2, .Lbr011 # 115: 16c204
|
||||
.Lbr008: l8ui a3, a12, 20 /* [arg0+0x14] */ # 118: 320c14
|
||||
beq a3, a13, .Lbr009 # 11b: d71304
|
||||
s8i a13, a12, 20 /* arg2 -> [arg0+0x14] */ # 11e: d24c14
|
||||
s32i a13, a15, 28 # 121: d97f
|
||||
.Lbr009: l32i a4, a12, 12 /* [arg0+0xc] */ # 123: 483c
|
||||
beq a4, a14, .Lbr010 # 125: e7141b
|
||||
mov a2, a14 /* arg1 */ # 128: 2d0e
|
||||
s32i a14, a12, 12 /* arg1 -> [arg0+0xc] */ # 12a: e93c
|
||||
movi a3, 10 /* 0x0000000a */ # 12c: 0ca3
|
||||
call0 __udivsi3 # 12e: 01e3ffc0
|
||||
# 132: 0000
|
||||
movi a3, 2 /* 0x00000002 */ # 134: 0c23
|
||||
movi a5, 0 /* 0x00000000 */ # 136: 0c05
|
||||
mov a4, a2 # 138: 4d02
|
||||
movi a6, 10 /* 0x0000000a */ # 13a: 0ca6
|
||||
mov a2, a15 # 13c: 2d0f
|
||||
call0 xTimerGenericCommand # 13e: 01e0ffc0
|
||||
# 142: 0000
|
||||
.Lbr010: call0 xTaskGetTickCount # 144: 01e0ffc0
|
||||
# 148: 0000
|
||||
movi a3, 0 /* 0x00000000 */ # 14a: 0c03
|
||||
movi a5, 0 /* 0x00000000 */ # 14c: 0c05
|
||||
mov a4, a2 # 14e: 4d02
|
||||
movi a6, 50 /* 0x00000032 */ # 150: 3c26
|
||||
l32i a2, a12, 4 /* [arg0+0x4] */ # 152: 281c
|
||||
call0 xTimerGenericCommand # 154: 01ddffc0
|
||||
# 158: 0000
|
||||
bnez a2, .Lbr011 # 15a: cc72
|
||||
movi a2, .Lstr002 # 15c: 21d5ff
|
||||
call0 printf # 15f: 01dbffc0
|
||||
# 163: 0000
|
||||
.Lbr011: l32i a12, sp, 4 /* [(local1)] */ # 165: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 167: d821
|
||||
l32i a14, sp, 12 /* [(local3)] */ # 169: e831
|
||||
l32i a15, sp, 16 /* [(local4)] */ # 16b: f841
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 16d: 0801
|
||||
addi sp, sp, 32 /* (top of frame) */ # 16f: 12c120
|
||||
ret # 172: 0df0
|
||||
|
||||
.literal_position # 174: 2c000000
|
||||
# 178: 00000000
|
||||
# 17c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x180
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_os_timer_disarm
|
||||
.type sdk_os_timer_disarm, @function
|
||||
sdk_os_timer_disarm:
|
||||
addi sp, sp, -16 /* (local0) */ # 180: 12c1f0
|
||||
l32i a2, a2, 4 /* [arg0+0x4] */ # 183: 2812
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 185: 0901
|
||||
beqz a2, .Lbr012 # 187: 9c72
|
||||
movi a3, 1 /* 0x00000001 */ # 189: 0c13
|
||||
movi a4, 0 /* 0x00000000 */ # 18b: 0c04
|
||||
movi a5, 0 /* 0x00000000 */ # 18d: 0c05
|
||||
movi a6, 50 /* 0x00000032 */ # 18f: 3c26
|
||||
call0 xTimerGenericCommand # 191: 01f9ffc0
|
||||
# 195: 0000
|
||||
bnez a2, .Lbr012 # 197: cc72
|
||||
movi a2, .Lstr003 # 199: 21f6ff
|
||||
call0 printf # 19c: 01f8ffc0
|
||||
# 1a0: 0000
|
||||
.Lbr012: l32i a0, sp, 0 /* [(local0)] */ # 1a2: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 1a4: 12c110
|
||||
ret # 1a7: 0df0
|
||||
|
||||
.section .rodata.str1.4, "MSa", @progbits, 1
|
||||
|
||||
.Lstr001: .asciz "Timer Delete Failed\n" # 0: 54696d65
|
||||
# 4: 72204465
|
||||
# 8: 6c657465
|
||||
# c: 20466169
|
||||
# 10: 6c65640a
|
||||
# 14: 00
|
||||
.balign 4
|
||||
.Lstr002: .asciz "Timer Start Failed\n" # 18: 54696d65
|
||||
# 1c: 72205374
|
||||
# 20: 61727420
|
||||
# 24: 4661696c
|
||||
# 28: 65640a00
|
||||
.Lstr003: .asciz "Timer Stop Failed\n" # 2c: 54696d65
|
||||
# 30: 72205374
|
||||
# 34: 6f702046
|
||||
# 38: 61696c65
|
||||
# 3c: 640a00
|
48
binary_sdk/libmain/uart.S
Normal file
48
binary_sdk/libmain/uart.S
Normal file
|
@ -0,0 +1,48 @@
|
|||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
# Function @ .irom0.text+0x0
|
||||
.balign 4
|
||||
.literal_position
|
||||
.global sdk_uart_buff_switch
|
||||
.type sdk_uart_buff_switch, @function
|
||||
sdk_uart_buff_switch:
|
||||
ret /* arg0 */ # 0: 0df0
|
||||
|
||||
.literal_position # 4: 000f0000
|
||||
# 8: 00feff5f
|
||||
# c: 00000600
|
||||
# 10: fffff9ff
|
||||
|
||||
# Function @ .irom0.text+0x14
|
||||
.balign 4
|
||||
.global sdk_uart_div_modify
|
||||
.type sdk_uart_div_modify, @function
|
||||
sdk_uart_div_modify:
|
||||
movi a5, 0x00000f00 # 14: 51fcff
|
||||
movi a6, 0x5ffffe00 # 17: 61fcff
|
||||
mul16s a5, a5, a2 # 1a: 2055d1
|
||||
add a5, a5, a6 # 1d: 6a55
|
||||
memw # 1f: c02000
|
||||
s32i a3, a5, 0x214 # 22: 326585
|
||||
movi a8, 0x00060000 # 25: 81f9ff
|
||||
memw # 28: c02000
|
||||
l32i a7, a5, 0x220 # 2b: 722588
|
||||
or a7, a7, a8 # 2e: 807720
|
||||
memw # 31: c02000
|
||||
s32i a7, a5, 0x220 # 34: 726588
|
||||
movi a6, 0xfff9ffff # 37: 61f6ff
|
||||
memw # 3a: c02000
|
||||
l32i a4, a5, 0x220 # 3d: 422588
|
||||
and a4, a4, a6 # 40: 604410
|
||||
memw # 43: c02000
|
||||
s32i a4, a5, 0x220 # 46: 426588
|
||||
ret /* arg0 */ # 49: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x4c
|
||||
.balign 4
|
||||
.global sdk_Uart_Init
|
||||
.type sdk_Uart_Init, @function
|
||||
sdk_Uart_Init:
|
||||
ret /* arg0 */ # 4c: 0df0
|
4674
binary_sdk/libmain/user_interface.S
Normal file
4674
binary_sdk/libmain/user_interface.S
Normal file
File diff suppressed because it is too large
Load diff
43
binary_sdk/libmain/xtensa_context.S
Normal file
43
binary_sdk/libmain/xtensa_context.S
Normal file
|
@ -0,0 +1,43 @@
|
|||
|
||||
.section .text, "ax", @progbits
|
||||
|
||||
# Function @ .text+0x0
|
||||
.balign 4
|
||||
.literal_position
|
||||
.global sdk__xt_context_save
|
||||
.type sdk__xt_context_save, @function
|
||||
sdk__xt_context_save:
|
||||
s32i a2, sp, 20 /* arg0 -> [(FP)+0x14] */ # 0: 2951
|
||||
s32i a3, sp, 24 /* arg1 -> [(FP)+0x18] */ # 2: 3961
|
||||
s32i a4, sp, 28 /* arg2 -> [(FP)+0x1c] */ # 4: 4971
|
||||
s32i a5, sp, 32 /* arg3 -> [(FP)+0x20] */ # 6: 5981
|
||||
s32i a6, sp, 36 /* arg4 -> [(FP)+0x24] */ # 8: 6991
|
||||
s32i a7, sp, 40 /* arg5 -> [(FP)+0x28] */ # a: 79a1
|
||||
s32i a8, sp, 44 /* a8 -> [(FP)+0x2c] */ # c: 89b1
|
||||
s32i a9, sp, 48 /* a9 -> [(FP)+0x30] */ # e: 99c1
|
||||
s32i a10, sp, 52 /* a10 -> [(FP)+0x34] */ # 10: a9d1
|
||||
s32i a11, sp, 56 /* a11 -> [(FP)+0x38] */ # 12: b9e1
|
||||
rsr a3, sar # 14: 300303
|
||||
s32i a3, sp, 76 /* a3 -> [(FP)+0x4c] */ # 17: 326113
|
||||
ret /* arg0 */ # 1a: 0df0
|
||||
|
||||
# Function @ .text+0x1c
|
||||
.balign 4
|
||||
.global sdk__xt_context_restore
|
||||
.type sdk__xt_context_restore, @function
|
||||
sdk__xt_context_restore:
|
||||
l32i a3, sp, 76 /* [(FP)+0x4c] */ # 1c: 322113
|
||||
l32i a2, sp, 20 /* [(FP)+0x14] */ # 1f: 2851
|
||||
wsr a3, sar # 21: 300313
|
||||
l32i a3, sp, 24 /* [(FP)+0x18] */ # 24: 3861
|
||||
l32i a4, sp, 28 /* [(FP)+0x1c] */ # 26: 4871
|
||||
l32i a5, sp, 32 /* [(FP)+0x20] */ # 28: 5881
|
||||
l32i a6, sp, 36 /* [(FP)+0x24] */ # 2a: 6891
|
||||
l32i a7, sp, 40 /* [(FP)+0x28] */ # 2c: 78a1
|
||||
l32i a8, sp, 44 /* [(FP)+0x2c] */ # 2e: 88b1
|
||||
l32i a9, sp, 48 /* [(FP)+0x30] */ # 30: 98c1
|
||||
l32i a10, sp, 52 /* [(FP)+0x34] */ # 32: a8d1
|
||||
l32i a11, sp, 56 /* [(FP)+0x38] */ # 34: b8e1
|
||||
l32i a12, sp, 60 /* [(FP)+0x3c] */ # 36: c8f1
|
||||
l32i a13, sp, 64 /* [(FP)+0x40] */ # 38: d22110
|
||||
ret /* [(FP)+0x14] */ # 3b: 0df0
|
0
binary_sdk/libmain/xtensa_init.S
Normal file
0
binary_sdk/libmain/xtensa_init.S
Normal file
602
binary_sdk/libmain_stage1/ets_timer.S
Normal file
602
binary_sdk/libmain_stage1/ets_timer.S
Normal file
|
@ -0,0 +1,602 @@
|
|||
|
||||
.section .text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
|
||||
# Function @ .text+0x4
|
||||
.balign 4
|
||||
.Lfunc001: movi a5, .Ldata001 # 4: 51ffff
|
||||
l8ui a2, a5, 0 /* [.Ldata001] */ # 7: 220500
|
||||
addi a3, a5, 32 /* .bss+0x20 */ # a: 32c520
|
||||
addi a2, a2, 1 /* [.Ldata001]+0x1 */ # d: 1b22
|
||||
extui a2, a2, 0, 8 # f: 202074
|
||||
bltui a2, 5, .Lbr001 # 12: b65208
|
||||
addi a3, a2, -1 # 15: 0b32
|
||||
s8i a3, a5, 0 /* a3 -> [.Ldata001] */ # 17: 324500
|
||||
movi a2, 0 /* 0x00000000 */ # 1a: 0c02
|
||||
ret /* 0x00000000 */ # 1c: 0df0
|
||||
.Lbr001: s8i a2, a5, 0 /* a2 -> [.Ldata001] */ # 1e: 224500
|
||||
l8ui a2, a5, 1 /* [.Ldata002] */ # 21: 220501
|
||||
addi a4, a2, 1 /* [.Ldata002]+0x1 */ # 24: 1b42
|
||||
addx8 a2, a2, a3 # 26: 3022b0
|
||||
extui a4, a4, 0, 8 # 29: 404074
|
||||
bltui a4, 4, .Lbr002 # 2c: b64401
|
||||
movi a4, 0 /* 0x00000000 */ # 2f: 0c04
|
||||
.Lbr002: s8i a4, a5, 1 /* a4 -> [.Ldata002] */ # 31: 424501
|
||||
ret # 34: 0df0
|
||||
|
||||
.literal_position # 38: 24000000
|
||||
# 3c: 00000000
|
||||
# 40: 30000000
|
||||
# 44: 00000000
|
||||
# 48: 00000000
|
||||
# 4c: 00000000
|
||||
# 50: 00000000
|
||||
|
||||
# Function @ .text+0x54
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.Lfunc002: addi sp, sp, -16 /* (local0) */ # 54: 12c1f0
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 57: 0921
|
||||
call0 .Lfunc001 # 59: 85faff
|
||||
s32i a2, sp, 0 /* a2 -> [(local0)] */ # 5c: 2901
|
||||
bnez a2, .Lbr003 # 5e: cca2
|
||||
movi a2, .Lstr004 # 60: 21f6ff
|
||||
call0 printf # 63: 01f8ffc0
|
||||
# 67: 0000
|
||||
j .Lbr005 # 69: 060b00
|
||||
.Lbr003: mov a3, sp /* (local0) */ # 6c: 3d01
|
||||
addi a4, sp, 4 /* (local1) */ # 6e: 4b41
|
||||
movi a5, 0 /* 0x00000000 */ # 70: 0c05
|
||||
s32i a5, a2, 0 # 72: 5902
|
||||
movi a2, .Ldata001 # 74: 21f2ff
|
||||
s32i a5, sp, 4 /* 0x00000000 -> [(local1)] */ # 77: 5911
|
||||
l32i a2, a2, 16 /* [.Ldata004] */ # 79: 2842
|
||||
call0 xQueueGenericSendFromISR # 7b: 01f3ffc0
|
||||
# 7f: 0000
|
||||
mov a3, a2 # 81: 3d02
|
||||
beqi a2, 1, .Lbr004 # 83: 261208
|
||||
movi a2, .Lstr005 # 86: 21eeff
|
||||
call0 printf # 89: 01f0ffc0
|
||||
# 8d: 0000
|
||||
.Lbr004: l32i a3, sp, 4 /* [(local1)] */ # 8f: 3811
|
||||
beqz a3, .Lbr005 # 91: 8c43
|
||||
call0 vTaskSwitchContext # 93: 01efffc0
|
||||
# 97: 0000
|
||||
.Lbr005: l32i a0, sp, 8 /* [(local2)] */ # 99: 0821
|
||||
addi sp, sp, 16 /* (top of frame) */ # 9b: 12c110
|
||||
ret # 9e: 0df0
|
||||
|
||||
.section .bss, "aw", @nobits
|
||||
|
||||
.Ldata001: .byte 0x00
|
||||
.Ldata002: .byte 0x00
|
||||
.byte 0x00, 0x00
|
||||
.Ldata003: .word 0x00000000 # 4: 00000000
|
||||
.global debug_timer
|
||||
.type debug_timer, @object
|
||||
debug_timer:
|
||||
.word 0x00000000 # 8: 00000000
|
||||
.global debug_timerfn
|
||||
.type debug_timerfn, @object
|
||||
debug_timerfn:
|
||||
.word 0x00000000 # c: 00000000
|
||||
.Ldata004: .word 0x00000000 # 10: 00000000
|
||||
.space 44
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
# 4: 00000000
|
||||
# 8: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xc
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.Lfunc003: addi sp, sp, -16 /* (local0) */ # c: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # f: 0901
|
||||
call0 vPortEnterCritical # 11: 01fcffc0
|
||||
# 15: 0000
|
||||
movi a2, .Ldata001 # 17: 21faff
|
||||
l8ui a0, a2, 0 /* [.Ldata001] */ # 1a: 020200
|
||||
addi a0, a0, -1 /* [.Ldata001]-0x1 */ # 1d: 0b00
|
||||
s8i a0, a2, 0 /* [.Ldata001]-0x1 -> [.Ldata001] */ # 1f: 024200
|
||||
call0 vPortExitCritical # 22: 01f9ffc0
|
||||
# 26: 0000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 28: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 2a: 12c110
|
||||
ret # 2d: 0df0
|
||||
|
||||
.literal_position # 30: 00060060
|
||||
|
||||
# Function @ .irom0.text+0x34
|
||||
.balign 4
|
||||
.Lfunc004: movi a3, 0x60000600 # 34: 31ffff
|
||||
memw # 37: c02000
|
||||
s32i a2, a3, 48 /* arg0 -> [0x60000630] */ # 3a: 29c3
|
||||
ret /* arg0 */ # 3c: 0df0
|
||||
|
||||
.literal_position # 40: 00060060
|
||||
|
||||
# Function @ .irom0.text+0x44
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.Lfunc005: addi sp, sp, -16 /* (local0) */ # 44: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 47: 0901
|
||||
movi a4, 0x60000600 # 49: 41fdff
|
||||
memw # 4c: c02000
|
||||
l32i a4, a4, 36 /* [0x60000624] */ # 4f: 4894
|
||||
sub a0, a2, a4 # 51: 4002c0
|
||||
addi a3, a0, -40 # 54: 32c0d8
|
||||
bgei a3, 1, .Lbr007 # 57: e61314
|
||||
bgei a0, 1, .Lbr006 # 5a: e61008
|
||||
addi a2, a4, 40 /* [0x60000624]+0x28 */ # 5d: 22c428
|
||||
call0 .Lfunc004 # 60: 05fdff
|
||||
j .Lbr008 # 63: c60200
|
||||
.Lbr006: addi a2, a2, 44 /* arg0+0x2c */ # 66: 22c22c
|
||||
call0 .Lfunc004 # 69: 85fcff
|
||||
j .Lbr008 # 6c: 860000
|
||||
.Lbr007: call0 .Lfunc004 # 6f: 45fcff
|
||||
.Lbr008: l32i a0, sp, 0 /* [(local0)] */ # 72: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 74: 12c110
|
||||
ret # 77: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x7c
|
||||
.balign 4
|
||||
.global ets_timer_setfn
|
||||
.type ets_timer_setfn, @function
|
||||
ets_timer_setfn:
|
||||
s32i a3, a2, 16 /* arg1 -> [arg0+0x10] */ # 7c: 3942
|
||||
s32i a4, a2, 24 /* arg2 -> [arg0+0x18] */ # 7e: 4962
|
||||
movi a5, -1 /* 0xffffffff */ # 80: 7cf5
|
||||
movi a6, 0 /* 0x00000000 */ # 82: 0c06
|
||||
s32i a6, a2, 8 /* 0x00000000 -> [arg0+0x8] */ # 84: 6922
|
||||
s32i a6, a2, 12 /* 0x00000000 -> [arg0+0xc] */ # 86: 6932
|
||||
s32i a5, a2, 0 /* 0xffffffff -> [arg0] */ # 88: 5902
|
||||
ret /* arg0 */ # 8a: 0df0
|
||||
|
||||
.literal_position # 8c: 00000000
|
||||
# 90: 00000000
|
||||
# 94: 08000000
|
||||
# 98: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x9c
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.Lfunc006: addi sp, sp, -16 /* (local0) */ # 9c: 12c1f0
|
||||
movi a6, .Ldata001 # 9f: 61fbff
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # a2: 0911
|
||||
l32i a0, a6, 4 /* [.Ldata003] */ # a4: 0816
|
||||
movi a5, 0 /* 0x00000000 */ # a6: 0c05
|
||||
beqz a0, .Lbr010 # a8: 9c00
|
||||
.Lbr009: l32i a4, a0, 8 # aa: 4820
|
||||
sub a4, a2, a4 # ac: 4042c0
|
||||
blti a4, 1, .Lbr011 # af: a6140b
|
||||
mov a5, a0 # b2: 5d00
|
||||
l32i a0, a0, 0 # b4: 0800
|
||||
bnez a0, .Lbr009 # b6: 5600ff
|
||||
j .Lbr011 # b9: 460000
|
||||
.Lbr010: movi a5, 0 /* 0x00000000 */ # bc: 0c05
|
||||
.Lbr011: s32i a3, sp, 0 /* arg1 -> [(local0)] */ # be: 3901
|
||||
s32i a0, a3, 0 /* a0 -> [arg1] */ # c0: 0903
|
||||
s32i a2, a3, 8 /* arg0 -> [arg1+0x8] */ # c2: 2923
|
||||
beqz a5, .Lbr012 # c4: 8c35
|
||||
s32i a3, a5, 0 # c6: 3905
|
||||
j .Lbr013 # c8: 060200
|
||||
.Lbr012: l32i a5, sp, 0 /* [(local0)] */ # cb: 5801
|
||||
s32i a5, a6, 4 /* [(local0)] -> [.Ldata003] */ # cd: 5916
|
||||
call0 .Lfunc005 # cf: 45f7ff
|
||||
l32i a3, sp, 0 /* [(local0)] */ # d2: 3801
|
||||
.Lbr013: l32i a6, a3, 0 # d4: 6803
|
||||
l32i a0, sp, 4 /* [(local1)] */ # d6: 0811
|
||||
bne a6, a3, .Lbr015 # d8: 379611
|
||||
movi a2, .Lstr001 # db: 21edff
|
||||
movi a3, .Lstr002 # de: 31edff
|
||||
movi a4, 209 /* 0x000000d1 */ # e1: 42a0d1
|
||||
call0 ets_printf # e4: 01edffc0
|
||||
# e8: 0000
|
||||
.Lbr014: j .Lbr014 /* (halt) */ # ea: 06ffff
|
||||
.Lbr015: addi sp, sp, 16 /* (top of frame) */ # ed: 12c110
|
||||
ret # f0: 0df0
|
||||
|
||||
.literal_position # f4: 14000000
|
||||
# f8: 404b4c00
|
||||
# fc: 40420f00
|
||||
# 100: 00060060
|
||||
# 104: 00000000
|
||||
# 108: 00000000
|
||||
# 10c: 00000000
|
||||
# 110: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x114
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word @ -0x8
|
||||
# (local3): word @ -0x4
|
||||
.balign 4
|
||||
.global ets_timer_arm_ms_us
|
||||
.type ets_timer_arm_ms_us, @function
|
||||
ets_timer_arm_ms_us:
|
||||
addi sp, sp, -16 /* (local0) */ # 114: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 117: c911
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 119: d921
|
||||
mov a12, a2 /* arg0 */ # 11b: cd02
|
||||
mov a2, a3 /* arg1 */ # 11d: 2d03
|
||||
mov a3, a4 /* arg2 */ # 11f: 3d04
|
||||
l32i a4, a12, 0 /* [arg0] */ # 121: 480c
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 123: 0901
|
||||
beqi a4, -1, .Lbr017 # 125: 26040d
|
||||
movi a2, .Lstr003 # 128: 21f3ff
|
||||
mov a3, a12 /* arg0 */ # 12b: 3d0c
|
||||
call0 printf # 12d: 01f5ffc0
|
||||
# 131: 0000
|
||||
.Lbr016: j .Lbr016 /* (halt) */ # 133: 06ffff
|
||||
.Lbr017: bnei a5, 1, .Lbr018 # 136: 661505
|
||||
movi a0, 1000 /* 0x000003e8 */ # 139: 02a3e8
|
||||
mull a2, a2, a0 # 13c: 002282
|
||||
.Lbr018: beqz a2, .Lbr020 # 13f: ace2
|
||||
s32i a3, sp, 12 /* arg2 -> [(local3)] */ # 141: 3931
|
||||
movi a4, 858 /* 0x0000035a */ # 143: 42a35a
|
||||
bgeu a4, a2, .Lbr019 # 146: 27b411
|
||||
srli a13, a2, 2 # 149: 20d241
|
||||
extui a0, a2, 0, 2 # 14c: 200014
|
||||
addx4 a0, a0, a0 # 14f: 0000a0
|
||||
addx4 a13, a13, a13 # 152: d0dda0
|
||||
addx4 a13, a13, a0 # 155: 00dda0
|
||||
j .Lbr021 # 158: c60500
|
||||
.Lbr019: movi a4, 0x004c4b40 # 15b: 41e7ff
|
||||
movi a3, 0x000f4240 # 15e: 31e7ff
|
||||
mull a2, a2, a4 # 161: 402282
|
||||
call0 __udivsi3 # 164: 01e9ffc0
|
||||
# 168: 0000
|
||||
mov a13, a2 # 16a: dd02
|
||||
l32i a3, sp, 12 /* [(local3)] */ # 16c: 3831
|
||||
j .Lbr021 # 16e: 460000
|
||||
.Lbr020: movi a13, 0 /* 0x00000000 */ # 171: 0c0d
|
||||
.Lbr021: beqz a3, .Lbr022 # 173: 8c03
|
||||
s32i a13, a12, 12 /* a13 -> [arg0+0xc] */ # 175: d93c
|
||||
.Lbr022: call0 vPortEnterCritical # 177: 01e5ffc0
|
||||
# 17b: 0000
|
||||
mov a3, a12 /* arg0 */ # 17d: 3d0c
|
||||
movi a2, 0x60000600 # 17f: 21e0ff
|
||||
memw # 182: c02000
|
||||
l32i a2, a2, 36 /* [0x60000624] */ # 185: 2892
|
||||
add a2, a13, a2 # 187: 2a2d
|
||||
call0 .Lfunc006 # 189: 05f1ff
|
||||
call0 vPortExitCritical # 18c: 01e1ffc0
|
||||
# 190: 0000
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 192: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 194: d821
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 196: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 198: 12c110
|
||||
ret # 19b: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x1a0
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global ets_timer_arm_us
|
||||
.type ets_timer_arm_us, @function
|
||||
ets_timer_arm_us:
|
||||
movi a5, 0 /* 0x00000000 */ # 1a0: 0c05
|
||||
addi sp, sp, -16 /* (local0) */ # 1a2: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1a5: 0901
|
||||
call0 ets_timer_arm_ms_us # 1a7: 050000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 1aa: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 1ac: 12c110
|
||||
ret # 1af: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x1b4
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global ets_timer_arm
|
||||
.type ets_timer_arm, @function
|
||||
ets_timer_arm:
|
||||
movi a5, 1 /* 0x00000001 */ # 1b4: 0c15
|
||||
addi sp, sp, -16 /* (local0) */ # 1b6: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1b9: 0901
|
||||
call0 ets_timer_arm_ms_us # 1bb: 050000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 1be: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 1c0: 12c110
|
||||
ret # 1c3: 0df0
|
||||
|
||||
.literal_position # 1c8: 00000000
|
||||
# 1cc: 00000000
|
||||
# 1d0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x1d4
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global ets_timer_disarm
|
||||
.type ets_timer_disarm, @function
|
||||
ets_timer_disarm:
|
||||
addi sp, sp, -16 /* (local0) */ # 1d4: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 1d7: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1d9: 0901
|
||||
mov a12, a2 /* arg0 */ # 1db: cd02
|
||||
call0 vPortEnterCritical # 1dd: 01fbffc0
|
||||
# 1e1: 0000
|
||||
movi a5, .Ldata001 # 1e3: 51f9ff
|
||||
l32i a0, a5, 4 /* [.Ldata003] */ # 1e6: 0815
|
||||
movi a2, 0 /* 0x00000000 */ # 1e8: 0c02
|
||||
beqz a0, .Lbr024 # 1ea: 8cb0
|
||||
.Lbr023: beq a12, a0, .Lbr025 # 1ec: 071c0b
|
||||
mov a2, a0 # 1ef: 2d00
|
||||
l32i a0, a0, 0 # 1f1: 0800
|
||||
bnez a0, .Lbr023 # 1f3: 5650ff
|
||||
j .Lbr027 # 1f6: 860300
|
||||
.Lbr024: movi a2, 0 /* 0x00000000 */ # 1f9: 0c02
|
||||
.Lbr025: beqz a0, .Lbr027 # 1fb: 8c90
|
||||
l32i a0, a0, 0 # 1fd: 0800
|
||||
bnez a2, .Lbr026 # 1ff: cc32
|
||||
s32i a0, a5, 4 /* a0 -> [.Ldata003] */ # 201: 0915
|
||||
j .Lbr027 # 203: 460000
|
||||
.Lbr026: s32i a0, a2, 0 # 206: 0902
|
||||
.Lbr027: call0 vPortExitCritical # 208: 01f2ffc0
|
||||
# 20c: 0000
|
||||
movi a0, 0 /* 0x00000000 */ # 20e: 0c00
|
||||
movi a2, -1 /* 0xffffffff */ # 210: 7cf2
|
||||
s32i a2, a12, 0 /* 0xffffffff -> [arg0] */ # 212: 290c
|
||||
s32i a0, a12, 12 /* 0x00000000 -> [arg0+0xc] */ # 214: 093c
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 216: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 218: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 21a: 12c110
|
||||
ret /* 0xffffffff */ # 21d: 0df0
|
||||
|
||||
.literal_position # 220: 00000000
|
||||
# 224: 08000000
|
||||
# 228: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x22c
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global ets_timer_done
|
||||
.type ets_timer_done, @function
|
||||
ets_timer_done:
|
||||
addi sp, sp, -16 /* (local0) */ # 22c: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 22f: 0901
|
||||
l32i a0, a2, 0 /* [arg0] */ # 231: 0802
|
||||
beqi a0, -1, .Lbr029 # 233: 260011
|
||||
movi a2, .Lstr001 # 236: 21faff
|
||||
movi a3, .Lstr002 # 239: 31faff
|
||||
movi a4, 288 /* 0x00000120 */ # 23c: 42a120
|
||||
call0 ets_printf # 23f: 01faffc0
|
||||
# 243: 0000
|
||||
.Lbr028: j .Lbr028 /* (halt) */ # 245: 06ffff
|
||||
.Lbr029: movi a3, 0 /* 0x00000000 */ # 248: 0c03
|
||||
movi a4, 0 /* 0x00000000 */ # 24a: 0c04
|
||||
call0 ets_timer_setfn # 24c: 050000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 24f: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 251: 12c110
|
||||
ret # 254: 0df0
|
||||
|
||||
.literal_position # 258: 00060060
|
||||
# 25c: 00000000
|
||||
# 260: 00000000
|
||||
# 264: 00000000
|
||||
# 268: 00060060
|
||||
# 26c: 00000000
|
||||
# 270: 00000000
|
||||
# 274: 00000000
|
||||
# 278: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x27c
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global ets_timer_handler_isr
|
||||
.type ets_timer_handler_isr, @function
|
||||
ets_timer_handler_isr:
|
||||
addi sp, sp, -16 /* (local0) */ # 27c: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 27f: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 281: 0901
|
||||
call0 vPortEnterCritical # 283: 01faffc0
|
||||
# 287: 0000
|
||||
movi a3, 0x60000600 # 289: 31f3ff
|
||||
memw # 28c: c02000
|
||||
movi a0, .Ldata001 # 28f: 01f3ff
|
||||
l32i a5, a3, 36 /* [0x60000624] */ # 292: 5893
|
||||
.Lbr030: l32i a12, a0, 4 /* [.Ldata003] */ # 294: c810
|
||||
beqz a12, .Lbr033 # 296: 162c05
|
||||
l32i a2, a12, 8 /* [[.Ldata003]+0x8] */ # 299: 282c
|
||||
sub a4, a2, a5 # 29b: 5042c0
|
||||
bgei a4, 1, .Lbr032 # 29e: e61445
|
||||
movi a5, -1 /* 0xffffffff */ # 2a1: 7cf5
|
||||
movi a7, .Ldata001 # 2a3: 71efff
|
||||
l32i a8, a12, 16 /* [[.Ldata003]+0x10] */ # 2a6: 884c
|
||||
s32i a8, a7, 12 /* [[.Ldata003]+0x10] -> [debug_timerfn] */ # 2a8: 8937
|
||||
s32i a12, a7, 8 /* [.Ldata003] -> [debug_timer] */ # 2aa: c927
|
||||
l32i a6, a12, 0 /* [[.Ldata003]] */ # 2ac: 680c
|
||||
s32i a6, a7, 4 /* [[.Ldata003]] -> [.Ldata003] */ # 2ae: 6917
|
||||
s32i a5, a12, 0 /* 0xffffffff -> [[.Ldata003]] */ # 2b0: 590c
|
||||
call0 vPortExitCritical # 2b2: 01efffc0
|
||||
# 2b6: 0000
|
||||
l32i a0, a12, 16 /* [[.Ldata003]+0x10] */ # 2b8: 084c
|
||||
l32i a2, a12, 24 /* [[.Ldata003]+0x18] */ # 2ba: 286c
|
||||
callx0 a0 /* [[.Ldata003]+0x10] */ # 2bc: c00000
|
||||
call0 vPortEnterCritical # 2bf: 01edffc0
|
||||
# 2c3: 0000
|
||||
l32i a2, a12, 0 /* [[.Ldata003]] */ # 2c5: 280c
|
||||
l32i a0, a12, 12 /* [[.Ldata003]+0xc] */ # 2c7: 083c
|
||||
bnei a2, -1, .Lbr031 # 2c9: 66020c
|
||||
beqz a0, .Lbr031 # 2cc: 8c90
|
||||
l32i a2, a12, 8 /* [[.Ldata003]+0x8] */ # 2ce: 282c
|
||||
mov a3, a12 /* [.Ldata003] */ # 2d0: 3d0c
|
||||
add a2, a2, a0 # 2d2: 0a22
|
||||
s32i a2, a12, 8 /* a2 -> [[.Ldata003]+0x8] */ # 2d4: 292c
|
||||
call0 .Lfunc006 # 2d6: 45dcff
|
||||
.Lbr031: movi a0, .Ldata001 # 2d9: 01e2ff
|
||||
memw # 2dc: c02000
|
||||
movi a3, 0x60000600 # 2df: 31e2ff
|
||||
l32i a5, a3, 36 /* [0x60000624] */ # 2e2: 5893
|
||||
j .Lbr030 # 2e4: 06ebff
|
||||
.Lbr032: beqz a12, .Lbr033 # 2e7: 8c1c
|
||||
call0 .Lfunc005 # 2e9: 85d5ff
|
||||
.Lbr033: call0 vPortExitCritical # 2ec: 01e3ffc0
|
||||
# 2f0: 0000
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 2f2: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 2f4: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 2f6: 12c110
|
||||
ret # 2f9: 0df0
|
||||
|
||||
.literal_position # 2fc: 00000000
|
||||
# 300: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x304
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.Lfunc007: addi sp, sp, -16 /* (local0) */ # 304: 12c1f0
|
||||
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 307: c921
|
||||
movi a12, .Ldata001 # 309: c1fcff
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 30c: 0911
|
||||
.Lbr034: l32i a2, a12, 16 /* [.Ldata004] */ # 30e: 284c
|
||||
mov a3, sp /* (local0) */ # 310: 3d01
|
||||
movi a4, -1 /* 0xffffffff */ # 312: 7cf4
|
||||
movi a5, 0 /* 0x00000000 */ # 314: 0c05
|
||||
call0 xQueueGenericReceive # 316: 01faffc0
|
||||
# 31a: 0000
|
||||
bnei a2, 1, .Lbr034 # 31c: 6612ee
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 31f: 0801
|
||||
l32i a0, a0, 0 /* [[(local0)]] */ # 321: 0800
|
||||
bnez a0, .Lbr035 # 323: cc30
|
||||
movi a2, 0 /* 0x00000000 */ # 325: 0c02
|
||||
call0 ets_timer_handler_isr # 327: 050000
|
||||
.Lbr035: call0 .Lfunc003 # 32a: 05ceff
|
||||
j .Lbr034 # 32d: 46f7ff
|
||||
|
||||
.literal_position # 330: 00000000
|
||||
# 334: 54000000
|
||||
# 338: 00000000
|
||||
# 33c: 40000000
|
||||
# 340: 04030000
|
||||
# 344: 50000000
|
||||
# 348: 00feef3f
|
||||
# 34c: 00060060
|
||||
# 350: 00000000
|
||||
# 354: 00000000
|
||||
# 358: 00000000
|
||||
# 35c: 00000000
|
||||
# 360: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x364
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word[3] @ -0x1c
|
||||
# (local2): word @ -0x10
|
||||
# (local3): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global ets_timer_init
|
||||
.type ets_timer_init, @function
|
||||
ets_timer_init:
|
||||
movi a3, .Lfunc002 # 364: 31f4ff
|
||||
addi sp, sp, -32 /* (local0) */ # 367: 12c1e0
|
||||
movi a2, .Ldata001 # 36a: 21f1ff
|
||||
s32i a0, sp, 20 /* a0 -> [(local3)] */ # 36d: 0951
|
||||
movi a0, 0 /* 0x00000000 */ # 36f: 0c00
|
||||
s32i a0, a2, 4 /* 0x00000000 -> [.Ldata003] */ # 371: 0912
|
||||
movi a2, 10 /* 0x0000000a */ # 373: 0ca2
|
||||
call0 _xt_isr_attach # 375: 01f6ffc0
|
||||
# 379: 0000
|
||||
movi a2, 4 /* 0x00000004 */ # 37b: 0c42
|
||||
movi a3, 4 /* 0x00000004 */ # 37d: 0c43
|
||||
movi a4, 0 /* 0x00000000 */ # 37f: 0c04
|
||||
call0 xQueueGenericCreate # 381: 01f4ffc0
|
||||
# 385: 0000
|
||||
movi a5, 0 /* 0x00000000 */ # 387: 0c05
|
||||
movi a6, 12 /* 0x0000000c */ # 389: 0cc6
|
||||
addi a7, sp, 16 /* (local2) */ # 38b: 72c110
|
||||
movi a4, .Ldata001 # 38e: 41eaff
|
||||
movi a3, 0 /* 0x00000000 */ # 391: 0c03
|
||||
s32i a2, a4, 16 /* a2 -> [.Ldata004] */ # 393: 2944
|
||||
movi a4, 200 /* 0x000000c8 */ # 395: 42a0c8
|
||||
s32i a3, sp, 0 /* 0x00000000 -> [(local0)] */ # 398: 3901
|
||||
s32i a3, sp, 4 /* 0x00000000 -> [(local1)] */ # 39a: 3911
|
||||
movi a2, .Lfunc007 # 39c: 21e9ff
|
||||
movi a3, .Lstr006 # 39f: 31e7ff
|
||||
call0 xTaskGenericCreate # 3a2: 01edffc0
|
||||
# 3a6: 0000
|
||||
movi a2, .Lstr007 # 3a8: 21e7ff
|
||||
l32i a3, sp, 16 /* [(local2)] */ # 3ab: 3841
|
||||
movi a4, 12 /* 0x0000000c */ # 3ad: 0cc4
|
||||
movi a5, 200 /* 0x000000c8 */ # 3af: 52a0c8
|
||||
call0 printf # 3b2: 01eaffc0
|
||||
# 3b6: 0000
|
||||
movi a6, 0x3feffe00 # 3b8: 61e4ff
|
||||
movi a9, 0x60000600 # 3bb: 91e4ff
|
||||
memw # 3be: c02000
|
||||
movi a8, 0 /* 0x00000000 */ # 3c1: 0c08
|
||||
s32i a8, a9, 48 /* 0x00000000 -> [0x60000630] */ # 3c3: 89c9
|
||||
movi a10, 132 /* 0x00000084 */ # 3c5: a2a084
|
||||
memw # 3c8: c02000
|
||||
s32i a10, a9, 40 /* 0x00000084 -> [0x60000628] */ # 3cb: a9a9
|
||||
memw # 3cd: c02000
|
||||
s32i a8, a9, 32 /* 0x00000000 -> [0x60000620] */ # 3d0: 8989
|
||||
movi a7, 4 /* 0x00000004 */ # 3d2: 0c47
|
||||
memw # 3d4: c02000
|
||||
l32i a5, a6, 0x204 /* [0x3ff00004] */ # 3d7: 522681
|
||||
or a5, a5, a7 # 3da: 705520
|
||||
memw # 3dd: c02000
|
||||
s32i a5, a6, 0x204 /* a5 -> [0x3ff00004] */ # 3e0: 526681
|
||||
movi a2, 1024 /* 0x00000400 */ # 3e3: 22a400
|
||||
call0 _xt_isr_unmask # 3e6: 01deffc0
|
||||
# 3ea: 0000
|
||||
l32i a0, sp, 20 /* [(local3)] */ # 3ec: 0851
|
||||
addi sp, sp, 32 /* (top of frame) */ # 3ee: 12c120
|
||||
ret # 3f1: 0df0
|
||||
|
||||
.section .rodata.str1.4, "MSa", @progbits, 1
|
||||
|
||||
.Lstr001: .asciz "%s %s \n" # 0: 25732025
|
||||
# 4: 73200a00
|
||||
.Lstr002: .asciz "ets_timer.c" # 8: 6574735f
|
||||
# c: 74696d65
|
||||
# 10: 722e6300
|
||||
.Lstr003: .asciz "arm new %x %x\n" # 14: 61726d20
|
||||
# 18: 6e657720
|
||||
# 1c: 25782025
|
||||
# 20: 780a00
|
||||
.balign 4
|
||||
.Lstr004: .asciz "TIMQ_NUL\n" # 24: 54494d51
|
||||
# 28: 5f4e554c
|
||||
# 2c: 0a00
|
||||
.balign 4
|
||||
.Lstr005: .asciz "TIMQ_FL:%d!!" # 30: 54494d51
|
||||
# 34: 5f464c3a
|
||||
# 38: 25642121
|
||||
# 3c: 00
|
||||
.balign 4
|
||||
.Lstr006: .asciz "rtc_timer_task" # 40: 7274635f
|
||||
# 44: 74696d65
|
||||
# 48: 725f7461
|
||||
# 4c: 736b00
|
||||
.balign 4
|
||||
.Lstr007: .asciz "frc2_timer_task_hdl:%x, prio:%d, stack:%d\n" # 50: 66726332
|
||||
# 54: 5f74696d
|
||||
# 58: 65725f74
|
||||
# 5c: 61736b5f
|
||||
# 60: 68646c3a
|
||||
# 64: 25782c20
|
||||
# 68: 7072696f
|
||||
# 6c: 3a25642c
|
||||
# 70: 20737461
|
||||
# 74: 636b3a25
|
||||
# 78: 640a00
|
156
binary_sdk/libmain_stage1/misc.S
Normal file
156
binary_sdk/libmain_stage1/misc.S
Normal file
|
@ -0,0 +1,156 @@
|
|||
|
||||
.section .text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
|
||||
# Function @ .text+0x4
|
||||
.balign 4
|
||||
.global os_get_cpu_frequency
|
||||
.type os_get_cpu_frequency, @function
|
||||
os_get_cpu_frequency:
|
||||
movi a2, .Ldata001 # 4: 21ffff
|
||||
l32i a2, a2, 0 /* [.Ldata001] */ # 7: 2802
|
||||
ret /* [.Ldata001] */ # 9: 0df0
|
||||
|
||||
.section .data, "aw", @progbits
|
||||
|
||||
.Ldata001: .word 0x00000050 # 0: 50000000
|
||||
|
||||
.section .bss, "aw", @nobits
|
||||
|
||||
.global _putc1
|
||||
.type _putc1, @object
|
||||
_putc1: .word 0x00000000 # 0: 00000000
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
# 4: 00000000
|
||||
# 8: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xc
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global ets_delay_us
|
||||
.type ets_delay_us, @function
|
||||
ets_delay_us:
|
||||
.global os_delay_us
|
||||
.type os_delay_us, @function
|
||||
os_delay_us:
|
||||
addi sp, sp, -16 /* (local0) */ # c: 12c1f0
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # f: d921
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 11: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 13: 0901
|
||||
mov a12, a2 /* arg0 */ # 15: cd02
|
||||
call0 xthal_get_ccount # 17: 01fbffc0
|
||||
# 1b: 0000
|
||||
movi a0, .Ldata001 # 1d: 01f8ff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # 20: 0800
|
||||
mov a13, a2 # 22: dd02
|
||||
mull a12, a0, a12 # 24: c0c082
|
||||
.Lbr001: call0 xthal_get_ccount # 27: 01f8ffc0
|
||||
# 2b: 0000
|
||||
sub a3, a2, a13 # 2d: d032c0
|
||||
bltu a3, a12, .Lbr001 # 30: c733f3
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 33: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 35: d821
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 37: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 39: 12c110
|
||||
ret # 3c: 0df0
|
||||
|
||||
.literal_position # 40: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x44
|
||||
.balign 4
|
||||
.global ets_update_cpu_frequency
|
||||
.type ets_update_cpu_frequency, @function
|
||||
ets_update_cpu_frequency:
|
||||
.global os_update_cpu_frequency
|
||||
.type os_update_cpu_frequency, @function
|
||||
os_update_cpu_frequency:
|
||||
movi a3, .Ldata001 # 44: 31ffff
|
||||
s32i a2, a3, 0 /* arg0 -> [.Ldata001] */ # 47: 2903
|
||||
ret /* arg0 */ # 49: 0df0
|
||||
|
||||
.literal_position # 4c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x50
|
||||
.balign 4
|
||||
.global os_install_putc1
|
||||
.type os_install_putc1, @function
|
||||
os_install_putc1:
|
||||
movi a3, _putc1 # 50: 31ffff
|
||||
s32i a2, a3, 0 /* arg0 -> [_putc1] */ # 53: 2903
|
||||
ret /* arg0 */ # 55: 0df0
|
||||
|
||||
.literal_position # 58: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x5c
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global os_putc
|
||||
.type os_putc, @function
|
||||
os_putc: addi sp, sp, -16 /* (local0) */ # 5c: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 5f: 0901
|
||||
movi a0, _putc1 # 61: 01fdff
|
||||
l32i a0, a0, 0 /* [_putc1] */ # 64: 0800
|
||||
callx0 a0 /* [_putc1] */ # 66: c00000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 69: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 6b: 12c110
|
||||
ret # 6e: 0df0
|
||||
|
||||
.literal_position # 70: 00020060
|
||||
|
||||
# Function @ .irom0.text+0x74
|
||||
.balign 4
|
||||
.global gpio_output_set
|
||||
.type gpio_output_set, @function
|
||||
gpio_output_set:
|
||||
movi a6, 0x60000200 # 74: 61ffff
|
||||
memw # 77: c02000
|
||||
s32i a2, a6, 0x104 /* arg0 -> [0x60000304] */ # 7a: 226641
|
||||
memw # 7d: c02000
|
||||
s32i a3, a6, 0x108 /* arg1 -> [0x60000308] */ # 80: 326642
|
||||
memw # 83: c02000
|
||||
s32i a4, a6, 0x110 /* arg2 -> [0x60000310] */ # 86: 426644
|
||||
memw # 89: c02000
|
||||
s32i a5, a6, 0x114 /* arg3 -> [0x60000314] */ # 8c: 526645
|
||||
ret /* arg0 */ # 8f: 0df0
|
||||
|
||||
.literal_position # 94: 00060060
|
||||
# 98: ffffdfff
|
||||
|
||||
# Function @ .irom0.text+0x9c
|
||||
.balign 4
|
||||
.global rtc_get_reset_reason
|
||||
.type rtc_get_reset_reason, @function
|
||||
rtc_get_reset_reason:
|
||||
movi a4, 0x60000600 # 9c: 41feff
|
||||
memw # 9f: c02000
|
||||
l32i a2, a4, 0x114 /* [0x60000714] */ # a2: 222445
|
||||
extui a2, a2, 0, 4 # a5: 202034
|
||||
bnei a2, 5, .Lbr003 # a8: 665224
|
||||
memw # ab: c02000
|
||||
l32i a3, a4, 0x118 /* [0x60000718] */ # ae: 322446
|
||||
extui a3, a3, 8, 6 # b1: 303854
|
||||
bnei a3, 1, .Lbr002 # b4: 661304
|
||||
movi a2, 6 /* 0x00000006 */ # b7: 0c62
|
||||
j .Lbr003 # b9: c60400
|
||||
.Lbr002: memw # bc: c02000
|
||||
l32i a6, a4, 0x118 /* [0x60000718] */ # bf: 622446
|
||||
movi a5, 0 /* 0x00000000 */ # c2: 0c05
|
||||
extui a6, a6, 8, 6 # c4: 606854
|
||||
addi a6, a6, -8 # c7: 62c6f8
|
||||
movnez a2, a5, a6 # ca: 602593
|
||||
extui a2, a2, 0, 8 # cd: 202074
|
||||
.Lbr003: movi a8, 0xffdfffff # d0: 81f2ff
|
||||
memw # d3: c02000
|
||||
l32i a7, a4, 0x108 /* [0x60000708] */ # d6: 722442
|
||||
and a7, a7, a8 # d9: 807710
|
||||
memw # dc: c02000
|
||||
s32i a7, a4, 0x108 /* a7 -> [0x60000708] */ # df: 726442
|
||||
ret # e2: 0df0
|
227
binary_sdk/libmain_stage1/os_cpu_a.S
Normal file
227
binary_sdk/libmain_stage1/os_cpu_a.S
Normal file
|
@ -0,0 +1,227 @@
|
|||
|
||||
.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
|
||||
.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 _xt_int_enter # 30: 050000
|
||||
call0 vPortEnterCritical # 33: 01f4ffc0
|
||||
# 37: 0000
|
||||
call0 vTaskSwitchContext # 39: 01f3ffc0
|
||||
# 3d: 0000
|
||||
call0 vPortExitCritical # 3f: 01f3ffc0
|
||||
# 43: 0000
|
||||
call0 _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
|
||||
.balign 4
|
||||
.global _xt_int_enter
|
||||
.type _xt_int_enter, @function
|
||||
_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 _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
|
||||
.balign 4
|
||||
.global _xt_int_exit
|
||||
.type _xt_int_exit, @function
|
||||
_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 _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
|
||||
.balign 4
|
||||
.global _xt_timer_int
|
||||
.type _xt_timer_int, @function
|
||||
_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
|
||||
.balign 4
|
||||
.global _xt_timer_int1
|
||||
.type _xt_timer_int1, @function
|
||||
_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
|
||||
.balign 4
|
||||
.global _xt_tick_timer_init
|
||||
.type _xt_tick_timer_init, @function
|
||||
_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
|
||||
.balign 4
|
||||
.global _xt_isr_unmask
|
||||
.type _xt_isr_unmask, @function
|
||||
_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
|
||||
.balign 4
|
||||
.global _xt_isr_mask
|
||||
.type _xt_isr_mask, @function
|
||||
_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
|
||||
.balign 4
|
||||
.global _xt_read_ints
|
||||
.type _xt_read_ints, @function
|
||||
_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
|
||||
.balign 4
|
||||
.global _xt_clear_ints
|
||||
.type _xt_clear_ints, @function
|
||||
_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
|
545
binary_sdk/libmain_stage1/spi_flash.S
Normal file
545
binary_sdk/libmain_stage1/spi_flash.S
Normal file
|
@ -0,0 +1,545 @@
|
|||
|
||||
.section .text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: ff9f6ffe
|
||||
# 4: 00020060
|
||||
# 8: 00200000
|
||||
# c: 00000000
|
||||
# 10: 00020060
|
||||
# 14: 00200001
|
||||
# 18: 00201000
|
||||
# 1c: 00208000
|
||||
# 20: 00600000
|
||||
# 24: 00000000
|
||||
# 28: 00000000
|
||||
|
||||
# Function @ .text+0x2c
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global SPIReadModeCnfig
|
||||
.type SPIReadModeCnfig, @function
|
||||
SPIReadModeCnfig:
|
||||
addi sp, sp, -16 /* (local0) */ # 2c: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 2f: 0901
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 31: c911
|
||||
movi a4, 0xfe6f9fff # 33: 41f3ff
|
||||
movi a3, 0x60000200 # 36: 31f3ff
|
||||
memw # 39: c02000
|
||||
l32i a0, a3, 8 /* [0x60000208] */ # 3c: 0823
|
||||
and a0, a0, a4 # 3e: 400010
|
||||
memw # 41: c02000
|
||||
s32i a0, a3, 8 /* a0 -> [0x60000208] */ # 44: 0923
|
||||
movi a0, flashchip # 46: 01f1ff
|
||||
beqz a2, .Lbr004 # 49: 166204
|
||||
beqi a2, 1, .Lbr005 # 4c: 261249
|
||||
beqi a2, 2, .Lbr006 # 4f: 26224c
|
||||
beqi a2, 3, .Lbr007 # 52: 26324f
|
||||
addi a6, a2, -4 /* arg0-0x4 */ # 55: 62c2fc
|
||||
movi a5, 0x00002000 # 58: 51ecff
|
||||
movi a12, 0 /* 0x00000000 */ # 5b: 0c0c
|
||||
moveqz a12, a5, a6 # 5d: 60c583
|
||||
.Lbr001: beqz a2, .Lbr003 # 60: ac42
|
||||
beqi a2, 1, .Lbr003 # 62: 261222
|
||||
mov a2, a0 /* flashchip */ # 65: 2d00
|
||||
call0 Disable_QMode # 67: 01efffc0
|
||||
# 6b: 0000
|
||||
.Lbr002: memw # 6d: c02000
|
||||
movi a8, 0x60000200 # 70: 81e8ff
|
||||
l32i a7, a8, 8 /* [0x60000208] */ # 73: 7828
|
||||
or a7, a7, a12 # 75: c07720
|
||||
memw # 78: c02000
|
||||
s32i a7, a8, 8 /* a7 -> [0x60000208] */ # 7b: 7928
|
||||
movi a2, 0 /* 0x00000000 */ # 7d: 0c02
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 7f: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 81: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 83: 12c110
|
||||
ret /* 0x00000000 */ # 86: 0df0
|
||||
.Lbr003: mov a2, a0 /* flashchip */ # 88: 2d00
|
||||
call0 Enable_QMode # 8a: 01e7ffc0
|
||||
# 8e: 0000
|
||||
j .Lbr002 # 90: 46f6ff
|
||||
.Lbr004: movi a12, 0x01002000 # 93: c1e0ff
|
||||
j .Lbr001 # 96: 86f1ff
|
||||
.Lbr005: movi a12, 0x00102000 # 99: c1dfff
|
||||
j .Lbr001 # 9c: 06f0ff
|
||||
.Lbr006: movi a12, 0x00802000 # 9f: c1dfff
|
||||
j .Lbr001 # a2: 86eeff
|
||||
.Lbr007: movi a12, 0x00006000 # a5: c1deff
|
||||
j .Lbr001 # a8: 06edff
|
||||
|
||||
.literal_position # ac: 00000000
|
||||
# b0: 00000000
|
||||
# b4: 00000000
|
||||
# b8: 00000000
|
||||
# bc: 00000000
|
||||
# c0: 00000000
|
||||
# c4: 00000000
|
||||
# c8: 00000000
|
||||
# cc: 00000000
|
||||
# d0: 00000000
|
||||
# d4: 00000000
|
||||
|
||||
# Function @ .text+0xd8
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x30
|
||||
# (local1): word @ -0x2c
|
||||
# (local2): word @ -0x28
|
||||
# (local3): word @ -0x24
|
||||
# (local4): word @ -0x20
|
||||
# (local5): word @ -0x1c
|
||||
# (local6): word @ -0x18
|
||||
# (local7): word @ -0x14
|
||||
# (local8): word @ -0x10
|
||||
# (local9): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global SPIWrite
|
||||
.type SPIWrite, @function
|
||||
SPIWrite: mov a5, a4 /* arg2 */ # d8: 5d04
|
||||
addi sp, sp, -48 /* (local0) */ # da: 12c1d0
|
||||
s32i a12, sp, 16 /* a12 -> [(local4)] */ # dd: c941
|
||||
s32i a14, sp, 24 /* a14 -> [(local6)] */ # df: e961
|
||||
s32i a3, sp, 36 /* arg1 -> [(local9)] */ # e1: 3991
|
||||
s32i a0, sp, 12 /* a0 -> [(local3)] */ # e3: 0931
|
||||
movi a4, flashchip # e5: 41f1ff
|
||||
s32i a15, sp, 28 /* a15 -> [(local7)] */ # e8: f971
|
||||
s32i a13, sp, 20 /* a13 -> [(local5)] */ # ea: d951
|
||||
mov a15, a3 /* arg1 */ # ec: fd03
|
||||
mov a13, a2 /* arg0 */ # ee: dd02
|
||||
l32i a0, a4, 4 /* [.Ldata001] */ # f0: 0814
|
||||
add a2, a5, a2 # f2: 2a25
|
||||
bltu a0, a2, .Lbr008 # f4: 273002
|
||||
j .Lbr014 # f7: 462000
|
||||
.Lbr008: movi a2, 1 /* 0x00000001 */ # fa: 0c12
|
||||
j .Lbr013 # fc: 461b00
|
||||
.Lbr009: movi a2, flashchip # ff: 21ecff
|
||||
mov a3, a13 /* arg0 */ # 102: 3d0d
|
||||
mov a4, a15 /* arg1 */ # 104: 4d0f
|
||||
mov a5, a12 # 106: 5d0c
|
||||
call0 SPI_page_program # 108: 01eeffc0
|
||||
# 10c: 0000
|
||||
bnez a2, .Lbr008 # 10e: 5682fe
|
||||
l32i a2, sp, 8 /* [(local2)] */ # 111: 2821
|
||||
mov a3, a14 /* [.Ldata003] */ # 113: 3d0e
|
||||
sub a2, a2, a12 # 115: c022c0
|
||||
s32i a2, sp, 0 /* a2 -> [(local0)] */ # 118: 2901
|
||||
call0 __udivsi3 # 11a: 01eaffc0
|
||||
# 11e: 0000
|
||||
s32i a2, sp, 4 /* a2 -> [(local1)] */ # 120: 2911
|
||||
beqz a2, .Lbr011 # 122: acf2
|
||||
movi a3, 0 /* 0x00000000 */ # 124: 0c03
|
||||
s32i a3, sp, 32 /* 0x00000000 -> [(local8)] */ # 126: 3981
|
||||
.Lbr010: movi a2, flashchip # 128: 21e3ff
|
||||
add a3, a13, a12 # 12b: ca3d
|
||||
mov a5, a14 /* [.Ldata003] */ # 12d: 5d0e
|
||||
srli a4, a12, 2 # 12f: c04241
|
||||
addx4 a4, a4, a15 # 132: f044a0
|
||||
call0 SPI_page_program # 135: 01e4ffc0
|
||||
# 139: 0000
|
||||
bnez a2, .Lbr008 # 13b: 56b2fb
|
||||
add a12, a14, a12 # 13e: cace
|
||||
l32i a6, sp, 32 /* [(local8)] */ # 140: 6881
|
||||
l32i a5, sp, 4 /* [(local1)] */ # 142: 5811
|
||||
addi a7, a6, 1 /* [(local8)]+0x1 */ # 144: 1b76
|
||||
extui a6, a7, 0, 8 # 146: 706074
|
||||
s32i a6, sp, 32 /* a6 -> [(local8)] */ # 149: 6981
|
||||
bne a5, a6, .Lbr010 # 14b: 6795d9
|
||||
l32i a8, sp, 8 /* [(local2)] */ # 14e: 8821
|
||||
sub a8, a8, a12 # 150: c088c0
|
||||
s32i a8, sp, 0 /* a8 -> [(local0)] */ # 153: 8901
|
||||
.Lbr011: add a3, a13, a12 # 155: ca3d
|
||||
movi a2, flashchip # 157: 21d8ff
|
||||
l32i a5, sp, 0 /* [(local0)] */ # 15a: 5801
|
||||
srli a4, a12, 2 # 15c: c04241
|
||||
addx4 a4, a4, a15 # 15f: f044a0
|
||||
call0 SPI_page_program # 162: 01daffc0
|
||||
# 166: 0000
|
||||
bnez a2, .Lbr008 # 168: 56e2f8
|
||||
.Lbr012: movi a2, 0 /* 0x00000000 */ # 16b: 0c02
|
||||
.Lbr013: l32i a12, sp, 16 /* [(local4)] */ # 16d: c841
|
||||
l32i a13, sp, 20 /* [(local5)] */ # 16f: d851
|
||||
l32i a14, sp, 24 /* [(local6)] */ # 171: e861
|
||||
l32i a15, sp, 28 /* [(local7)] */ # 173: f871
|
||||
l32i a0, sp, 12 /* [(local3)] */ # 175: 0831
|
||||
addi sp, sp, 48 /* (top of frame) */ # 177: 12c130
|
||||
ret # 17a: 0df0
|
||||
.Lbr014: mov a2, a13 /* arg0 */ # 17c: 2d0d
|
||||
l32i a14, a4, 16 /* [.Ldata003] */ # 17e: e844
|
||||
s32i a5, sp, 8 /* arg2 -> [(local2)] */ # 180: 5921
|
||||
mov a3, a14 /* [.Ldata003] */ # 182: 3d0e
|
||||
call0 __umodsi3 # 184: 01d3ffc0
|
||||
# 188: 0000
|
||||
l32i a5, sp, 8 /* [(local2)] */ # 18a: 5821
|
||||
sub a12, a14, a2 # 18c: 20cec0
|
||||
bltu a5, a12, .Lbr015 # 18f: c73502
|
||||
j .Lbr009 # 192: 46daff
|
||||
.Lbr015: mov a4, a15 /* arg1 */ # 195: 4d0f
|
||||
mov a3, a13 /* arg0 */ # 197: 3d0d
|
||||
movi a2, flashchip # 199: 21c8ff
|
||||
call0 SPI_page_program # 19c: 01ceffc0
|
||||
# 1a0: 0000
|
||||
bnez a2, .Lbr008 # 1a2: 5642f5
|
||||
j .Lbr012 # 1a5: 86f0ff
|
||||
|
||||
.literal_position # 1a8: 00000000
|
||||
# 1ac: 00000000
|
||||
|
||||
# Function @ .text+0x1b0
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global SPIRead
|
||||
.type SPIRead, @function
|
||||
SPIRead: mov a5, a4 /* arg2 */ # 1b0: 5d04
|
||||
mov a7, a3 /* arg1 */ # 1b2: 7d03
|
||||
addi sp, sp, -16 /* (local0) */ # 1b4: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1b7: 0901
|
||||
mov a3, a2 /* arg0 */ # 1b9: 3d02
|
||||
mov a4, a7 /* arg1 */ # 1bb: 4d07
|
||||
movi a2, flashchip # 1bd: 21faff
|
||||
call0 SPI_read_data # 1c0: 01fbffc0
|
||||
# 1c4: 0000
|
||||
movi a4, 0 /* 0x00000000 */ # 1c6: 0c04
|
||||
l32i a3, sp, 0 /* [(local0)] */ # 1c8: 3801
|
||||
movi a0, 1 /* 0x00000001 */ # 1ca: 0c10
|
||||
addi sp, sp, 16 /* (top of frame) */ # 1cc: 12c110
|
||||
moveqz a0, a4, a2 # 1cf: 200483
|
||||
mov a2, a0 # 1d2: 2d00
|
||||
mov a0, a3 /* [(local0)] */ # 1d4: 0d03
|
||||
ret # 1d6: 0df0
|
||||
|
||||
.literal_position # 1d8: 00000000
|
||||
# 1dc: 00000000
|
||||
# 1e0: 00000000
|
||||
# 1e4: 00000000
|
||||
# 1e8: 00000000
|
||||
# 1ec: 00000000
|
||||
|
||||
# Function @ .text+0x1f0
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global SPIEraseSector
|
||||
.type SPIEraseSector, @function
|
||||
SPIEraseSector:
|
||||
addi sp, sp, -16 /* (local0) */ # 1f0: 12c1f0
|
||||
movi a3, flashchip # 1f3: 31f9ff
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 1f6: c911
|
||||
mov a12, a2 /* arg0 */ # 1f8: cd02
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1fa: 0901
|
||||
l32i a2, a3, 4 /* [.Ldata001] */ # 1fc: 2813
|
||||
l32i a3, a3, 12 /* [.Ldata002] */ # 1fe: 3833
|
||||
call0 __udivsi3 # 200: 01f9ffc0
|
||||
# 204: 0000
|
||||
bgeu a12, a2, .Lbr016 # 206: 27bc1f
|
||||
movi a2, flashchip # 209: 21f4ff
|
||||
call0 SPI_write_enable # 20c: 01f7ffc0
|
||||
# 210: 0000
|
||||
bnez a2, .Lbr016 # 212: dc32
|
||||
movi a2, flashchip # 214: 21f3ff
|
||||
l32i a3, a2, 12 /* [.Ldata002] */ # 217: 3832
|
||||
mull a3, a3, a12 # 219: c03382
|
||||
call0 SPI_sector_erase # 21c: 01f4ffc0
|
||||
# 220: 0000
|
||||
bnez a2, .Lbr016 # 222: cc32
|
||||
movi a2, 0 /* 0x00000000 */ # 224: 0c02
|
||||
j .Lbr017 # 226: 460000
|
||||
.Lbr016: movi a2, 1 /* 0x00000001 */ # 229: 0c12
|
||||
.Lbr017: l32i a12, sp, 4 /* [(local1)] */ # 22b: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 22d: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 22f: 12c110
|
||||
ret # 232: 0df0
|
||||
|
||||
.literal_position # 234: 00000000
|
||||
# 238: 00020060
|
||||
# 23c: 00000010
|
||||
# 240: ffffff00
|
||||
# 244: 00000000
|
||||
# 248: 00000000
|
||||
# 24c: 00000000
|
||||
# 250: 00000000
|
||||
# 254: 00000000
|
||||
|
||||
# Function @ .text+0x258
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global spi_flash_get_id
|
||||
.type spi_flash_get_id, @function
|
||||
spi_flash_get_id:
|
||||
addi sp, sp, -16 /* (local0) */ # 258: 12c1f0
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 25b: 0911
|
||||
call0 vPortEnterCritical # 25d: 01f9ffc0
|
||||
# 261: 0000
|
||||
call0 Cache_Read_Disable # 263: 01f9ffc0
|
||||
# 267: 0000
|
||||
movi a2, flashchip # 269: 21f2ff
|
||||
call0 Wait_SPI_Idle # 26c: 01f8ffc0
|
||||
# 270: 0000
|
||||
movi a4, 0 /* 0x00000000 */ # 272: 0c04
|
||||
movi a0, 0x60000200 # 274: 01f1ff
|
||||
memw # 277: c02000
|
||||
s32i a4, a0, 64 /* 0x00000000 -> [0x60000240] */ # 27a: 426010
|
||||
movi a3, 0x10000000 # 27d: 31efff
|
||||
memw # 280: c02000
|
||||
s32i a3, a0, 0 /* 0x10000000 -> [0x60000200] */ # 283: 3900
|
||||
memw # 285: c02000
|
||||
l32i a2, a0, 0 /* [0x60000200] */ # 288: 2800
|
||||
beqz a2, .Lbr019 # 28a: 8c62
|
||||
.Lbr018: memw # 28c: c02000
|
||||
l32i a5, a0, 0 /* [0x60000200] */ # 28f: 5800
|
||||
bnez a5, .Lbr018 # 291: 5675ff
|
||||
.Lbr019: movi a7, 0x00ffffff # 294: 71ebff
|
||||
memw # 297: c02000
|
||||
movi a2, 0 /* 0x00000000 */ # 29a: 0c02
|
||||
movi a3, 0 /* 0x00000000 */ # 29c: 0c03
|
||||
l32i a6, a0, 64 /* [0x60000240] */ # 29e: 622010
|
||||
movi a4, 1 /* 0x00000001 */ # 2a1: 0c14
|
||||
and a6, a6, a7 # 2a3: 706610
|
||||
s32i a6, sp, 0 /* a6 -> [(local0)] */ # 2a6: 6901
|
||||
call0 Cache_Read_Enable # 2a8: 01eaffc0
|
||||
# 2ac: 0000
|
||||
call0 vPortExitCritical # 2ae: 01e9ffc0
|
||||
# 2b2: 0000
|
||||
l32i a8, sp, 4 /* [(local1)] */ # 2b4: 8811
|
||||
l32i a2, sp, 0 /* [(local0)] */ # 2b6: 2801
|
||||
mov a0, a8 /* [(local1)] */ # 2b8: 0d08
|
||||
addi sp, sp, 16 /* (top of frame) */ # 2ba: 12c110
|
||||
ret /* [(local0)] */ # 2bd: 0df0
|
||||
|
||||
.literal_position # 2c0: 00000000
|
||||
# 2c4: 00000000
|
||||
# 2c8: 00000000
|
||||
# 2cc: 00000000
|
||||
# 2d0: 00000000
|
||||
# 2d4: 00000000
|
||||
|
||||
# Function @ .text+0x2d8
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global spi_flash_read_status
|
||||
.type spi_flash_read_status, @function
|
||||
spi_flash_read_status:
|
||||
addi sp, sp, -16 /* (local0) */ # 2d8: 12c1f0
|
||||
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 2db: 2901
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 2dd: 0921
|
||||
call0 vPortEnterCritical # 2df: 01f9ffc0
|
||||
# 2e3: 0000
|
||||
call0 Cache_Read_Disable # 2e5: 01f8ffc0
|
||||
# 2e9: 0000
|
||||
movi a2, flashchip # 2eb: 21f5ff
|
||||
l32i a3, sp, 0 /* [(local0)] */ # 2ee: 3801
|
||||
call0 SPI_read_status # 2f0: 01f7ffc0
|
||||
# 2f4: 0000
|
||||
movi a3, 0 /* 0x00000000 */ # 2f6: 0c03
|
||||
s32i a2, sp, 4 /* a2 -> [(local1)] */ # 2f8: 2911
|
||||
movi a4, 1 /* 0x00000001 */ # 2fa: 0c14
|
||||
movi a2, 0 /* 0x00000000 */ # 2fc: 0c02
|
||||
call0 Cache_Read_Enable # 2fe: 01f4ffc0
|
||||
# 302: 0000
|
||||
call0 vPortExitCritical # 304: 01f4ffc0
|
||||
# 308: 0000
|
||||
l32i a3, sp, 8 /* [(local2)] */ # 30a: 3821
|
||||
l32i a2, sp, 4 /* [(local1)] */ # 30c: 2811
|
||||
mov a0, a3 /* [(local2)] */ # 30e: 0d03
|
||||
addi sp, sp, 16 /* (top of frame) */ # 310: 12c110
|
||||
ret /* [(local1)] */ # 313: 0df0
|
||||
|
||||
.literal_position # 318: 00000000
|
||||
# 31c: 00000000
|
||||
# 320: 00000000
|
||||
# 324: 00000000
|
||||
# 328: 00000000
|
||||
# 32c: 00000000
|
||||
|
||||
# Function @ .text+0x330
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global spi_flash_write_status
|
||||
.type spi_flash_write_status, @function
|
||||
spi_flash_write_status:
|
||||
addi sp, sp, -16 /* (local0) */ # 330: 12c1f0
|
||||
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 333: 2901
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 335: 0921
|
||||
call0 vPortEnterCritical # 337: 01f9ffc0
|
||||
# 33b: 0000
|
||||
call0 Cache_Read_Disable # 33d: 01f8ffc0
|
||||
# 341: 0000
|
||||
movi a2, flashchip # 343: 21f5ff
|
||||
l32i a3, sp, 0 /* [(local0)] */ # 346: 3801
|
||||
call0 SPI_write_status # 348: 01f7ffc0
|
||||
# 34c: 0000
|
||||
movi a3, 0 /* 0x00000000 */ # 34e: 0c03
|
||||
s32i a2, sp, 4 /* a2 -> [(local1)] */ # 350: 2911
|
||||
movi a4, 1 /* 0x00000001 */ # 352: 0c14
|
||||
movi a2, 0 /* 0x00000000 */ # 354: 0c02
|
||||
call0 Cache_Read_Enable # 356: 01f4ffc0
|
||||
# 35a: 0000
|
||||
call0 vPortExitCritical # 35c: 01f4ffc0
|
||||
# 360: 0000
|
||||
l32i a3, sp, 8 /* [(local2)] */ # 362: 3821
|
||||
l32i a2, sp, 4 /* [(local1)] */ # 364: 2811
|
||||
mov a0, a3 /* [(local2)] */ # 366: 0d03
|
||||
addi sp, sp, 16 /* (top of frame) */ # 368: 12c110
|
||||
ret /* [(local1)] */ # 36b: 0df0
|
||||
|
||||
.literal_position # 370: 00000000
|
||||
# 374: 00000000
|
||||
# 378: 00000000
|
||||
# 37c: 00000000
|
||||
|
||||
# Function @ .text+0x380
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global spi_flash_erase_sector
|
||||
.type spi_flash_erase_sector, @function
|
||||
spi_flash_erase_sector:
|
||||
addi sp, sp, -16 /* (local0) */ # 380: 12c1f0
|
||||
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 383: 2901
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 385: 0921
|
||||
call0 vPortEnterCritical # 387: 01faffc0
|
||||
# 38b: 0000
|
||||
call0 Cache_Read_Disable # 38d: 01f9ffc0
|
||||
# 391: 0000
|
||||
l32i a2, sp, 0 /* [(local0)] */ # 393: 2801
|
||||
call0 SPIEraseSector # 395: 050000
|
||||
movi a3, 0 /* 0x00000000 */ # 398: 0c03
|
||||
s32i a2, sp, 4 /* a2 -> [(local1)] */ # 39a: 2911
|
||||
movi a4, 1 /* 0x00000001 */ # 39c: 0c14
|
||||
movi a2, 0 /* 0x00000000 */ # 39e: 0c02
|
||||
call0 Cache_Read_Enable # 3a0: 01f6ffc0
|
||||
# 3a4: 0000
|
||||
call0 vPortExitCritical # 3a6: 01f5ffc0
|
||||
# 3aa: 0000
|
||||
l32i a3, sp, 8 /* [(local2)] */ # 3ac: 3821
|
||||
l32i a2, sp, 4 /* [(local1)] */ # 3ae: 2811
|
||||
mov a0, a3 /* [(local2)] */ # 3b0: 0d03
|
||||
addi sp, sp, 16 /* (top of frame) */ # 3b2: 12c110
|
||||
ret /* [(local1)] */ # 3b5: 0df0
|
||||
|
||||
.literal_position # 3b8: 00000000
|
||||
# 3bc: 00000000
|
||||
# 3c0: 00000000
|
||||
# 3c4: 00000000
|
||||
|
||||
# Function @ .text+0x3c8
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word @ -0x8
|
||||
# (local3): word @ -0x4
|
||||
.balign 4
|
||||
.global spi_flash_write
|
||||
.type spi_flash_write, @function
|
||||
spi_flash_write:
|
||||
addi sp, sp, -16 /* (local0) */ # 3c8: 12c1f0
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 3cb: 0911
|
||||
s32i a13, sp, 12 /* a13 -> [(local3)] */ # 3cd: d931
|
||||
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 3cf: c921
|
||||
mov a13, a3 /* arg1 */ # 3d1: dd03
|
||||
mov a12, a4 /* arg2 */ # 3d3: cd04
|
||||
bnez a3, .Lbr020 # 3d5: cc33
|
||||
movi a2, 1 /* 0x00000001 */ # 3d7: 0c12
|
||||
j .Lbr022 # 3d9: 460e00
|
||||
.Lbr020: s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 3dc: 2901
|
||||
movi a0, 3 /* 0x00000003 */ # 3de: 0c30
|
||||
bnone a0, a4, .Lbr021 # 3e0: 470007
|
||||
movi a0, 4 /* 0x00000004 */ # 3e3: 0c40
|
||||
srli a12, a4, 2 # 3e5: 40c241
|
||||
addx4 a12, a12, a0 # 3e8: 00cca0
|
||||
.Lbr021: call0 vPortEnterCritical # 3eb: 01f3ffc0
|
||||
# 3ef: 0000
|
||||
call0 Cache_Read_Disable # 3f1: 01f2ffc0
|
||||
# 3f5: 0000
|
||||
mov a4, a12 # 3f7: 4d0c
|
||||
mov a3, a13 /* arg1 */ # 3f9: 3d0d
|
||||
l32i a2, sp, 0 /* [(local0)] */ # 3fb: 2801
|
||||
call0 SPIWrite # 3fd: 050000
|
||||
movi a3, 0 /* 0x00000000 */ # 400: 0c03
|
||||
mov a12, a2 # 402: cd02
|
||||
movi a4, 1 /* 0x00000001 */ # 404: 0c14
|
||||
movi a2, 0 /* 0x00000000 */ # 406: 0c02
|
||||
call0 Cache_Read_Enable # 408: 01eeffc0
|
||||
# 40c: 0000
|
||||
call0 vPortExitCritical # 40e: 01edffc0
|
||||
# 412: 0000
|
||||
mov a2, a12 # 414: 2d0c
|
||||
.Lbr022: l32i a12, sp, 8 /* [(local2)] */ # 416: c821
|
||||
l32i a13, sp, 12 /* [(local3)] */ # 418: d831
|
||||
l32i a0, sp, 4 /* [(local1)] */ # 41a: 0811
|
||||
addi sp, sp, 16 /* (top of frame) */ # 41c: 12c110
|
||||
ret # 41f: 0df0
|
||||
|
||||
.literal_position # 424: 00000000
|
||||
# 428: 00000000
|
||||
# 42c: 00000000
|
||||
# 430: 00000000
|
||||
|
||||
# Function @ .text+0x434
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word @ -0x8
|
||||
# (local3): word @ -0x4
|
||||
.balign 4
|
||||
.global spi_flash_read
|
||||
.type spi_flash_read, @function
|
||||
spi_flash_read:
|
||||
addi sp, sp, -16 /* (local0) */ # 434: 12c1f0
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 437: 0921
|
||||
s32i a4, sp, 0 /* arg2 -> [(local0)] */ # 439: 4901
|
||||
s32i a12, sp, 12 /* a12 -> [(local3)] */ # 43b: c931
|
||||
s32i a2, sp, 4 /* arg0 -> [(local1)] */ # 43d: 2911
|
||||
mov a12, a3 /* arg1 */ # 43f: cd03
|
||||
bnez a3, .Lbr023 # 441: cc33
|
||||
movi a2, 1 /* 0x00000001 */ # 443: 0c12
|
||||
j .Lbr024 # 445: 860a00
|
||||
.Lbr023: call0 vPortEnterCritical # 448: 01f7ffc0
|
||||
# 44c: 0000
|
||||
call0 Cache_Read_Disable # 44e: 01f6ffc0
|
||||
# 452: 0000
|
||||
mov a3, a12 /* arg1 */ # 454: 3d0c
|
||||
l32i a2, sp, 4 /* [(local1)] */ # 456: 2811
|
||||
l32i a4, sp, 0 /* [(local0)] */ # 458: 4801
|
||||
call0 SPIRead # 45a: 050000
|
||||
movi a3, 0 /* 0x00000000 */ # 45d: 0c03
|
||||
mov a12, a2 # 45f: cd02
|
||||
movi a4, 1 /* 0x00000001 */ # 461: 0c14
|
||||
movi a2, 0 /* 0x00000000 */ # 463: 0c02
|
||||
call0 Cache_Read_Enable # 465: 01f1ffc0
|
||||
# 469: 0000
|
||||
call0 vPortExitCritical # 46b: 01f1ffc0
|
||||
# 46f: 0000
|
||||
mov a2, a12 # 471: 2d0c
|
||||
.Lbr024: l32i a12, sp, 12 /* [(local3)] */ # 473: c831
|
||||
l32i a0, sp, 8 /* [(local2)] */ # 475: 0821
|
||||
addi sp, sp, 16 /* (top of frame) */ # 477: 12c110
|
||||
ret # 47a: 0df0
|
||||
|
||||
.section .data, "aw", @progbits
|
||||
|
||||
.global flashchip
|
||||
.type flashchip, @object
|
||||
flashchip: .word 0x001640ef # 0: ef401600
|
||||
.Ldata001: .word 0x00400000 # 4: 00004000
|
||||
|
||||
# NOTE: The following is apparently unreferenced code/data
|
||||
.word 0x00010000 # 8: 00000100
|
||||
|
||||
.Ldata002: .word 0x00001000 # c: 00100000
|
||||
.Ldata003: .word 0x00000100 # 10: 00010000
|
||||
|
||||
# NOTE: The following is apparently unreferenced code/data
|
||||
.word 0x0000ffff # 14: ffff0000
|
232
binary_sdk/libmain_stage1/timers.S
Normal file
232
binary_sdk/libmain_stage1/timers.S
Normal file
|
@ -0,0 +1,232 @@
|
|||
|
||||
.section .bss, "aw", @nobits
|
||||
|
||||
.Ldata001: .word 0x00000000 # 0: 00000000
|
||||
.Ldata002: .byte 0x00
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
# 4: 00000000
|
||||
# 8: 00000000
|
||||
# c: 00000000
|
||||
# 10: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x14
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word @ -0x10
|
||||
# (local5): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global os_timer_setfn
|
||||
.type os_timer_setfn, @function
|
||||
os_timer_setfn:
|
||||
addi sp, sp, -32 /* (local0) */ # 14: 12c1e0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 17: 0901
|
||||
s32i a14, sp, 12 /* a14 -> [(local3)] */ # 19: e931
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 1b: d921
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 1d: c911
|
||||
s32i a15, sp, 16 /* a15 -> [(local4)] */ # 1f: f941
|
||||
movi a15, .Ldata001 # 21: f1f7ff
|
||||
mov a12, a2 /* arg0 */ # 24: cd02
|
||||
l32i a13, a15, 0 /* [.Ldata001] */ # 26: d80f
|
||||
mov a14, a4 /* arg2 */ # 28: ed04
|
||||
beqz a13, .Lbr006 # 2a: 16fd04
|
||||
.Lbr001: l32i a0, a13, 4 # 2d: 081d
|
||||
bne a0, a12, .Lbr005 # 2f: c79041
|
||||
l32i a2, a12, 24 /* [arg0+0x18] */ # 32: 286c
|
||||
l32i a4, a12, 16 /* [arg0+0x10] */ # 34: 484c
|
||||
bne a2, a14, .Lbr002 # 36: e79202
|
||||
beq a4, a3, .Lbr007 # 39: 37145f
|
||||
.Lbr002: l32i a2, a12, 4 /* [arg0+0x4] */ # 3c: 281c
|
||||
s32i a3, sp, 20 /* arg1 -> [(local5)] */ # 3e: 3951
|
||||
beqz a2, .Lbr004 # 40: ac32
|
||||
movi a3, 3 /* 0x00000003 */ # 42: 0c33
|
||||
movi a4, 0 /* 0x00000000 */ # 44: 0c04
|
||||
movi a5, 0 /* 0x00000000 */ # 46: 0c05
|
||||
movi a6, 50 /* 0x00000032 */ # 48: 3c26
|
||||
call0 xTimerGenericCommand # 4a: 01efffc0
|
||||
# 4e: 0000
|
||||
l32i a3, sp, 20 /* [(local5)] */ # 50: 3851
|
||||
bnez a2, .Lbr003 # 52: cc92
|
||||
movi a2, .Lstr001 # 54: 21ecff
|
||||
call0 printf # 57: 01edffc0
|
||||
# 5b: 0000
|
||||
l32i a3, sp, 20 /* [(local5)] */ # 5d: 3851
|
||||
.Lbr003: l8ui a5, a15, 4 /* [.Ldata002] */ # 5f: 520f04
|
||||
addi a5, a5, -1 /* [.Ldata002]-0x1 */ # 62: 0b55
|
||||
s8i a5, a15, 4 /* [.Ldata002]-0x1 -> [.Ldata002] */ # 64: 524f04
|
||||
.Lbr004: s32i a3, a12, 16 /* a3 -> [arg0+0x10] */ # 67: 394c
|
||||
s32i a14, a12, 24 /* arg2 -> [arg0+0x18] */ # 69: e96c
|
||||
movi a6, 0 /* 0x00000000 */ # 6b: 0c06
|
||||
s32i a6, a12, 4 /* 0x00000000 -> [arg0+0x4] */ # 6d: 691c
|
||||
s32i a6, a12, 12 /* 0x00000000 -> [arg0+0xc] */ # 6f: 693c
|
||||
j .Lbr007 # 71: c60900
|
||||
.Lbr005: l32i a0, a13, 0 # 74: 080d
|
||||
beqz a0, .Lbr006 # 76: 8c30
|
||||
mov a13, a0 # 78: dd00
|
||||
bnez a0, .Lbr001 # 7a: 56f0fa
|
||||
.Lbr006: s32i a3, a12, 16 /* arg1 -> [arg0+0x10] */ # 7d: 394c
|
||||
s32i a14, a12, 24 /* arg2 -> [arg0+0x18] */ # 7f: e96c
|
||||
movi a2, 8 /* 0x00000008 */ # 81: 0c82
|
||||
movi a7, 0 /* 0x00000000 */ # 83: 0c07
|
||||
s32i a7, a12, 4 /* 0x00000000 -> [arg0+0x4] */ # 85: 791c
|
||||
s32i a7, a12, 12 /* 0x00000000 -> [arg0+0xc] */ # 87: 793c
|
||||
call0 pvPortMalloc # 89: 01e1ffc0
|
||||
# 8d: 0000
|
||||
s32i a12, a2, 4 # 8f: c912
|
||||
movi a9, 0 /* 0x00000000 */ # 91: 0c09
|
||||
l32i a8, a15, 0 /* [.Ldata001] */ # 93: 880f
|
||||
s32i a9, a2, 0 # 95: 9902
|
||||
movnez a15, a13, a8 # 97: 80fd93
|
||||
s32i a2, a15, 0 # 9a: 290f
|
||||
.Lbr007: l32i a12, sp, 4 /* [(local1)] */ # 9c: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 9e: d821
|
||||
l32i a14, sp, 12 /* [(local3)] */ # a0: e831
|
||||
l32i a15, sp, 16 /* [(local4)] */ # a2: f841
|
||||
l32i a0, sp, 0 /* [(local0)] */ # a4: 0801
|
||||
addi sp, sp, 32 /* (top of frame) */ # a6: 12c120
|
||||
ret # a9: 0df0
|
||||
|
||||
.literal_position # ac: 00000000
|
||||
# b0: 18000000
|
||||
# b4: 00000000
|
||||
# b8: 00000000
|
||||
# bc: 00000000
|
||||
# c0: 00000000
|
||||
# c4: 00000000
|
||||
# c8: 00000000
|
||||
# cc: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xd0
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global os_timer_arm
|
||||
.type os_timer_arm, @function
|
||||
os_timer_arm:
|
||||
addi sp, sp, -32 /* (local0) */ # d0: 12c1e0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # d3: 0901
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # d5: d921
|
||||
s32i a15, sp, 16 /* a15 -> [(local4)] */ # d7: f941
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # d9: c911
|
||||
s32i a14, sp, 12 /* a14 -> [(local3)] */ # db: e931
|
||||
mov a12, a2 /* arg0 */ # dd: cd02
|
||||
mov a14, a3 /* arg1 */ # df: ed03
|
||||
l32i a15, a2, 4 /* [arg0+0x4] */ # e1: f812
|
||||
mov a13, a4 /* arg2 */ # e3: dd04
|
||||
bnez a15, .Lbr008 # e5: ecff
|
||||
s8i a4, a2, 20 /* arg2 -> [arg0+0x14] */ # e7: 424214
|
||||
s32i a3, a2, 12 /* arg1 -> [arg0+0xc] */ # ea: 3932
|
||||
mov a2, a3 /* arg1 */ # ec: 2d03
|
||||
movi a3, 10 /* 0x0000000a */ # ee: 0ca3
|
||||
call0 __udivsi3 # f0: 01f1ffc0
|
||||
# f4: 0000
|
||||
mov a4, a13 /* arg2 */ # f6: 4d0d
|
||||
l32i a5, a12, 24 /* [arg0+0x18] */ # f8: 586c
|
||||
mov a3, a2 # fa: 3d02
|
||||
l32i a6, a12, 16 /* [arg0+0x10] */ # fc: 684c
|
||||
movi a2, 0 /* 0x00000000 */ # fe: 0c02
|
||||
call0 xTimerCreate # 100: 01eeffc0
|
||||
# 104: 0000
|
||||
movi a3, .Ldata001 # 106: 31e9ff
|
||||
mov a15, a2 # 109: fd02
|
||||
l8ui a0, a3, 4 /* [.Ldata002] */ # 10b: 020304
|
||||
s32i a2, a12, 4 /* a2 -> [arg0+0x4] */ # 10e: 291c
|
||||
addi a0, a0, 1 /* [.Ldata002]+0x1 */ # 110: 1b00
|
||||
s8i a0, a3, 4 /* [.Ldata002]+0x1 -> [.Ldata002] */ # 112: 024304
|
||||
beqz a2, .Lbr011 # 115: 16c204
|
||||
.Lbr008: l8ui a3, a12, 20 /* [arg0+0x14] */ # 118: 320c14
|
||||
beq a3, a13, .Lbr009 # 11b: d71304
|
||||
s8i a13, a12, 20 /* arg2 -> [arg0+0x14] */ # 11e: d24c14
|
||||
s32i a13, a15, 28 # 121: d97f
|
||||
.Lbr009: l32i a4, a12, 12 /* [arg0+0xc] */ # 123: 483c
|
||||
beq a4, a14, .Lbr010 # 125: e7141b
|
||||
mov a2, a14 /* arg1 */ # 128: 2d0e
|
||||
s32i a14, a12, 12 /* arg1 -> [arg0+0xc] */ # 12a: e93c
|
||||
movi a3, 10 /* 0x0000000a */ # 12c: 0ca3
|
||||
call0 __udivsi3 # 12e: 01e3ffc0
|
||||
# 132: 0000
|
||||
movi a3, 2 /* 0x00000002 */ # 134: 0c23
|
||||
movi a5, 0 /* 0x00000000 */ # 136: 0c05
|
||||
mov a4, a2 # 138: 4d02
|
||||
movi a6, 10 /* 0x0000000a */ # 13a: 0ca6
|
||||
mov a2, a15 # 13c: 2d0f
|
||||
call0 xTimerGenericCommand # 13e: 01e0ffc0
|
||||
# 142: 0000
|
||||
.Lbr010: call0 xTaskGetTickCount # 144: 01e0ffc0
|
||||
# 148: 0000
|
||||
movi a3, 0 /* 0x00000000 */ # 14a: 0c03
|
||||
movi a5, 0 /* 0x00000000 */ # 14c: 0c05
|
||||
mov a4, a2 # 14e: 4d02
|
||||
movi a6, 50 /* 0x00000032 */ # 150: 3c26
|
||||
l32i a2, a12, 4 /* [arg0+0x4] */ # 152: 281c
|
||||
call0 xTimerGenericCommand # 154: 01ddffc0
|
||||
# 158: 0000
|
||||
bnez a2, .Lbr011 # 15a: cc72
|
||||
movi a2, .Lstr002 # 15c: 21d5ff
|
||||
call0 printf # 15f: 01dbffc0
|
||||
# 163: 0000
|
||||
.Lbr011: l32i a12, sp, 4 /* [(local1)] */ # 165: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 167: d821
|
||||
l32i a14, sp, 12 /* [(local3)] */ # 169: e831
|
||||
l32i a15, sp, 16 /* [(local4)] */ # 16b: f841
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 16d: 0801
|
||||
addi sp, sp, 32 /* (top of frame) */ # 16f: 12c120
|
||||
ret # 172: 0df0
|
||||
|
||||
.literal_position # 174: 2c000000
|
||||
# 178: 00000000
|
||||
# 17c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x180
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global os_timer_disarm
|
||||
.type os_timer_disarm, @function
|
||||
os_timer_disarm:
|
||||
addi sp, sp, -16 /* (local0) */ # 180: 12c1f0
|
||||
l32i a2, a2, 4 /* [arg0+0x4] */ # 183: 2812
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 185: 0901
|
||||
beqz a2, .Lbr012 # 187: 9c72
|
||||
movi a3, 1 /* 0x00000001 */ # 189: 0c13
|
||||
movi a4, 0 /* 0x00000000 */ # 18b: 0c04
|
||||
movi a5, 0 /* 0x00000000 */ # 18d: 0c05
|
||||
movi a6, 50 /* 0x00000032 */ # 18f: 3c26
|
||||
call0 xTimerGenericCommand # 191: 01f9ffc0
|
||||
# 195: 0000
|
||||
bnez a2, .Lbr012 # 197: cc72
|
||||
movi a2, .Lstr003 # 199: 21f6ff
|
||||
call0 printf # 19c: 01f8ffc0
|
||||
# 1a0: 0000
|
||||
.Lbr012: l32i a0, sp, 0 /* [(local0)] */ # 1a2: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 1a4: 12c110
|
||||
ret # 1a7: 0df0
|
||||
|
||||
.section .rodata.str1.4, "MSa", @progbits, 1
|
||||
|
||||
.Lstr001: .asciz "Timer Delete Failed\n" # 0: 54696d65
|
||||
# 4: 72204465
|
||||
# 8: 6c657465
|
||||
# c: 20466169
|
||||
# 10: 6c65640a
|
||||
# 14: 00
|
||||
.balign 4
|
||||
.Lstr002: .asciz "Timer Start Failed\n" # 18: 54696d65
|
||||
# 1c: 72205374
|
||||
# 20: 61727420
|
||||
# 24: 4661696c
|
||||
# 28: 65640a00
|
||||
.Lstr003: .asciz "Timer Stop Failed\n" # 2c: 54696d65
|
||||
# 30: 72205374
|
||||
# 34: 6f702046
|
||||
# 38: 61696c65
|
||||
# 3c: 640a00
|
47
binary_sdk/libmain_stage1/uart.S
Normal file
47
binary_sdk/libmain_stage1/uart.S
Normal file
|
@ -0,0 +1,47 @@
|
|||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
# Function @ .irom0.text+0x0
|
||||
.balign 4
|
||||
.literal_position
|
||||
.global uart_buff_switch
|
||||
.type uart_buff_switch, @function
|
||||
uart_buff_switch:
|
||||
ret /* arg0 */ # 0: 0df0
|
||||
|
||||
.literal_position # 4: 000f0000
|
||||
# 8: 00feff5f
|
||||
# c: 00000600
|
||||
# 10: fffff9ff
|
||||
|
||||
# Function @ .irom0.text+0x14
|
||||
.balign 4
|
||||
.global uart_div_modify
|
||||
.type uart_div_modify, @function
|
||||
uart_div_modify:
|
||||
movi a5, 0x00000f00 # 14: 51fcff
|
||||
movi a6, 0x5ffffe00 # 17: 61fcff
|
||||
mul16s a5, a5, a2 # 1a: 2055d1
|
||||
add a5, a5, a6 # 1d: 6a55
|
||||
memw # 1f: c02000
|
||||
s32i a3, a5, 0x214 # 22: 326585
|
||||
movi a8, 0x00060000 # 25: 81f9ff
|
||||
memw # 28: c02000
|
||||
l32i a7, a5, 0x220 # 2b: 722588
|
||||
or a7, a7, a8 # 2e: 807720
|
||||
memw # 31: c02000
|
||||
s32i a7, a5, 0x220 # 34: 726588
|
||||
movi a6, 0xfff9ffff # 37: 61f6ff
|
||||
memw # 3a: c02000
|
||||
l32i a4, a5, 0x220 # 3d: 422588
|
||||
and a4, a4, a6 # 40: 604410
|
||||
memw # 43: c02000
|
||||
s32i a4, a5, 0x220 # 46: 426588
|
||||
ret /* arg0 */ # 49: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x4c
|
||||
.balign 4
|
||||
.global Uart_Init
|
||||
.type Uart_Init, @function
|
||||
Uart_Init: ret /* arg0 */ # 4c: 0df0
|
4673
binary_sdk/libmain_stage1/user_interface.S
Normal file
4673
binary_sdk/libmain_stage1/user_interface.S
Normal file
File diff suppressed because it is too large
Load diff
43
binary_sdk/libmain_stage1/xtensa_context.S
Normal file
43
binary_sdk/libmain_stage1/xtensa_context.S
Normal file
|
@ -0,0 +1,43 @@
|
|||
|
||||
.section .text, "ax", @progbits
|
||||
|
||||
# Function @ .text+0x0
|
||||
.balign 4
|
||||
.literal_position
|
||||
.global _xt_context_save
|
||||
.type _xt_context_save, @function
|
||||
_xt_context_save:
|
||||
s32i a2, sp, 20 /* arg0 -> [(FP)+0x14] */ # 0: 2951
|
||||
s32i a3, sp, 24 /* arg1 -> [(FP)+0x18] */ # 2: 3961
|
||||
s32i a4, sp, 28 /* arg2 -> [(FP)+0x1c] */ # 4: 4971
|
||||
s32i a5, sp, 32 /* arg3 -> [(FP)+0x20] */ # 6: 5981
|
||||
s32i a6, sp, 36 /* arg4 -> [(FP)+0x24] */ # 8: 6991
|
||||
s32i a7, sp, 40 /* arg5 -> [(FP)+0x28] */ # a: 79a1
|
||||
s32i a8, sp, 44 /* a8 -> [(FP)+0x2c] */ # c: 89b1
|
||||
s32i a9, sp, 48 /* a9 -> [(FP)+0x30] */ # e: 99c1
|
||||
s32i a10, sp, 52 /* a10 -> [(FP)+0x34] */ # 10: a9d1
|
||||
s32i a11, sp, 56 /* a11 -> [(FP)+0x38] */ # 12: b9e1
|
||||
rsr a3, sar # 14: 300303
|
||||
s32i a3, sp, 76 /* a3 -> [(FP)+0x4c] */ # 17: 326113
|
||||
ret /* arg0 */ # 1a: 0df0
|
||||
|
||||
# Function @ .text+0x1c
|
||||
.balign 4
|
||||
.global _xt_context_restore
|
||||
.type _xt_context_restore, @function
|
||||
_xt_context_restore:
|
||||
l32i a3, sp, 76 /* [(FP)+0x4c] */ # 1c: 322113
|
||||
l32i a2, sp, 20 /* [(FP)+0x14] */ # 1f: 2851
|
||||
wsr a3, sar # 21: 300313
|
||||
l32i a3, sp, 24 /* [(FP)+0x18] */ # 24: 3861
|
||||
l32i a4, sp, 28 /* [(FP)+0x1c] */ # 26: 4871
|
||||
l32i a5, sp, 32 /* [(FP)+0x20] */ # 28: 5881
|
||||
l32i a6, sp, 36 /* [(FP)+0x24] */ # 2a: 6891
|
||||
l32i a7, sp, 40 /* [(FP)+0x28] */ # 2c: 78a1
|
||||
l32i a8, sp, 44 /* [(FP)+0x2c] */ # 2e: 88b1
|
||||
l32i a9, sp, 48 /* [(FP)+0x30] */ # 30: 98c1
|
||||
l32i a10, sp, 52 /* [(FP)+0x34] */ # 32: a8d1
|
||||
l32i a11, sp, 56 /* [(FP)+0x38] */ # 34: b8e1
|
||||
l32i a12, sp, 60 /* [(FP)+0x3c] */ # 36: c8f1
|
||||
l32i a13, sp, 64 /* [(FP)+0x40] */ # 38: d22110
|
||||
ret /* [(FP)+0x14] */ # 3b: 0df0
|
0
binary_sdk/libmain_stage1/xtensa_init.S
Normal file
0
binary_sdk/libmain_stage1/xtensa_init.S
Normal file
443
binary_sdk/libnet80211/ieee80211.S
Normal file
443
binary_sdk/libnet80211/ieee80211.S
Normal file
|
@ -0,0 +1,443 @@
|
|||
|
||||
.section .bss, "aw", @nobits
|
||||
|
||||
.global sdk_g_ic
|
||||
.type sdk_g_ic, @object
|
||||
sdk_g_ic: .space 16
|
||||
.Ldata001: .word 0x00000000 # 10: 00000000
|
||||
.Ldata002: .word 0x00000000 # 14: 00000000
|
||||
|
||||
# NOTE: 1328 non-alignment zero bytes skipped.
|
||||
|
||||
.skip 1328
|
||||
.global sdk_xieee80211Queue
|
||||
.type sdk_xieee80211Queue, @object
|
||||
sdk_xieee80211Queue:
|
||||
.word 0x00000000 # 548: 00000000
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 6c090000
|
||||
# 4: b4090000
|
||||
# 8: b4090000
|
||||
# c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x10
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word @ -0x10
|
||||
# (local5): word @ -0xc
|
||||
# (local6): word[2] @ -0x8
|
||||
.balign 4
|
||||
.Lfunc001: movi a5, 131 /* 0x00000083 */ # 10: 52a083
|
||||
movi a6, 0x000009b4 # 13: 61fcff
|
||||
addi sp, sp, -32 /* (local0) */ # 16: 12c1e0
|
||||
s32i a2, sp, 24 /* arg0 -> [(local6)] */ # 19: 2961
|
||||
s32i a15, sp, 16 /* a15 -> [(local4)] */ # 1b: f941
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1d: 0901
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 1f: c911
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 21: d921
|
||||
s32i a14, sp, 12 /* a14 -> [(local3)] */ # 23: e931
|
||||
movi a13, 0x0000096c # 25: d1f6ff
|
||||
movi a14, 0 /* 0x00000000 */ # 28: 0c0e
|
||||
mov a12, a2 /* arg0 */ # 2a: cd02
|
||||
movi a0, 156 /* 0x0000009c */ # 2c: 02a09c
|
||||
mov a15, a2 /* arg0 */ # 2f: fd02
|
||||
add a0, a15, a0 /* arg0+0x9c */ # 31: 0a0f
|
||||
movi a2, 14 /* 0x0000000e */ # 33: 0ce2
|
||||
s32i a2, a15, 128 /* 0x0000000e -> [arg0+0x80] */ # 35: 226f20
|
||||
.Lbr001: s32i a5, a12, 132 # 38: 526c21
|
||||
l8ui a3, a12, 138 # 3b: 320c8a
|
||||
s32i a0, sp, 20 /* a0 -> [(local5)] */ # 3e: 0951
|
||||
bltu a0, a12, .Lbr002 # 40: c73008
|
||||
s16i a13, a12, 136 # 43: d25c44
|
||||
bne a12, a0, .Lbr002 # 46: 079c02
|
||||
s16i a6, a12, 136 # 49: 625c44
|
||||
.Lbr002: bnez a3, .Lbr003 # 4c: dc23
|
||||
l16ui a2, a12, 136 # 4e: 221c44
|
||||
movi a3, 131 /* 0x00000083 */ # 51: 32a083
|
||||
call0 sdk_ieee80211_mhz2ieee # 54: 050000
|
||||
l32i a0, sp, 20 /* [(local5)] */ # 57: 0851
|
||||
movi a5, 131 /* 0x00000083 */ # 59: 52a083
|
||||
movi a6, 0x000009b4 # 5c: 61ebff
|
||||
s8i a2, a12, 138 # 5f: 224c8a
|
||||
.Lbr003: addi a13, a13, 5 # 62: 5bdd
|
||||
l8ui a4, a12, 139 # 64: 420c8b
|
||||
addi a14, a14, 1 # 67: 1bee
|
||||
bnez a4, .Lbr004 # 69: ccd4
|
||||
l8ui a7, a12, 141 # 6b: 720c8d
|
||||
slli a7, a7, 24 # 6e: 807701
|
||||
srai a7, a7, 24 # 71: 707831
|
||||
slli a7, a7, 1 # 74: f07711
|
||||
s8i a7, a12, 139 # 77: 724c8b
|
||||
.Lbr004: l32i a8, a15, 128 /* [arg0+0x80] */ # 7a: 822f20
|
||||
addi a12, a12, 12 # 7d: cbcc
|
||||
blt a14, a8, .Lbr001 # 7f: 872eb5
|
||||
movi a2, 132 /* 0x00000084 */ # 82: 22a084
|
||||
add a2, a15, a2 /* arg0+0x84 */ # 85: 2a2f
|
||||
call0 sdk_ieee80211_get_ratetable # 87: 01e1ffc0
|
||||
# 8b: 0000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 8d: 0801
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 8f: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 91: d821
|
||||
s32i a2, a15, 0x150 /* a2 -> [arg0+0x150] */ # 93: 226f54
|
||||
l32i a14, sp, 12 /* [(local3)] */ # 96: e831
|
||||
l32i a15, sp, 16 /* [(local4)] */ # 98: f841
|
||||
addi sp, sp, 32 /* (top of frame) */ # 9a: 12c120
|
||||
ret # 9d: 0df0
|
||||
|
||||
.literal_position # a0: 00000000
|
||||
# a4: 00000000
|
||||
# a8: 00000000
|
||||
# ac: 00000000
|
||||
# b0: 00000000
|
||||
# b4: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xb8
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_ieee80211_ifattach
|
||||
.type sdk_ieee80211_ifattach, @function
|
||||
sdk_ieee80211_ifattach:
|
||||
addi sp, sp, -16 /* (local0) */ # b8: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # bb: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # bd: 0901
|
||||
mov a12, a2 /* arg0 */ # bf: cd02
|
||||
call0 .Lfunc001 # c1: c5f4ff
|
||||
mov a2, a12 /* arg0 */ # c4: 2d0c
|
||||
movi a0, 100 /* 0x00000064 */ # c6: 02a064
|
||||
s16i a0, a12, 40 /* 0x0064 -> [arg0+0x28] */ # c9: 025c14
|
||||
call0 sdk_ieee80211_crypto_attach # cc: 01f6ffc0
|
||||
# d0: 0000
|
||||
mov a2, a12 /* arg0 */ # d2: 2d0c
|
||||
call0 sdk_ieee80211_proto_attach # d4: 01f5ffc0
|
||||
# d8: 0000
|
||||
movi a3, 0 /* 0x00000000 */ # da: 0c03
|
||||
addmi a4, a12, 1280 /* arg0+0x500 */ # dc: 42dc05
|
||||
l32i a2, a4, 28 /* [arg0+0x51c] */ # df: 2874
|
||||
s32i a3, a4, 12 /* 0x00000000 -> [arg0+0x50c] */ # e1: 3934
|
||||
bnei a2, 3, .Lbr005 # e3: 663207
|
||||
mov a2, a12 /* arg0 */ # e6: 2d0c
|
||||
call0 sdk_ieee80211_ht_attach # e8: 01f1ffc0
|
||||
# ec: 0000
|
||||
.Lbr005: movi a2, sdk_g_ic # ee: 21ecff
|
||||
call0 sdk_chm_init # f1: 01efffc0
|
||||
# f5: 0000
|
||||
mov a2, a12 /* arg0 */ # f7: 2d0c
|
||||
call0 sdk_ieee80211_scan_attach # f9: 01eeffc0
|
||||
# fd: 0000
|
||||
l32i a12, sp, 4 /* [(local1)] */ # ff: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 101: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 103: 12c110
|
||||
ret # 106: 0df0
|
||||
|
||||
.literal_position # 108: b4090000
|
||||
# 10c: b3090000
|
||||
# 110: 99f6ffff
|
||||
# 114: 30f6ffff
|
||||
# 118: 00000000
|
||||
# 11c: 00000000
|
||||
# 120: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x124
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_ieee80211_mhz2ieee
|
||||
.type sdk_ieee80211_mhz2ieee, @function
|
||||
sdk_ieee80211_mhz2ieee:
|
||||
movi a6, 0x000009b3 # 124: 61faff
|
||||
movi a7, 0xfffff699 # 127: 71faff
|
||||
addi sp, sp, -16 /* (local0) */ # 12a: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 12d: 0901
|
||||
movi a0, 0x000009b4 # 12f: 01f6ff
|
||||
bbci a3, 7, .Lbr006 # 132: 776312
|
||||
beq a2, a0, .Lbr010 # 135: 07123d
|
||||
bltu a6, a2, .Lbr009 # 138: 273628
|
||||
add a2, a2, a7 /* arg0+0xfffff699 */ # 13b: 7a22
|
||||
movi a3, 5 /* 0x00000005 */ # 13d: 0c53
|
||||
call0 __divsi3 # 13f: 01f6ffc0
|
||||
# 143: 0000
|
||||
j .Lbr008 # 145: 060500
|
||||
.Lbr006: beq a2, a0, .Lbr010 # 148: 07122a
|
||||
bltu a6, a2, .Lbr007 # 14b: 27360c
|
||||
add a2, a2, a7 /* arg0+0xfffff699 */ # 14e: 7a22
|
||||
movi a3, 5 /* 0x00000005 */ # 150: 0c53
|
||||
call0 __divsi3 # 152: 01f2ffc0
|
||||
# 156: 0000
|
||||
j .Lbr008 # 158: 460000
|
||||
.Lbr007: movi a2, -1 /* 0xffffffff */ # 15b: 7cf2
|
||||
.Lbr008: l32i a0, sp, 0 /* [(local0)] */ # 15d: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 15f: 12c110
|
||||
ret # 162: 0df0
|
||||
.Lbr009: movi a0, 0xfffff630 # 164: 01ecff
|
||||
movi a3, 20 /* 0x00000014 */ # 167: 1c43
|
||||
add a2, a2, a0 /* arg0+0xfffff630 */ # 169: 0a22
|
||||
call0 __udivsi3 # 16b: 01edffc0
|
||||
# 16f: 0000
|
||||
addi a2, a2, 15 # 171: fb22
|
||||
j .Lbr008 # 173: 86f9ff
|
||||
.Lbr010: movi a2, 14 /* 0x0000000e */ # 176: 0ce2
|
||||
j .Lbr008 # 178: 46f8ff
|
||||
|
||||
.literal_position # 17c: ffff0000
|
||||
|
||||
# Function @ .irom0.text+0x180
|
||||
.balign 4
|
||||
.global sdk_ieee80211_chan2ieee
|
||||
.type sdk_ieee80211_chan2ieee, @function
|
||||
sdk_ieee80211_chan2ieee:
|
||||
bnez a2, .Lbr011 # 180: cc22
|
||||
movi a2, 0 /* 0x00000000 */ # 182: 0c02
|
||||
ret /* 0x00000000 */ # 184: 0df0
|
||||
.Lbr011: movi a5, 0x0000ffff # 186: 51fdff
|
||||
beq a2, a5, .Lbr012 # 189: 571204
|
||||
l8ui a2, a2, 6 /* [arg0+0x6] */ # 18c: 220206
|
||||
ret /* [arg0+0x6] */ # 18f: 0df0
|
||||
.Lbr012: mov a2, a5 /* 0x0000ffff */ # 191: 2d05
|
||||
ret /* 0x0000ffff */ # 193: 0df0
|
||||
|
||||
.literal_position # 198: 67090000
|
||||
# 19c: a4080000
|
||||
# 1a0: 88130000
|
||||
# 1a4: b4090000
|
||||
|
||||
# Function @ .irom0.text+0x1a8
|
||||
.balign 4
|
||||
.global sdk_ieee80211_ieee2mhz
|
||||
.type sdk_ieee80211_ieee2mhz, @function
|
||||
sdk_ieee80211_ieee2mhz:
|
||||
movi a7, 14 /* 0x0000000e */ # 1a8: 0ce7
|
||||
movi a8, 13 /* 0x0000000d */ # 1aa: 0cd8
|
||||
movi a6, 0x00000967 # 1ac: 61fbff
|
||||
movi a9, 0x000008a4 # 1af: 91fbff
|
||||
bbci a3, 7, .Lbr014 # 1b2: 77630d
|
||||
beq a2, a7, .Lbr016 # 1b5: 77121f
|
||||
bgeu a8, a2, .Lbr015 # 1b8: 27b815
|
||||
.Lbr013: addx4 a2, a2, a2 # 1bb: 2022a0
|
||||
addx4 a2, a2, a9 # 1be: 9022a0
|
||||
ret # 1c1: 0df0
|
||||
.Lbr014: beq a2, a7, .Lbr016 # 1c3: 771211
|
||||
bgeu a8, a2, .Lbr015 # 1c6: 27b807
|
||||
movi a3, 26 /* 0x0000001a */ # 1c9: 1ca3
|
||||
bgeu a3, a2, .Lbr013 # 1cb: 27b3ec
|
||||
movi a6, 0x00001388 # 1ce: 61f4ff
|
||||
.Lbr015: addx4 a2, a2, a2 # 1d1: 2022a0
|
||||
add a2, a2, a6 # 1d4: 6a22
|
||||
ret # 1d6: 0df0
|
||||
.Lbr016: movi a2, 0x000009b4 # 1d8: 21f3ff
|
||||
ret /* 0x000009b4 */ # 1db: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x1e0
|
||||
.balign 4
|
||||
.global sdk_ieee80211_find_channel
|
||||
.type sdk_ieee80211_find_channel, @function
|
||||
sdk_ieee80211_find_channel:
|
||||
l32i a6, a2, 128 /* [arg0+0x80] */ # 1e0: 622220
|
||||
blti a6, 1, .Lbr019 # 1e3: a6161d
|
||||
addx2 a7, a6, a6 # 1e6: 607690
|
||||
addx4 a7, a7, a2 # 1e9: 2077a0
|
||||
.Lbr017: l16ui a8, a2, 136 # 1ec: 821244
|
||||
l32i a9, a2, 132 # 1ef: 922221
|
||||
bne a3, a8, .Lbr018 # 1f2: 879309
|
||||
bnone a9, a4, .Lbr018 # 1f5: 470906
|
||||
movi a10, 132 /* 0x00000084 */ # 1f8: a2a084
|
||||
add a2, a2, a10 # 1fb: aa22
|
||||
ret # 1fd: 0df0
|
||||
.Lbr018: addi a2, a2, 12 # 1ff: cb22
|
||||
bne a2, a7, .Lbr017 # 201: 7792e7
|
||||
.Lbr019: movi a2, 0 /* 0x00000000 */ # 204: 0c02
|
||||
ret /* 0x00000000 */ # 206: 0df0
|
||||
|
||||
# Function @ .irom0.text+0x208
|
||||
.balign 4
|
||||
.global sdk_ieee80211_find_channel_byieee
|
||||
.type sdk_ieee80211_find_channel_byieee, @function
|
||||
sdk_ieee80211_find_channel_byieee:
|
||||
l32i a6, a2, 128 /* [arg0+0x80] */ # 208: 622220
|
||||
blti a6, 1, .Lbr022 # 20b: a6161d
|
||||
addx2 a7, a6, a6 # 20e: 607690
|
||||
addx4 a7, a7, a2 # 211: 2077a0
|
||||
.Lbr020: l8ui a8, a2, 138 # 214: 82028a
|
||||
l32i a9, a2, 132 # 217: 922221
|
||||
bne a3, a8, .Lbr021 # 21a: 879309
|
||||
bnone a9, a4, .Lbr021 # 21d: 470906
|
||||
movi a10, 132 /* 0x00000084 */ # 220: a2a084
|
||||
add a2, a2, a10 # 223: aa22
|
||||
ret # 225: 0df0
|
||||
.Lbr021: addi a2, a2, 12 # 227: cb22
|
||||
bne a2, a7, .Lbr020 # 229: 7792e7
|
||||
.Lbr022: movi a2, 0 /* 0x00000000 */ # 22c: 0c02
|
||||
ret /* 0x00000000 */ # 22e: 0df0
|
||||
|
||||
.literal_position # 230: 00000000
|
||||
# 234: 10000000
|
||||
# 238: 00000000
|
||||
# 23c: 14000000
|
||||
# 240: 00000000
|
||||
# 244: 00000000
|
||||
# 248: 00000000
|
||||
# 24c: 34000000
|
||||
# 250: 3c000000
|
||||
# 254: 00000000
|
||||
# 258: 40000000
|
||||
# 25c: 00000000
|
||||
# 260: 14000000
|
||||
# 264: 34000000
|
||||
# 268: 08000000
|
||||
# 26c: 48000000
|
||||
# 270: 00000000
|
||||
# 274: 00000000
|
||||
# 278: 00000000
|
||||
# 27c: 00000000
|
||||
# 280: 00000000
|
||||
# 284: 00000000
|
||||
# 288: 00000000
|
||||
# 28c: 00000000
|
||||
# 290: 00000000
|
||||
# 294: 00000000
|
||||
# 298: 00000000
|
||||
# 29c: 00000000
|
||||
# 2a0: 00000000
|
||||
# 2a4: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x2a8
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x20
|
||||
# (local1): word @ -0x10
|
||||
# (local2): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_wifi_mode_set
|
||||
.type sdk_wifi_mode_set, @function
|
||||
sdk_wifi_mode_set:
|
||||
addi sp, sp, -32 /* (local0) */ # 2a8: 12c1e0
|
||||
s32i a12, sp, 20 /* a12 -> [(local2)] */ # 2ab: c951
|
||||
s32i a0, sp, 16 /* a0 -> [(local1)] */ # 2ad: 0941
|
||||
mov a12, a2 /* arg0 */ # 2af: cd02
|
||||
movi a2, .Lstr001 # 2b1: 21dfff
|
||||
call0 printf # 2b4: 01efffc0
|
||||
# 2b8: 0000
|
||||
beqz a12, .Lbr026 # 2ba: 164c0d
|
||||
beqi a12, 1, .Lbr023 # 2bd: 261c08
|
||||
beqi a12, 2, .Lbr025 # 2c0: 262c72
|
||||
addi a0, a12, -3 /* arg0-0x3 */ # 2c3: 02ccfd
|
||||
bnez a0, .Lbr027 # 2c6: 56100d
|
||||
.Lbr023: movi a2, .Label001 # 2c9: 21daff
|
||||
call0 printf # 2cc: 01eaffc0
|
||||
# 2d0: 0000
|
||||
movi a2, sdk_info # 2d2: 21d9ff
|
||||
l8ui a7, a2, 34 /* [sdk_info+0x22] */ # 2d5: 720222
|
||||
l8ui a6, a2, 33 /* [sdk_info+0x21] */ # 2d8: 620221
|
||||
l8ui a5, a2, 32 /* [sdk_info+0x20] */ # 2db: 520220
|
||||
l8ui a4, a2, 31 /* [sdk_info+0x1f] */ # 2de: 42021f
|
||||
l8ui a3, a2, 30 /* [sdk_info+0x1e] */ # 2e1: 32021e
|
||||
l8ui a2, a2, 35 /* [sdk_info+0x23] */ # 2e4: 220223
|
||||
s32i a2, sp, 0 /* [sdk_info+0x23] -> [(local0)] */ # 2e7: 2901
|
||||
movi a2, .Lstr003 # 2e9: 21d4ff
|
||||
call0 printf # 2ec: 01e3ffc0
|
||||
# 2f0: 0000
|
||||
movi a3, sdk_g_ic # 2f2: 31d3ff
|
||||
l32i a3, a3, 16 /* [.Ldata001] */ # 2f5: 3843
|
||||
bnez a3, .Lbr024 # 2f7: ecf3
|
||||
movi a2, 648 /* 0x00000288 */ # 2f9: 22a288
|
||||
call0 zalloc # 2fc: 01e0ffc0
|
||||
# 300: 0000
|
||||
movi a5, sdk_g_ic # 302: 51d0ff
|
||||
movi a4, 0 /* 0x00000000 */ # 305: 0c04
|
||||
s32i a2, a5, 16 /* a2 -> [.Ldata001] */ # 307: 2945
|
||||
s32i a4, a2, 176 # 309: 42622c
|
||||
s32i a4, a2, 60 # 30c: 49f2
|
||||
movi a2, 272 /* 0x00000110 */ # 30e: 22a110
|
||||
call0 zalloc # 311: 01dbffc0
|
||||
# 315: 0000
|
||||
movi a6, sdk_g_ic # 317: 61ccff
|
||||
movi a3, .Label002 # 31a: 31ccff
|
||||
l32i a6, a6, 16 /* [.Ldata001] */ # 31d: 6846
|
||||
movi a4, 6 /* 0x00000006 */ # 31f: 0c64
|
||||
s32i a2, a6, 140 /* a2 -> [[.Ldata001]+0x8c] */ # 321: 226623
|
||||
call0 memcpy # 324: 01d8ffc0
|
||||
# 328: 0000
|
||||
.Lbr024: beqi a12, 1, .Lbr027 # 32a: 261c6d
|
||||
movi a2, .Label003 # 32d: 21c8ff
|
||||
call0 printf # 330: 01d6ffc0
|
||||
# 334: 0000
|
||||
.Lbr025: movi a12, sdk_g_ic # 336: c1c7ff
|
||||
movi a2, .Lstr004 # 339: 21c7ff
|
||||
call0 printf # 33c: 01d4ffc0
|
||||
# 340: 0000
|
||||
movi a8, sdk_info # 342: 81c6ff
|
||||
movi a2, .Lstr003 # 345: 21c6ff
|
||||
l8ui a7, a8, 28 /* [sdk_info+0x1c] */ # 348: 72081c
|
||||
l8ui a6, a8, 27 /* [sdk_info+0x1b] */ # 34b: 62081b
|
||||
l8ui a5, a8, 26 /* [sdk_info+0x1a] */ # 34e: 52081a
|
||||
l8ui a4, a8, 25 /* [sdk_info+0x19] */ # 351: 420819
|
||||
l8ui a3, a8, 24 /* [sdk_info+0x18] */ # 354: 320818
|
||||
l8ui a8, a8, 29 /* [sdk_info+0x1d] */ # 357: 82081d
|
||||
s32i a8, sp, 0 /* [sdk_info+0x1d] -> [(local0)] */ # 35a: 8901
|
||||
call0 printf # 35c: 01cdffc0
|
||||
# 360: 0000
|
||||
l32i a9, a12, 20 /* [.Ldata002] */ # 362: 985c
|
||||
bnez a9, .Lbr027 # 364: fc39
|
||||
movi a2, 648 /* 0x00000288 */ # 366: 22a288
|
||||
call0 zalloc # 369: 01caffc0
|
||||
# 36d: 0000
|
||||
s32i a2, a12, 20 /* a2 -> [.Ldata002] */ # 36f: 295c
|
||||
movi a10, 1 /* 0x00000001 */ # 371: 0c1a
|
||||
s32i a10, a2, 176 # 373: a2622c
|
||||
movi a2, 272 /* 0x00000110 */ # 376: 22a110
|
||||
call0 zalloc # 379: 01c7ffc0
|
||||
# 37d: 0000
|
||||
movi a3, .Label002 # 37f: 31b9ff
|
||||
l32i a11, a12, 20 /* [.Ldata002] */ # 382: b85c
|
||||
movi a4, 6 /* 0x00000006 */ # 384: 0c64
|
||||
s32i a2, a11, 144 /* a2 -> [[.Ldata002]+0x90] */ # 386: 226b24
|
||||
call0 memcpy # 389: 01c4ffc0
|
||||
# 38d: 0000
|
||||
j .Lbr027 # 38f: 060200
|
||||
.Lbr026: movi a2, .Lstr002 # 392: 21b5ff
|
||||
call0 printf # 395: 01c2ffc0
|
||||
# 399: 0000
|
||||
.Lbr027: movi a2, .Label004 # 39b: 21b4ff
|
||||
call0 printf # 39e: 01c1ffc0
|
||||
# 3a2: 0000
|
||||
movi a2, 1 /* 0x00000001 */ # 3a4: 0c12
|
||||
l32i a12, sp, 20 /* [(local2)] */ # 3a6: c851
|
||||
l32i a0, sp, 16 /* [(local1)] */ # 3a8: 0841
|
||||
addi sp, sp, 32 /* (top of frame) */ # 3aa: 12c120
|
||||
ret /* 0x00000001 */ # 3ad: 0df0
|
||||
|
||||
.section .rodata, "a", @progbits
|
||||
|
||||
.global sdk_ieee80211_opcap
|
||||
.type sdk_ieee80211_opcap, @object
|
||||
sdk_ieee80211_opcap:
|
||||
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00
|
||||
|
||||
.section .rodata.str1.4, "MSa", @progbits, 1
|
||||
|
||||
.Lstr001: .asciz "mode : " # 0: 6d6f6465
|
||||
# 4: 203a2000
|
||||
.Lstr002: .asciz "null" # 8: 6e756c6c
|
||||
# c: 00
|
||||
.balign 4
|
||||
.Label001: .word 0x00617473 # 10: 73746100
|
||||
.Lstr003: .asciz "(%02x:%02x:%02x:%02x:%02x:%02x)" # 14: 28253032
|
||||
# 18: 783a2530
|
||||
# 1c: 32783a25
|
||||
# 20: 3032783a
|
||||
# 24: 25303278
|
||||
# 28: 3a253032
|
||||
# 2c: 783a2530
|
||||
# 30: 32782900
|
||||
.Label002: .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00
|
||||
.Label003: .word 0x00202b20 # 3c: 202b2000
|
||||
.Lstr004: .asciz "softAP" # 40: 736f6674
|
||||
# 44: 415000
|
||||
.balign 4
|
||||
.Label004: .byte 0x0a, 0x00
|
206
binary_sdk/libnet80211/ieee80211_action.S
Normal file
206
binary_sdk/libnet80211/ieee80211_action.S
Normal file
|
@ -0,0 +1,206 @@
|
|||
|
||||
.section .data, "aw", @progbits
|
||||
|
||||
.Lrel001: .word .irom0.text # 0: 00000000
|
||||
.Lrel002: .word .irom0.text # 4: 00000000
|
||||
.Lrel003: .word .irom0.text # 8: 00000000
|
||||
.Lrel004: .word .irom0.text # c: 00000000
|
||||
.Lrel005: .word .Lfunc002 # 10: bc000000
|
||||
.Lrel006: .word .Lfunc002 # 14: bc000000
|
||||
.Lrel007: .word .Lfunc002 # 18: bc000000
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
# Function @ .irom0.text+0x0
|
||||
.balign 4
|
||||
.literal_position
|
||||
.Lfunc001: movi a2, -1 /* 0xffffffff */ # 0: 7cf2
|
||||
ret /* 0xffffffff */ # 2: 0df0
|
||||
|
||||
.literal_position # 4: 0c000000
|
||||
# 8: 00000000
|
||||
# c: 08000000
|
||||
|
||||
# Function @ .irom0.text+0x10
|
||||
.balign 4
|
||||
.global sdk_ieee80211_send_action_register
|
||||
.type sdk_ieee80211_send_action_register, @function
|
||||
sdk_ieee80211_send_action_register:
|
||||
beqi a2, 3, .Lbr003 # 10: 26321a
|
||||
beqi a2, 7, .Lbr004 # 13: 267220
|
||||
movi a5, 127 /* 0x0000007f */ # 16: 52a07f
|
||||
bne a2, a5, .Lbr002 # 19: 57920d
|
||||
bnez a3, .Lbr002 # 1c: cca3
|
||||
movi a2, .Lrel004 # 1e: 21f9ff
|
||||
.Lbr001: addx4 a6, a3, a2 # 21: 2063a0
|
||||
s32i a4, a6, 0 # 24: 4906
|
||||
movi a2, 0 /* 0x00000000 */ # 26: 0c02
|
||||
ret /* 0x00000000 */ # 28: 0df0
|
||||
.Lbr002: movi a2, -1 /* 0xffffffff */ # 2a: 7cf2
|
||||
ret /* 0xffffffff */ # 2c: 0df0
|
||||
.Lbr003: bgeui a3, 2, .Lbr002 # 2e: f623f8
|
||||
movi a2, .Lrel001 # 31: 21f5ff
|
||||
j .Lbr001 # 34: 46faff
|
||||
.Lbr004: bnez a3, .Lbr002 # 37: 56f3fe
|
||||
movi a2, .Lrel003 # 3a: 21f4ff
|
||||
j .Lbr001 # 3d: 06f8ff
|
||||
|
||||
.literal_position # 40: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x44
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_ieee80211_send_action_unregister
|
||||
.type sdk_ieee80211_send_action_unregister, @function
|
||||
sdk_ieee80211_send_action_unregister:
|
||||
movi a4, .Lfunc001 # 44: 41ffff
|
||||
addi sp, sp, -16 /* (local0) */ # 47: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 4a: 0901
|
||||
call0 sdk_ieee80211_send_action_register # 4c: 050000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 4f: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 51: 12c110
|
||||
ret # 54: 0df0
|
||||
|
||||
.literal_position # 58: 00000000
|
||||
# 5c: 0c000000
|
||||
# 60: 08000000
|
||||
# 64: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x68
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_ieee80211_send_action
|
||||
.type sdk_ieee80211_send_action, @function
|
||||
sdk_ieee80211_send_action:
|
||||
addi sp, sp, -16 /* (local0) */ # 68: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 6b: 0901
|
||||
movi a0, .Lfunc001 # 6d: 01faff
|
||||
beqi a3, 3, .Lbr005 # 70: 263315
|
||||
beqi a3, 7, .Lbr009 # 73: 267326
|
||||
movi a6, 127 /* 0x0000007f */ # 76: 62a07f
|
||||
bne a3, a6, .Lbr006 # 79: 67930f
|
||||
bnez a4, .Lbr008 # 7c: dc84
|
||||
movi a7, .Lrel004 # 7e: 71f7ff
|
||||
addx4 a7, a4, a7 # 81: 7074a0
|
||||
l32i a7, a7, 0 # 84: 7807
|
||||
j .Lbr007 # 86: 060100
|
||||
.Lbr005: bltui a4, 2, .Lbr011 # 89: b62422
|
||||
.Lbr006: mov a7, a0 /* .Lfunc001 */ # 8c: 7d00
|
||||
.Lbr007: callx0 a7 # 8e: c00700
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 91: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 93: 12c110
|
||||
ret # 96: 0df0
|
||||
.Lbr008: mov a7, a0 /* .Lfunc001 */ # 98: 7d00
|
||||
j .Lbr007 # 9a: 06fcff
|
||||
.Lbr009: bnez a4, .Lbr010 # 9d: cc94
|
||||
movi a7, .Lrel003 # 9f: 71f0ff
|
||||
addx4 a7, a4, a7 # a2: 7074a0
|
||||
l32i a7, a7, 0 # a5: 7807
|
||||
j .Lbr007 # a7: c6f8ff
|
||||
.Lbr010: mov a7, a0 /* .Lfunc001 */ # aa: 7d00
|
||||
j .Lbr007 # ac: 86f7ff
|
||||
.Lbr011: movi a7, .Lrel001 # af: 71edff
|
||||
addx4 a7, a4, a7 # b2: 7074a0
|
||||
l32i a7, a7, 0 # b5: 7807
|
||||
j .Lbr007 # b7: c6f4ff
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0xbc
|
||||
.balign 4
|
||||
.Lfunc002: movi a2, -1 /* 0xffffffff */ # bc: 7cf2
|
||||
ret /* 0xffffffff */ # be: 0df0
|
||||
|
||||
.literal_position # c0: 18000000
|
||||
# c4: 10000000
|
||||
# c8: 14000000
|
||||
|
||||
# Function @ .irom0.text+0xcc
|
||||
.balign 4
|
||||
.global sdk_ieee80211_recv_action_register
|
||||
.type sdk_ieee80211_recv_action_register, @function
|
||||
sdk_ieee80211_recv_action_register:
|
||||
beqi a2, 3, .Lbr014 # cc: 26321a
|
||||
beqi a2, 7, .Lbr015 # cf: 267220
|
||||
movi a5, 127 /* 0x0000007f */ # d2: 52a07f
|
||||
bne a2, a5, .Lbr013 # d5: 57920d
|
||||
bnez a3, .Lbr013 # d8: cca3
|
||||
movi a2, .Lrel007 # da: 21f9ff
|
||||
.Lbr012: addx4 a6, a3, a2 # dd: 2063a0
|
||||
s32i a4, a6, 0 # e0: 4906
|
||||
movi a2, 0 /* 0x00000000 */ # e2: 0c02
|
||||
ret /* 0x00000000 */ # e4: 0df0
|
||||
.Lbr013: movi a2, -1 /* 0xffffffff */ # e6: 7cf2
|
||||
ret /* 0xffffffff */ # e8: 0df0
|
||||
.Lbr014: bnez a3, .Lbr013 # ea: 5683ff
|
||||
movi a2, .Lrel005 # ed: 21f5ff
|
||||
j .Lbr012 # f0: 46faff
|
||||
.Lbr015: bnez a3, .Lbr013 # f3: 56f3fe
|
||||
movi a2, .Lrel006 # f6: 21f4ff
|
||||
j .Lbr012 # f9: 06f8ff
|
||||
|
||||
.literal_position # fc: bc000000
|
||||
|
||||
# Function @ .irom0.text+0x100
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_ieee80211_recv_action_unregister
|
||||
.type sdk_ieee80211_recv_action_unregister, @function
|
||||
sdk_ieee80211_recv_action_unregister:
|
||||
movi a4, .Lfunc002 # 100: 41ffff
|
||||
addi sp, sp, -16 /* (local0) */ # 103: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 106: 0901
|
||||
call0 sdk_ieee80211_recv_action_register # 108: 050000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 10b: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 10d: 12c110
|
||||
ret # 110: 0df0
|
||||
|
||||
.literal_position # 114: bc000000
|
||||
# 118: 18000000
|
||||
# 11c: 14000000
|
||||
# 120: 10000000
|
||||
|
||||
# Function @ .irom0.text+0x124
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_ieee80211_recv_action
|
||||
.type sdk_ieee80211_recv_action, @function
|
||||
sdk_ieee80211_recv_action:
|
||||
addi sp, sp, -16 /* (local0) */ # 124: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 127: 0901
|
||||
l8ui a0, a4, 0 /* [arg2] */ # 129: 020400
|
||||
movi a8, .Lfunc002 # 12c: 81faff
|
||||
beqi a0, 3, .Lbr016 # 12f: 26301a
|
||||
beqi a0, 7, .Lbr020 # 132: 26702b
|
||||
movi a6, 127 /* 0x0000007f */ # 135: 62a07f
|
||||
bne a0, a6, .Lbr017 # 138: 679016
|
||||
l8ui a0, a4, 1 /* [arg2+0x1] */ # 13b: 020401
|
||||
mov a7, a8 /* .Lfunc002 */ # 13e: 7d08
|
||||
bnez a0, .Lbr019 # 140: dca0
|
||||
movi a7, .Lrel007 # 142: 71f5ff
|
||||
addx4 a7, a0, a7 # 145: 7070a0
|
||||
l32i a7, a7, 0 # 148: 7807
|
||||
j .Lbr018 # 14a: 860100
|
||||
.Lbr016: l8ui a0, a4, 1 /* [arg2+0x1] */ # 14d: 020401
|
||||
beqz a0, .Lbr022 # 150: ac20
|
||||
.Lbr017: mov a7, a8 /* .Lfunc002 */ # 152: 7d08
|
||||
.Lbr018: callx0 a7 # 154: c00700
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 157: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 159: 12c110
|
||||
ret # 15c: 0df0
|
||||
.Lbr019: j .Lbr018 # 15e: 86fcff
|
||||
.Lbr020: l8ui a0, a4, 1 /* [arg2+0x1] */ # 161: 020401
|
||||
mov a7, a8 /* .Lfunc002 */ # 164: 7d08
|
||||
bnez a0, .Lbr021 # 166: cc90
|
||||
movi a7, .Lrel006 # 168: 71edff
|
||||
addx4 a7, a0, a7 # 16b: 7070a0
|
||||
l32i a7, a7, 0 # 16e: 7807
|
||||
j .Lbr018 # 170: 06f8ff
|
||||
.Lbr021: j .Lbr018 # 173: 46f7ff
|
||||
.Lbr022: movi a7, .Lrel005 # 176: 71eaff
|
||||
addx4 a7, a0, a7 # 179: 7070a0
|
||||
l32i a7, a7, 0 # 17c: 7807
|
||||
j .Lbr018 # 17e: 86f4ff
|
115
binary_sdk/libnet80211/ieee80211_crypto.S
Normal file
115
binary_sdk/libnet80211/ieee80211_crypto.S
Normal file
|
@ -0,0 +1,115 @@
|
|||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
# Function @ .irom0.text+0x0
|
||||
.balign 4
|
||||
.literal_position
|
||||
.global sdk_ieee80211_crypto_attach
|
||||
.type sdk_ieee80211_crypto_attach, @function
|
||||
sdk_ieee80211_crypto_attach:
|
||||
ret /* arg0 */ # 0: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x4
|
||||
.balign 4
|
||||
.global sdk_ieee80211_crypto_available
|
||||
.type sdk_ieee80211_crypto_available, @function
|
||||
sdk_ieee80211_crypto_available:
|
||||
movi a2, 0 /* 0x00000000 */ # 4: 0c02
|
||||
ret /* 0x00000000 */ # 6: 0df0
|
||||
|
||||
# Function @ .irom0.text+0x8
|
||||
.balign 4
|
||||
.global sdk_ieee80211_crypto_setkey
|
||||
.type sdk_ieee80211_crypto_setkey, @function
|
||||
sdk_ieee80211_crypto_setkey:
|
||||
movi a2, 0 /* 0x00000000 */ # 8: 0c02
|
||||
ret /* 0x00000000 */ # a: 0df0
|
||||
|
||||
.literal_position # c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x10
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_ieee80211_crypto_encap
|
||||
.type sdk_ieee80211_crypto_encap, @function
|
||||
sdk_ieee80211_crypto_encap:
|
||||
addi sp, sp, -16 /* (local0) */ # 10: 12c1f0
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 13: 0911
|
||||
l32i a4, a3, 32 /* [arg1+0x20] */ # 15: 4883
|
||||
l32i a0, a2, 136 /* [arg0+0x88] */ # 17: 022222
|
||||
l32i a4, a4, 0 /* [[arg1+0x20]] */ # 1a: 4804
|
||||
movi a2, sdk_g_ic # 1c: 21fcff
|
||||
bbci a4, 7, .Lbr003 # 1f: 776434
|
||||
l8ui a0, a0, 233 /* [[arg0+0x88]+0xe9] */ # 22: 0200e9
|
||||
bltui a0, 2, .Lbr001 # 25: b62004
|
||||
addi a6, a0, -1 /* [[arg0+0x88]+0xe9]-0x1 */ # 28: 0b60
|
||||
j .Lbr002 # 2a: 460000
|
||||
.Lbr001: mov a6, a0 /* [[arg0+0x88]+0xe9] */ # 2d: 6d00
|
||||
.Lbr002: addx4 a2, a0, a2 # 2f: 2020a0
|
||||
l32i a2, a2, 0x190 # 32: 222264
|
||||
slli a4, a6, 6 # 35: a04611
|
||||
l32i a0, a2, 152 # 38: 022226
|
||||
extui a4, a4, 0, 8 # 3b: 404074
|
||||
l32i a0, a0, 16 # 3e: 0840
|
||||
s32i a2, sp, 0 /* a2 -> [(local0)] */ # 40: 2901
|
||||
callx0 a0 # 42: c00000
|
||||
l32i a4, sp, 0 /* [(local0)] */ # 45: 4801
|
||||
l32i a3, sp, 4 /* [(local1)] */ # 47: 3811
|
||||
movi a0, 0 /* 0x00000000 */ # 49: 0c00
|
||||
addi sp, sp, 16 /* (top of frame) */ # 4b: 12c110
|
||||
movnez a0, a4, a2 # 4e: 200493
|
||||
mov a2, a0 # 51: 2d00
|
||||
mov a0, a3 /* [(local1)] */ # 53: 0d03
|
||||
ret # 55: 0df0
|
||||
.Lbr003: movi a6, 0 /* 0x00000000 */ # 57: 0c06
|
||||
l8ui a0, a0, 232 /* [[arg0+0x88]+0xe8] */ # 59: 0200e8
|
||||
j .Lbr002 # 5c: c6f3ff
|
||||
|
||||
.literal_position # 60: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x64
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_ieee80211_crypto_decap
|
||||
.type sdk_ieee80211_crypto_decap, @function
|
||||
sdk_ieee80211_crypto_decap:
|
||||
addi sp, sp, -16 /* (local0) */ # 64: 12c1f0
|
||||
l16ui a5, a3, 22 /* [arg1+0x16] */ # 67: 52130b
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 6a: 0911
|
||||
l16ui a0, a3, 20 /* [arg1+0x14] */ # 6c: 02130a
|
||||
movi a6, sdk_g_ic # 6f: 61fcff
|
||||
add a0, a0, a5 # 72: 5a00
|
||||
bltui a0, 32, .Lbr005 # 74: b6c020
|
||||
l32i a0, a3, 4 /* [arg1+0x4] */ # 77: 0813
|
||||
l32i a0, a0, 4 /* [[arg1+0x4]+0x4] */ # 79: 0810
|
||||
l8ui a7, a0, 4 /* [[[arg1+0x4]+0x4]+0x4] */ # 7b: 720004
|
||||
add a0, a4, a0 # 7e: 0a04
|
||||
bbci a7, 0, .Lbr008 # 80: 076731
|
||||
l8ui a0, a0, 3 # 83: 020003
|
||||
extui a0, a0, 6, 2 # 86: 000614
|
||||
addi a0, a0, -1 # 89: 0b00
|
||||
extui a0, a0, 0, 8 # 8b: 000074
|
||||
.Lbr004: addx4 a2, a0, a6 # 8e: 6020a0
|
||||
l32i a2, a2, 0x190 # 91: 222264
|
||||
s32i a2, sp, 0 /* a2 -> [(local0)] */ # 94: 2901
|
||||
bnez a2, .Lbr006 # 96: cc32
|
||||
.Lbr005: movi a2, 0 /* 0x00000000 */ # 98: 0c02
|
||||
j .Lbr007 # 9a: 060400
|
||||
.Lbr006: l32i a0, a2, 152 # 9d: 022226
|
||||
l32i a0, a0, 20 # a0: 0850
|
||||
callx0 a0 # a2: c00000
|
||||
mov a4, a2 # a5: 4d02
|
||||
l32i a3, sp, 0 /* [(local0)] */ # a7: 3801
|
||||
movi a2, 0 /* 0x00000000 */ # a9: 0c02
|
||||
movnez a2, a3, a4 # ab: 402393
|
||||
.Lbr007: l32i a0, sp, 4 /* [(local1)] */ # ae: 0811
|
||||
addi sp, sp, 16 /* (top of frame) */ # b0: 12c110
|
||||
ret # b3: 0df0
|
||||
.Lbr008: l32i a0, a2, 136 /* [arg0+0x88] */ # b5: 022222
|
||||
l8ui a0, a0, 232 /* [[arg0+0x88]+0xe8] */ # b8: 0200e8
|
||||
j .Lbr004 # bb: c6f3ff
|
142
binary_sdk/libnet80211/ieee80211_crypto_ccmp.S
Normal file
142
binary_sdk/libnet80211/ieee80211_crypto_ccmp.S
Normal file
|
@ -0,0 +1,142 @@
|
|||
|
||||
.section .data, "aw", @progbits
|
||||
|
||||
.global sdk_ccmp
|
||||
.type sdk_ccmp, @object
|
||||
sdk_ccmp: .word 0x00000003 # 0: 03000000
|
||||
.Ldata001: .word 0x00000008 # 4: 08000000
|
||||
|
||||
# NOTE: The following is apparently unreferenced code/data
|
||||
.word 0x00000008 # 8: 08000000
|
||||
.word 0x00000000 # c: 00000000
|
||||
|
||||
.Lrel001: .word .Lfunc001 # 10: 04000000
|
||||
.Lrel002: .word .Lfunc002 # 14: 80000000
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x4
|
||||
.balign 4
|
||||
.Lfunc001: ssai 8 # 4: 004840
|
||||
l32i a5, a2, 144 /* [arg0+0x90] */ # 7: 522224
|
||||
l16ui a6, a3, 22 /* [arg1+0x16] */ # a: 62130b
|
||||
movi a7, sdk_ccmp # d: 71fcff
|
||||
l32i a9, a3, 4 /* [arg1+0x4] */ # 10: 9813
|
||||
l32i a10, a7, 4 /* [.Ldata001] */ # 12: a817
|
||||
l32i a7, a7, 4 /* [.Ldata001] */ # 14: 7817
|
||||
l32i a8, a9, 4 /* [[arg1+0x4]+0x4] */ # 16: 8819
|
||||
add a6, a6, a7 # 18: 7a66
|
||||
sub a8, a8, a10 # 1a: a088c0
|
||||
addi a7, a5, 1 /* [arg0+0x90]+0x1 */ # 1d: 1b75
|
||||
s32i a8, a9, 4 /* a8 -> [[arg1+0x4]+0x4] */ # 1f: 8919
|
||||
s16i a6, a3, 22 /* a6 -> [arg1+0x16] */ # 21: 62530b
|
||||
movi a9, 32 /* 0x00000020 */ # 24: 2c09
|
||||
or a11, a4, a9 # 26: 90b420
|
||||
s32i a7, a2, 144 /* [arg0+0x90]+0x1 -> [arg0+0x90] */ # 29: 726224
|
||||
l32i a3, a2, 148 /* [arg0+0x94] */ # 2c: 322225
|
||||
bgeu a7, a5, .Lbr001 # 2f: 57b701
|
||||
addi a3, a3, 1 /* [arg0+0x94]+0x1 */ # 32: 1b33
|
||||
.Lbr001: movi a5, 0 /* 0x00000000 */ # 34: 0c05
|
||||
s32i a3, a2, 148 /* a3 -> [arg0+0x94] */ # 36: 326225
|
||||
s8i a7, a8, 0 # 39: 724800
|
||||
l32i a6, a2, 148 /* [arg0+0x94] */ # 3c: 622225
|
||||
l32i a10, a2, 144 /* [arg0+0x90] */ # 3f: a22224
|
||||
s8i a5, a8, 2 # 42: 524802
|
||||
s8i a11, a8, 3 # 45: b24803
|
||||
src a6, a6, a10 # 48: a06681
|
||||
s8i a6, a8, 1 # 4b: 624801
|
||||
l32i a11, a2, 144 /* [arg0+0x90] */ # 4e: b22224
|
||||
l32i a10, a2, 148 /* [arg0+0x94] */ # 51: a22225
|
||||
ssai 16 # 54: 104040
|
||||
src a10, a10, a11 # 57: b0aa81
|
||||
s8i a10, a8, 4 # 5a: a24804
|
||||
l32i a6, a2, 144 /* [arg0+0x90] */ # 5d: 622224
|
||||
l32i a5, a2, 148 /* [arg0+0x94] */ # 60: 522225
|
||||
ssai 24 # 63: 104840
|
||||
src a5, a5, a6 # 66: 605581
|
||||
s8i a5, a8, 5 # 69: 524805
|
||||
l32i a11, a2, 148 /* [arg0+0x94] */ # 6c: b22225
|
||||
s8i a11, a8, 6 # 6f: b24806
|
||||
l32i a10, a2, 148 /* [arg0+0x94] */ # 72: a22225
|
||||
movi a2, 1 /* 0x00000001 */ # 75: 0c12
|
||||
srli a10, a10, 8 # 77: a0a841
|
||||
s8i a10, a8, 7 # 7a: a24807
|
||||
ret /* 0x00000001 */ # 7d: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x80
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.Lfunc002: addi sp, sp, -16 /* (local0) */ # 80: 12c1f0
|
||||
l32i a8, a3, 4 /* [arg1+0x4] */ # 83: 8813
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 85: 0911
|
||||
l32i a0, a8, 4 /* [[arg1+0x4]+0x4] */ # 87: 0818
|
||||
add a7, a4, a0 # 89: 0a74
|
||||
l8ui a5, a7, 3 # 8b: 520703
|
||||
movi a9, 140 /* 0x0000008c */ # 8e: 92a08c
|
||||
extui a5, a5, 5, 1 # 91: 505504
|
||||
beqz a5, .Lbr006 # 94: 169508
|
||||
l8ui a5, a7, 6 # 97: 520706
|
||||
l8ui a11, a7, 7 # 9a: b20707
|
||||
l8ui a6, a0, 0 /* [[[arg1+0x4]+0x4]] */ # 9d: 620000
|
||||
slli a11, a11, 8 # a0: 80bb11
|
||||
and a6, a6, a9 # a3: 906610
|
||||
or a11, a11, a5 # a6: 50bb20
|
||||
l8ui a5, a7, 4 # a9: 520704
|
||||
movi a9, 136 /* 0x00000088 */ # ac: 92a088
|
||||
slli a5, a5, 16 # af: 005511
|
||||
bne a6, a9, .Lbr002 # b2: 979611
|
||||
l8ui a10, a0, 1 /* [[[arg1+0x4]+0x4]+0x1] */ # b5: a20001
|
||||
extui a10, a10, 0, 2 # b8: a0a014
|
||||
addi a10, a10, -3 # bb: a2cafd
|
||||
bnez a10, .Lbr008 # be: 56aa06
|
||||
l8ui a0, a0, 30 /* [[[arg1+0x4]+0x4]+0x1e] */ # c1: 02001e
|
||||
j .Lbr009 # c4: c61900
|
||||
.Lbr002: movi a0, 16 /* 0x00000010 */ # c7: 1c00
|
||||
.Lbr003: l8ui a9, a7, 0 # c9: 920700
|
||||
l8ui a10, a7, 5 # cc: a20705
|
||||
l8ui a6, a7, 1 # cf: 620701
|
||||
slli a10, a10, 24 # d2: 80aa01
|
||||
slli a6, a6, 8 # d5: 806611
|
||||
or a6, a6, a9 # d8: 906620
|
||||
extui a7, a11, 0, 16 # db: b070f4
|
||||
addx8 a9, a0, a2 # de: 2090b0
|
||||
or a5, a5, a6 # e1: 605520
|
||||
movi a0, 0 /* 0x00000000 */ # e4: 0c00
|
||||
s32i a9, sp, 0 /* a9 -> [(local0)] */ # e6: 9901
|
||||
l32i a11, a9, 8 # e8: b829
|
||||
l32i a9, a9, 12 # ea: 9839
|
||||
or a10, a10, a5 # ec: 50aa20
|
||||
bltu a9, a7, .Lbr005 # ef: 773907
|
||||
bne a9, a7, .Lbr004 # f2: 779902
|
||||
bltu a11, a10, .Lbr005 # f5: a73b01
|
||||
.Lbr004: movi a0, 1 /* 0x00000001 */ # f8: 0c10
|
||||
.Lbr005: bnez a0, .Lbr006 # fa: ec30
|
||||
l32i a11, sp, 0 /* [(local0)] */ # fc: b801
|
||||
l16ui a9, a3, 22 /* [arg1+0x16] */ # fe: 92130b
|
||||
s32i a10, a11, 8 /* a10 -> [[(local0)]+0x8] */ # 101: a92b
|
||||
s32i a7, a11, 12 /* a7 -> [[(local0)]+0xc] */ # 103: 793b
|
||||
l32i a11, a2, 152 /* [arg0+0x98] */ # 105: b22226
|
||||
l32i a5, a8, 4 /* [[arg1+0x4]+0x4] */ # 108: 5818
|
||||
l32i a0, a11, 4 /* [[arg0+0x98]+0x4] */ # 10a: 081b
|
||||
l32i a11, a11, 8 /* [[arg0+0x98]+0x8] */ # 10c: b82b
|
||||
add a6, a4, a0 # 10e: 0a64
|
||||
add a11, a11, a0 # 110: 0abb
|
||||
add a5, a5, a6 # 112: 6a55
|
||||
movi a0, 1 /* 0x00000001 */ # 114: 0c10
|
||||
s32i a5, a8, 4 /* a5 -> [[arg1+0x4]+0x4] */ # 116: 5918
|
||||
sub a9, a9, a11 # 118: b099c0
|
||||
s16i a9, a3, 22 /* a9 -> [arg1+0x16] */ # 11b: 92530b
|
||||
j .Lbr007 # 11e: 460000
|
||||
.Lbr006: movi a0, 0 /* 0x00000000 */ # 121: 0c00
|
||||
.Lbr007: mov a2, a0 # 123: 2d00
|
||||
l32i a0, sp, 4 /* [(local1)] */ # 125: 0811
|
||||
addi sp, sp, 16 /* (top of frame) */ # 127: 12c110
|
||||
ret # 12a: 0df0
|
||||
.Lbr008: l8ui a0, a0, 24 /* [[[arg1+0x4]+0x4]+0x18] */ # 12c: 020018
|
||||
.Lbr009: extui a0, a0, 0, 4 # 12f: 000034
|
||||
j .Lbr003 # 132: c6e4ff
|
165
binary_sdk/libnet80211/ieee80211_crypto_tkip.S
Normal file
165
binary_sdk/libnet80211/ieee80211_crypto_tkip.S
Normal file
|
@ -0,0 +1,165 @@
|
|||
|
||||
.section .data, "aw", @progbits
|
||||
|
||||
.global sdk_tkip
|
||||
.type sdk_tkip, @object
|
||||
sdk_tkip: .word 0x00000002 # 0: 02000000
|
||||
.Ldata001: .word 0x00000008 # 4: 08000000
|
||||
|
||||
# NOTE: The following is apparently unreferenced code/data
|
||||
.word 0x0000000c # 8: 0c000000
|
||||
.word 0x00000008 # c: 08000000
|
||||
|
||||
.Lrel001: .word .Lfunc001 # 10: 08000000
|
||||
.Lrel002: .word .Lfunc002 # 14: a0000000
|
||||
|
||||
.section .bss, "aw", @nobits
|
||||
|
||||
.Ldata002: .word 0x00000000 # 0: 00000000
|
||||
.Ldata003: .word 0x00000000 # 4: 00000000
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
# 4: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x8
|
||||
.balign 4
|
||||
.Lfunc001: movi a5, sdk_g_ic # 8: 51feff
|
||||
ssai 8 # b: 004840
|
||||
l32i a5, a5, 28 /* [sdk_g_ic+0x1c] */ # e: 5875
|
||||
movi a11, sdk_tkip # 10: b1fdff
|
||||
bbci a5, 26, .Lbr001 # 13: a77503
|
||||
movi a2, 0 /* 0x00000000 */ # 16: 0c02
|
||||
ret /* 0x00000000 */ # 18: 0df0
|
||||
.Lbr001: l32i a7, a2, 148 /* [arg0+0x94] */ # 1a: 722225
|
||||
l16ui a10, a3, 22 /* [arg1+0x16] */ # 1d: a2130b
|
||||
l32i a5, a3, 4 /* [arg1+0x4] */ # 20: 5813
|
||||
l32i a9, a11, 4 /* [.Ldata001] */ # 22: 981b
|
||||
l32i a8, a5, 4 /* [[arg1+0x4]+0x4] */ # 24: 8815
|
||||
l32i a11, a11, 4 /* [.Ldata001] */ # 26: b81b
|
||||
sub a8, a8, a9 # 28: 9088c0
|
||||
l32i a9, a2, 144 /* [arg0+0x90] */ # 2b: 922224
|
||||
add a10, a10, a11 # 2e: baaa
|
||||
src a7, a7, a9 # 30: 907781
|
||||
movi a9, 95 /* 0x0000005f */ # 33: 5cf9
|
||||
s32i a8, a5, 4 /* a8 -> [[arg1+0x4]+0x4] */ # 35: 8915
|
||||
s16i a10, a3, 22 /* a10 -> [arg1+0x16] */ # 37: a2530b
|
||||
and a9, a7, a9 # 3a: 909710
|
||||
movi a10, 32 /* 0x00000020 */ # 3d: 2c0a
|
||||
or a6, a4, a10 # 3f: a06420
|
||||
s8i a7, a8, 0 # 42: 724800
|
||||
or a9, a9, a10 # 45: a09920
|
||||
s8i a9, a8, 1 # 48: 924801
|
||||
l32i a5, a2, 144 /* [arg0+0x90] */ # 4b: 522224
|
||||
s8i a6, a8, 3 # 4e: 624803
|
||||
s8i a5, a8, 2 # 51: 524802
|
||||
l32i a4, a2, 144 /* [arg0+0x90] */ # 54: 422224
|
||||
l32i a3, a2, 148 /* [arg0+0x94] */ # 57: 322225
|
||||
ssai 16 # 5a: 104040
|
||||
src a3, a3, a4 # 5d: 403381
|
||||
s8i a3, a8, 4 # 60: 324804
|
||||
l32i a11, a2, 144 /* [arg0+0x90] */ # 63: b22224
|
||||
l32i a10, a2, 148 /* [arg0+0x94] */ # 66: a22225
|
||||
ssai 24 # 69: 104840
|
||||
src a10, a10, a11 # 6c: b0aa81
|
||||
s8i a10, a8, 5 # 6f: a24805
|
||||
l32i a9, a2, 148 /* [arg0+0x94] */ # 72: 922225
|
||||
s8i a9, a8, 6 # 75: 924806
|
||||
l32i a7, a2, 148 /* [arg0+0x94] */ # 78: 722225
|
||||
srli a7, a7, 8 # 7b: 707841
|
||||
s8i a7, a8, 7 # 7e: 724807
|
||||
l32i a6, a2, 144 /* [arg0+0x90] */ # 81: 622224
|
||||
l32i a3, a2, 148 /* [arg0+0x94] */ # 84: 322225
|
||||
addi a4, a6, 1 /* [arg0+0x90]+0x1 */ # 87: 1b46
|
||||
bgeu a4, a6, .Lbr002 # 89: 67b401
|
||||
addi a3, a3, 1 /* [arg0+0x94]+0x1 */ # 8c: 1b33
|
||||
.Lbr002: s32i a3, a2, 148 /* a3 -> [arg0+0x94] */ # 8e: 326225
|
||||
s32i a4, a2, 144 /* [arg0+0x90]+0x1 -> [arg0+0x90] */ # 91: 426224
|
||||
movi a2, 1 /* 0x00000001 */ # 94: 0c12
|
||||
ret /* 0x00000001 */ # 96: 0df0
|
||||
|
||||
.literal_position # 98: 00000000
|
||||
# 9c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xa0
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.Lfunc002: addi sp, sp, -16 /* (local0) */ # a0: 12c1f0
|
||||
l32i a8, a3, 4 /* [arg1+0x4] */ # a3: 8813
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # a5: 0911
|
||||
l32i a0, a8, 4 /* [[arg1+0x4]+0x4] */ # a7: 0818
|
||||
movi a6, sdk_g_ic # a9: 61fbff
|
||||
add a7, a4, a0 # ac: 0a74
|
||||
l8ui a5, a7, 3 # ae: 520703
|
||||
l32i a6, a6, 28 /* [sdk_g_ic+0x1c] */ # b1: 6876
|
||||
extui a5, a5, 5, 1 # b3: 505504
|
||||
beqz a5, .Lbr007 # b6: 169509
|
||||
extui a6, a6, 26, 1 # b9: 606a05
|
||||
bnez a6, .Lbr007 # bc: 563609
|
||||
l8ui a6, a7, 6 # bf: 620706
|
||||
l8ui a5, a7, 7 # c2: 520707
|
||||
l8ui a9, a0, 0 /* [[[arg1+0x4]+0x4]] */ # c5: 920000
|
||||
movi a10, 140 /* 0x0000008c */ # c8: a2a08c
|
||||
and a9, a9, a10 # cb: a09910
|
||||
slli a5, a5, 8 # ce: 805511
|
||||
or a5, a5, a6 # d1: 605520
|
||||
movi a10, 136 /* 0x00000088 */ # d4: a2a088
|
||||
l8ui a6, a7, 0 # d7: 620700
|
||||
bne a9, a10, .Lbr003 # da: a79911
|
||||
l8ui a11, a0, 1 /* [[[arg1+0x4]+0x4]+0x1] */ # dd: b20001
|
||||
extui a11, a11, 0, 2 # e0: b0b014
|
||||
addi a11, a11, -3 # e3: b2cbfd
|
||||
bnez a11, .Lbr009 # e6: 564b07
|
||||
l8ui a0, a0, 30 /* [[[arg1+0x4]+0x4]+0x1e] */ # e9: 02001e
|
||||
j .Lbr010 # ec: 461c00
|
||||
.Lbr003: movi a0, 16 /* 0x00000010 */ # ef: 1c00
|
||||
.Lbr004: slli a6, a6, 8 # f1: 806611
|
||||
l8ui a9, a7, 2 # f4: 920702
|
||||
l8ui a10, a7, 5 # f7: a20705
|
||||
l8ui a11, a7, 4 # fa: b20704
|
||||
slli a10, a10, 24 # fd: 80aa01
|
||||
slli a11, a11, 16 # 100: 00bb11
|
||||
extui a7, a5, 0, 16 # 103: 5070f4
|
||||
or a6, a6, a9 # 106: 906620
|
||||
or a11, a11, a6 # 109: 60bb20
|
||||
addx8 a9, a0, a2 # 10c: 2090b0
|
||||
or a10, a10, a11 # 10f: b0aa20
|
||||
movi a11, .Ldata002 # 112: b1e2ff
|
||||
s32i a9, sp, 0 /* a9 -> [(local0)] */ # 115: 9901
|
||||
s32i a7, a11, 4 /* a7 -> [.Ldata003] */ # 117: 791b
|
||||
s32i a10, a11, 0 /* a10 -> [.Ldata002] */ # 119: a90b
|
||||
l32i a11, a9, 8 # 11b: b829
|
||||
l32i a9, a9, 12 # 11d: 9839
|
||||
movi a0, 0 /* 0x00000000 */ # 11f: 0c00
|
||||
bltu a9, a7, .Lbr006 # 121: 773907
|
||||
bne a9, a7, .Lbr005 # 124: 779902
|
||||
bltu a11, a10, .Lbr006 # 127: a73b01
|
||||
.Lbr005: movi a0, 1 /* 0x00000001 */ # 12a: 0c10
|
||||
.Lbr006: bnez a0, .Lbr007 # 12c: ec30
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 12e: 0801
|
||||
l16ui a11, a3, 22 /* [arg1+0x16] */ # 130: b2130b
|
||||
s32i a10, a0, 8 /* a10 -> [[(local0)]+0x8] */ # 133: a920
|
||||
s32i a7, a0, 12 /* a7 -> [[(local0)]+0xc] */ # 135: 7930
|
||||
l32i a0, a2, 152 /* [arg0+0x98] */ # 137: 022226
|
||||
l32i a6, a8, 4 /* [[arg1+0x4]+0x4] */ # 13a: 6818
|
||||
l32i a5, a0, 4 /* [[arg0+0x98]+0x4] */ # 13c: 5810
|
||||
l32i a0, a0, 8 /* [[arg0+0x98]+0x8] */ # 13e: 0820
|
||||
add a9, a4, a5 # 140: 5a94
|
||||
add a6, a6, a9 # 142: 9a66
|
||||
add a0, a0, a5 # 144: 5a00
|
||||
sub a11, a11, a0 # 146: 00bbc0
|
||||
s32i a6, a8, 4 /* a6 -> [[arg1+0x4]+0x4] */ # 149: 6918
|
||||
movi a0, 1 /* 0x00000001 */ # 14b: 0c10
|
||||
s16i a11, a3, 22 /* a11 -> [arg1+0x16] */ # 14d: b2530b
|
||||
j .Lbr008 # 150: 460000
|
||||
.Lbr007: movi a0, 0 /* 0x00000000 */ # 153: 0c00
|
||||
.Lbr008: mov a2, a0 # 155: 2d00
|
||||
l32i a0, sp, 4 /* [(local1)] */ # 157: 0811
|
||||
addi sp, sp, 16 /* (top of frame) */ # 159: 12c110
|
||||
ret # 15c: 0df0
|
||||
.Lbr009: l8ui a0, a0, 24 /* [[[arg1+0x4]+0x4]+0x18] */ # 15e: 020018
|
||||
.Lbr010: extui a0, a0, 0, 4 # 161: 000034
|
||||
j .Lbr004 # 164: 46e2ff
|
73
binary_sdk/libnet80211/ieee80211_crypto_wep.S
Normal file
73
binary_sdk/libnet80211/ieee80211_crypto_wep.S
Normal file
|
@ -0,0 +1,73 @@
|
|||
|
||||
.section .data, "aw", @progbits
|
||||
|
||||
.global sdk_wep
|
||||
.type sdk_wep, @object
|
||||
sdk_wep: .word 0x00000001 # 0: 01000000
|
||||
.Ldata001: .word 0x00000004 # 4: 04000000
|
||||
|
||||
# NOTE: The following is apparently unreferenced code/data
|
||||
.word 0x00000004 # 8: 04000000
|
||||
.word 0x00000000 # c: 00000000
|
||||
|
||||
.Lrel001: .word .Lfunc001 # 10: 04000000
|
||||
.Lrel002: .word .Lfunc002 # 14: 60000000
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x4
|
||||
.balign 4
|
||||
.Lfunc001: bnez a3, .Lbr001 # 4: cc33
|
||||
movi a3, 0 /* 0x00000000 */ # 6: 0c03
|
||||
j .Lbr003 # 8: 461300
|
||||
.Lbr001: l32i a5, a2, 144 /* [arg0+0x90] */ # b: 522224
|
||||
l16ui a6, a3, 22 /* [arg1+0x16] */ # e: 62130b
|
||||
movi a7, sdk_wep # 11: 71fbff
|
||||
l32i a8, a3, 4 /* [arg1+0x4] */ # 14: 8813
|
||||
l32i a10, a7, 4 /* [.Ldata001] */ # 16: a817
|
||||
l32i a7, a7, 4 /* [.Ldata001] */ # 18: 7817
|
||||
l32i a9, a8, 4 /* [[arg1+0x4]+0x4] */ # 1a: 9818
|
||||
add a6, a6, a7 # 1c: 7a66
|
||||
sub a9, a9, a10 # 1e: a099c0
|
||||
l32i a7, a2, 148 /* [arg0+0x94] */ # 21: 722225
|
||||
s32i a9, a8, 4 /* a9 -> [[arg1+0x4]+0x4] */ # 24: 9918
|
||||
s16i a6, a3, 22 /* a6 -> [arg1+0x16] */ # 26: 62530b
|
||||
addi a8, a5, 1 /* [arg0+0x90]+0x1 */ # 29: 1b85
|
||||
bgeu a8, a5, .Lbr002 # 2b: 57b801
|
||||
addi a7, a7, 1 /* [arg0+0x94]+0x1 */ # 2e: 1b77
|
||||
.Lbr002: movi a3, 1 /* 0x00000001 */ # 30: 0c13
|
||||
s32i a7, a2, 148 /* a7 -> [arg0+0x94] */ # 32: 726225
|
||||
s32i a8, a2, 144 /* [arg0+0x90]+0x1 -> [arg0+0x90] */ # 35: 826224
|
||||
ssai 16 # 38: 104040
|
||||
src a6, a7, a8 # 3b: 806781
|
||||
s8i a6, a9, 2 # 3e: 624902
|
||||
l32i a5, a2, 144 /* [arg0+0x90] */ # 41: 522224
|
||||
l32i a11, a2, 148 /* [arg0+0x94] */ # 44: b22225
|
||||
ssai 8 # 47: 004840
|
||||
src a11, a11, a5 # 4a: 50bb81
|
||||
s8i a11, a9, 1 # 4d: b24901
|
||||
l32i a10, a2, 144 /* [arg0+0x90] */ # 50: a22224
|
||||
s8i a10, a9, 0 # 53: a24900
|
||||
s8i a4, a9, 3 # 56: 424903
|
||||
.Lbr003: mov a2, a3 # 59: 2d03
|
||||
ret # 5b: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x60
|
||||
.balign 4
|
||||
.Lfunc002: l32i a5, a2, 152 /* [arg0+0x98] */ # 60: 522226
|
||||
l32i a8, a3, 4 /* [arg1+0x4] */ # 63: 8813
|
||||
l16ui a2, a3, 22 /* [arg1+0x16] */ # 65: 22130b
|
||||
l32i a7, a8, 4 /* [[arg1+0x4]+0x4] */ # 68: 7818
|
||||
l32i a6, a5, 4 /* [[arg0+0x98]+0x4] */ # 6a: 6815
|
||||
l32i a5, a5, 8 /* [[arg0+0x98]+0x8] */ # 6c: 5825
|
||||
add a9, a4, a6 # 6e: 6a94
|
||||
add a7, a7, a9 # 70: 9a77
|
||||
add a5, a5, a6 # 72: 6a55
|
||||
sub a2, a2, a5 # 74: 5022c0
|
||||
s32i a7, a8, 4 /* a7 -> [[arg1+0x4]+0x4] */ # 77: 7918
|
||||
s16i a2, a3, 22 /* a2 -> [arg1+0x16] */ # 79: 22530b
|
||||
movi a2, 1 /* 0x00000001 */ # 7c: 0c12
|
||||
ret /* 0x00000001 */ # 7e: 0df0
|
44
binary_sdk/libnet80211/ieee80211_ets.S
Normal file
44
binary_sdk/libnet80211/ieee80211_ets.S
Normal file
|
@ -0,0 +1,44 @@
|
|||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x4
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global sdk_ieee80211_getmgtframe
|
||||
.type sdk_ieee80211_getmgtframe, @function
|
||||
sdk_ieee80211_getmgtframe:
|
||||
movi a5, -4 /* 0xfffffffc */ # 4: 7cc5
|
||||
addi sp, sp, -16 /* (local0) */ # 6: 12c1f0
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 9: 0911
|
||||
s32i a12, sp, 8 /* a12 -> [(local2)] */ # b: c921
|
||||
movi a0, 256 /* 0x00000100 */ # d: 02a100
|
||||
mov a12, a3 /* arg1 */ # 10: cd03
|
||||
add a3, a3, a4 # 12: 4a33
|
||||
addi a3, a3, 3 # 14: 3b33
|
||||
and a4, a3, a5 # 16: 504310
|
||||
bgeu a0, a4, .Lbr001 # 19: 47b004
|
||||
movi a2, 0 /* 0x00000000 */ # 1c: 0c02
|
||||
j .Lbr003 # 1e: 860700
|
||||
.Lbr001: movi a3, 4 /* 0x00000004 */ # 21: 0c43
|
||||
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 23: 2901
|
||||
movi a5, 65 /* 0x00000041 */ # 25: 4c15
|
||||
bgeu a4, a5, .Lbr002 # 27: 57b401
|
||||
movi a3, 5 /* 0x00000005 */ # 2a: 0c53
|
||||
.Lbr002: movi a2, 0 /* 0x00000000 */ # 2c: 0c02
|
||||
call0 sdk_esf_buf_alloc # 2e: 01f4ffc0
|
||||
# 32: 0000
|
||||
beqz a2, .Lbr003 # 34: 8c82
|
||||
l32i a6, a2, 4 # 36: 6812
|
||||
l32i a6, a6, 4 # 38: 6816
|
||||
l32i a7, sp, 0 /* [(local0)] */ # 3a: 7801
|
||||
add a6, a12, a6 # 3c: 6a6c
|
||||
s32i a6, a7, 0 /* a6 -> [[(local0)]] */ # 3e: 6907
|
||||
.Lbr003: l32i a12, sp, 8 /* [(local2)] */ # 40: c821
|
||||
l32i a0, sp, 4 /* [(local1)] */ # 42: 0811
|
||||
addi sp, sp, 16 /* (top of frame) */ # 44: 12c110
|
||||
ret # 47: 0df0
|
1910
binary_sdk/libnet80211/ieee80211_hostap.S
Normal file
1910
binary_sdk/libnet80211/ieee80211_hostap.S
Normal file
File diff suppressed because it is too large
Load diff
1280
binary_sdk/libnet80211/ieee80211_ht.S
Normal file
1280
binary_sdk/libnet80211/ieee80211_ht.S
Normal file
File diff suppressed because it is too large
Load diff
0
binary_sdk/libnet80211/ieee80211_hwmp.S
Normal file
0
binary_sdk/libnet80211/ieee80211_hwmp.S
Normal file
1006
binary_sdk/libnet80211/ieee80211_input.S
Normal file
1006
binary_sdk/libnet80211/ieee80211_input.S
Normal file
File diff suppressed because it is too large
Load diff
0
binary_sdk/libnet80211/ieee80211_mesh.S
Normal file
0
binary_sdk/libnet80211/ieee80211_mesh.S
Normal file
0
binary_sdk/libnet80211/ieee80211_node.S
Normal file
0
binary_sdk/libnet80211/ieee80211_node.S
Normal file
2780
binary_sdk/libnet80211/ieee80211_output.S
Normal file
2780
binary_sdk/libnet80211/ieee80211_output.S
Normal file
File diff suppressed because it is too large
Load diff
248
binary_sdk/libnet80211/ieee80211_phy.S
Normal file
248
binary_sdk/libnet80211/ieee80211_phy.S
Normal file
|
@ -0,0 +1,248 @@
|
|||
|
||||
.section .data, "aw", @progbits
|
||||
|
||||
.Ldata001: .byte 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.word 0x00000000 # 14: 00000000
|
||||
.byte 0xe8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00
|
||||
.byte 0x3a, 0x01, 0x3a, 0x01, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0xd0, 0x07, 0x00, 0x00, 0x04, 0x01, 0x84, 0x01
|
||||
.byte 0x02, 0x01, 0xa2, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x7c, 0x15, 0x00, 0x00, 0x04, 0x02, 0x8b, 0x02
|
||||
.byte 0xdf, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0xf8, 0x2a, 0x00, 0x00, 0x04, 0x03, 0x96, 0x03
|
||||
.byte 0xd5, 0x00, 0x75, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0x70, 0x17, 0x00, 0x00, 0x00, 0x0b, 0x0c, 0x04
|
||||
.byte 0x3c, 0x00, 0x3c, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0x28, 0x23, 0x00, 0x00, 0x00, 0x0f, 0x12, 0x04
|
||||
.byte 0x3c, 0x00, 0x3c, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0xe0, 0x2e, 0x00, 0x00, 0x00, 0x0a, 0x18, 0x06
|
||||
.byte 0x30, 0x00, 0x30, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0x50, 0x46, 0x00, 0x00, 0x00, 0x0e, 0x24, 0x06
|
||||
.byte 0x30, 0x00, 0x30, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0xc0, 0x5d, 0x00, 0x00, 0x00, 0x09, 0x30, 0x08
|
||||
.byte 0x2c, 0x00, 0x2c, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0xa0, 0x8c, 0x00, 0x00, 0x00, 0x0d, 0x48, 0x08
|
||||
.byte 0x2c, 0x00, 0x2c, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0x80, 0xbb, 0x00, 0x00, 0x00, 0x08, 0x60, 0x08
|
||||
.byte 0x2c, 0x00, 0x2c, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0xf0, 0xd2, 0x00, 0x00, 0x00, 0x0c, 0x6c, 0x08
|
||||
.byte 0x2c, 0x00, 0x2c, 0x00
|
||||
.Label001: .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0xe8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00
|
||||
.byte 0x3a, 0x01, 0x3a, 0x01, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0xd0, 0x07, 0x00, 0x00, 0x04, 0x01, 0x84, 0x01
|
||||
.byte 0x02, 0x01, 0xa2, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x7c, 0x15, 0x00, 0x00, 0x04, 0x02, 0x8b, 0x01
|
||||
.byte 0xdf, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0xf8, 0x2a, 0x00, 0x00, 0x04, 0x03, 0x96, 0x01
|
||||
.byte 0xd5, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x4
|
||||
.balign 4
|
||||
.global sdk_ieee80211_get_11g_ratetable
|
||||
.type sdk_ieee80211_get_11g_ratetable, @function
|
||||
sdk_ieee80211_get_11g_ratetable:
|
||||
movi a2, .Ldata001 # 4: 21ffff
|
||||
ret /* .Ldata001 */ # 7: 0df0
|
||||
|
||||
.literal_position # c: d4000000
|
||||
# 10: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x14
|
||||
.balign 4
|
||||
.global sdk_ieee80211_get_ratetable
|
||||
.type sdk_ieee80211_get_ratetable, @function
|
||||
sdk_ieee80211_get_ratetable:
|
||||
l32i a2, a2, 0 /* [arg0] */ # 14: 2802
|
||||
movi a3, 192 /* 0x000000c0 */ # 16: 32a0c0
|
||||
ball a2, a3, .Lbr001 # 19: 37420a
|
||||
movi a4, 1152 /* 0x00000480 */ # 1c: 42a480
|
||||
ball a2, a4, .Lbr001 # 1f: 474204
|
||||
movi a2, .Label001 # 22: 21faff
|
||||
ret /* .Label001 */ # 25: 0df0
|
||||
.Lbr001: movi a2, .Ldata001 # 27: 21faff
|
||||
ret /* .Ldata001 */ # 2a: 0df0
|
||||
|
||||
.literal_position # 2c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x30
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_ieee80211_phy_init
|
||||
.type sdk_ieee80211_phy_init, @function
|
||||
sdk_ieee80211_phy_init:
|
||||
addi sp, sp, -16 /* (local0) */ # 30: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 33: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 35: 0901
|
||||
mov a12, a2 /* arg0 */ # 37: cd02
|
||||
call0 sdk_ieee80211_setup_ratetable # 39: 050000
|
||||
movi a3, 12 /* 0x0000000c */ # 3c: 0cc3
|
||||
movi a0, 3 /* 0x00000003 */ # 3e: 0c30
|
||||
movi a5, 4 /* 0x00000004 */ # 40: 0c45
|
||||
movi a2, sdk_g_ic # 42: 21faff
|
||||
addi a4, a12, -1 /* arg0-0x1 */ # 45: 0b4c
|
||||
movi a6, 0 /* 0x00000000 */ # 47: 0c06
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 49: c811
|
||||
s8i a6, a2, 125 /* 0x00 -> [sdk_g_ic+0x7d] */ # 4b: 62427d
|
||||
s8i a6, a2, 126 /* 0x00 -> [sdk_g_ic+0x7e] */ # 4e: 62427e
|
||||
s8i a5, a2, 127 /* 0x04 -> [sdk_g_ic+0x7f] */ # 51: 52427f
|
||||
movnez a0, a3, a4 # 54: 400393
|
||||
s8i a0, a2, 124 /* a0 -> [sdk_g_ic+0x7c] */ # 57: 02427c
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 5a: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 5c: 12c110
|
||||
ret /* sdk_g_ic */ # 5f: 0df0
|
||||
|
||||
.literal_position # 64: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x68
|
||||
.balign 4
|
||||
.global sdk_ieee80211_phy_type_get
|
||||
.type sdk_ieee80211_phy_type_get, @function
|
||||
sdk_ieee80211_phy_type_get:
|
||||
movi a2, sdk_g_ic+0x200 # 68: 21ffff
|
||||
l32i a2, a2, 0x31c /* [sdk_g_ic+0x51c] */ # 6b: 2222c7
|
||||
movi a3, 1 /* 0x00000001 */ # 6e: 0c13
|
||||
addi a2, a2, -1 /* [sdk_g_ic+0x51c]-0x1 */ # 70: 0b22
|
||||
movnez a2, a3, a2 # 72: 202393
|
||||
ret # 75: 0df0
|
||||
|
||||
.literal_position # 78: 00000000
|
||||
# 7c: d4000000
|
||||
# 80: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x84
|
||||
.balign 4
|
||||
.global sdk_ieee80211_setup_ratetable
|
||||
.type sdk_ieee80211_setup_ratetable, @function
|
||||
sdk_ieee80211_setup_ratetable:
|
||||
movi a4, .Ldata001 # 84: 41fdff
|
||||
movi a5, .Label001 # 87: 51fdff
|
||||
addi a6, a2, -1 /* arg0-0x1 */ # 8a: 0b62
|
||||
movnez a5, a4, a6 # 8c: 605493
|
||||
movi a6, sdk_g_ic # 8f: 61fcff
|
||||
l8ui a3, a5, 0 # 92: 320500
|
||||
s8i a3, a6, 44 /* a3 -> [sdk_g_ic+0x2c] */ # 95: 32462c
|
||||
beqz a3, .Lbr003 # 98: 9c83
|
||||
movi a2, 0 /* 0x00000000 */ # 9a: 0c02
|
||||
.Lbr002: add a4, a2, a6 # 9c: 6a42
|
||||
slli a3, a2, 4 # 9e: c03211
|
||||
add a3, a5, a3 # a1: 3a35
|
||||
addi a2, a2, 1 # a3: 1b22
|
||||
l8ui a3, a3, 30 # a5: 32031e
|
||||
s8i a3, a4, 45 # a8: 32442d
|
||||
l8ui a7, a6, 44 /* [sdk_g_ic+0x2c] */ # ab: 72062c
|
||||
extui a2, a2, 0, 8 # ae: 202074
|
||||
bltu a2, a7, .Lbr002 # b1: 7732e7
|
||||
.Lbr003: ret # b4: 0df0
|
||||
|
||||
.literal_position # b8: 00000000
|
||||
# bc: 00000000
|
||||
# c0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xc4
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global sdk_ieee80211_compute_duration
|
||||
.type sdk_ieee80211_compute_duration, @function
|
||||
sdk_ieee80211_compute_duration:
|
||||
addi sp, sp, -16 /* (local0) */ # c4: 12c1f0
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # c7: 0921
|
||||
add a0, a4, a2 # c9: 2a04
|
||||
l8ui a0, a0, 4 # cb: 020004
|
||||
mov a7, a3 /* arg1 */ # ce: 7d03
|
||||
slli a0, a0, 4 # d0: c00011
|
||||
add a0, a2, a0 # d3: 0a02
|
||||
l32i a3, a0, 24 # d5: 3860
|
||||
l8ui a2, a0, 20 # d7: 220014
|
||||
bnez a3, .Lbr004 # da: cc33
|
||||
movi a2, 0 /* 0x00000000 */ # dc: 0c02
|
||||
j .Lbr008 # de: 061400
|
||||
.Lbr004: s32i a7, sp, 4 /* arg1 -> [(local1)] */ # e1: 7911
|
||||
beqz a2, .Lbr005 # e3: ac52
|
||||
bnei a2, 1, .Lbr007 # e5: 661246
|
||||
slli a2, a3, 2 # e8: e02311
|
||||
movi a3, 1000 /* 0x000003e8 */ # eb: 32a3e8
|
||||
call0 __udivsi3 # ee: 01f2ffc0
|
||||
# f2: 0000
|
||||
mov a3, a2 # f4: 3d02
|
||||
l32i a2, sp, 4 /* [(local1)] */ # f6: 2811
|
||||
addx8 a2, a2, a3 # f8: 3022b0
|
||||
addi a2, a2, 21 # fb: 22c215
|
||||
call0 __udivsi3 # fe: 01efffc0
|
||||
# 102: 0000
|
||||
movi a0, 36 /* 0x00000024 */ # 104: 2c40
|
||||
addx4 a0, a2, a0 # 106: 0002a0
|
||||
j .Lbr007 # 109: 860800
|
||||
.Lbr005: beqz a5, .Lbr009 # 10c: ac95
|
||||
l8ui a2, a0, 28 # 10e: 22001c
|
||||
movi a4, 96 /* 0x00000060 */ # 111: 42a060
|
||||
beqz a2, .Lbr009 # 114: ac12
|
||||
s32i a4, sp, 0 /* 0x00000060 -> [(local0)] */ # 116: 4901
|
||||
.Lbr006: l32i a2, sp, 4 /* [(local1)] */ # 118: 2811
|
||||
movi a4, 1000 /* 0x000003e8 */ # 11a: 42a3e8
|
||||
slli a2, a2, 3 # 11d: d02211
|
||||
mull a2, a2, a4 # 120: 402282
|
||||
call0 __udivsi3 # 123: 01e7ffc0
|
||||
# 127: 0000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 129: 0801
|
||||
add a0, a0, a2 # 12b: 2a00
|
||||
addi a0, a0, 10 # 12d: ab00
|
||||
.Lbr007: extui a2, a0, 0, 16 # 12f: 0020f4
|
||||
.Lbr008: l32i a0, sp, 8 /* [(local2)] */ # 132: 0821
|
||||
addi sp, sp, 16 /* (top of frame) */ # 134: 12c110
|
||||
ret # 137: 0df0
|
||||
.Lbr009: movi a2, 192 /* 0x000000c0 */ # 139: 22a0c0
|
||||
s32i a2, sp, 0 /* 0x000000c0 -> [(local0)] */ # 13c: 2901
|
||||
j .Lbr006 # 13e: 86f5ff
|
||||
|
||||
.literal_position # 144: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x148
|
||||
.balign 4
|
||||
.global sdk_ieee80211_dot11Rate_rix
|
||||
.type sdk_ieee80211_dot11Rate_rix, @function
|
||||
sdk_ieee80211_dot11Rate_rix:
|
||||
movi a6, 0 /* 0x00000000 */ # 148: 0c06
|
||||
movi a8, .Ldata001 # 14a: 81feff
|
||||
.Lbr010: slli a7, a6, 4 # 14d: c07611
|
||||
add a7, a8, a7 # 150: 7a78
|
||||
l8ui a4, a7, 30 # 152: 42071e
|
||||
bne a4, a2, .Lbr011 # 155: 279409
|
||||
mov a2, a6 # 158: 2d06
|
||||
l8ui a8, a7, 29 # 15a: 82071d
|
||||
s8i a8, a3, 0 /* a8 -> [arg1] */ # 15d: 824300
|
||||
ret # 160: 0df0
|
||||
.Lbr011: addi a6, a6, 1 # 162: 1b66
|
||||
extui a6, a6, 0, 8 # 164: 606074
|
||||
bnei a6, 12, .Lbr010 # 167: 66a6e2
|
||||
movi a2, 255 /* 0x000000ff */ # 16a: 22a0ff
|
||||
ret /* 0x000000ff */ # 16d: 0df0
|
196
binary_sdk/libnet80211/ieee80211_power.S
Normal file
196
binary_sdk/libnet80211/ieee80211_power.S
Normal file
|
@ -0,0 +1,196 @@
|
|||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
# Function @ .irom0.text+0x0
|
||||
.balign 4
|
||||
.literal_position
|
||||
.global sdk_ieee80211_psq_init
|
||||
.type sdk_ieee80211_psq_init, @function
|
||||
sdk_ieee80211_psq_init:
|
||||
movi a6, 0 /* 0x00000000 */ # 0: 0c06
|
||||
movi a5, 0 /* 0x00000000 */ # 2: 0c05
|
||||
movi a4, 1 /* 0x00000001 */ # 4: 0c14
|
||||
.Lbr001: addi a4, a4, -1 # 6: 0b44
|
||||
add a3, a5, a2 # 8: 2a35
|
||||
s32i a6, a3, 0 # a: 6903
|
||||
addi a5, a5, 4 # c: 4b55
|
||||
bgei a4, 1, .Lbr001 # e: e614f4
|
||||
movi a4, 10 /* 0x0000000a */ # 11: 0ca4
|
||||
s32i a4, a2, 4 /* 0x0000000a -> [arg0+0x4] */ # 13: 4912
|
||||
ret /* arg0 */ # 15: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x18
|
||||
.balign 4
|
||||
.global sdk_ieee80211_psq_cleanup
|
||||
.type sdk_ieee80211_psq_cleanup, @function
|
||||
sdk_ieee80211_psq_cleanup:
|
||||
ret /* arg0 */ # 18: 0df0
|
||||
|
||||
.literal_position # 1c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x20
|
||||
.balign 4
|
||||
.global sdk_ieee80211_set_tim
|
||||
.type sdk_ieee80211_set_tim, @function
|
||||
sdk_ieee80211_set_tim:
|
||||
movi a10, 1 /* 0x00000001 */ # 20: 0c1a
|
||||
l16ui a6, a2, 26 /* [arg0+0x1a] */ # 22: 62120d
|
||||
movi a8, sdk_g_ic+0x152 # 25: 81fdff
|
||||
extui a7, a6, 0, 3 # 28: 607024
|
||||
extui a6, a6, 3, 11 # 2b: 6063a4
|
||||
add a6, a6, a8 # 2e: 8a66
|
||||
l8ui a5, a6, 128 # 30: 520680
|
||||
ssr a7 # 33: 000740
|
||||
sra a4, a5 # 36: 5040b1
|
||||
extui a4, a4, 0, 1 # 39: 404004
|
||||
sub a2, a3, a4 # 3c: 4023c0
|
||||
movnez a2, a10, a2 # 3f: 202a93
|
||||
beqz a2, .Lbr002 # 42: 9c52
|
||||
movi a11, -1 /* 0xffffffff */ # 44: 7cfb
|
||||
ssl a7 # 46: 001740
|
||||
sll a9, a10 # 49: 009aa1
|
||||
or a8, a9, a5 # 4c: 508920
|
||||
xor a9, a9, a11 # 4f: b09930
|
||||
and a9, a5, a9 # 52: 909510
|
||||
moveqz a8, a9, a3 # 55: 308983
|
||||
s8i a8, a6, 128 # 58: 824680
|
||||
.Lbr002: ret # 5b: 0df0
|
||||
|
||||
.literal_position # 60: 00000000
|
||||
# 64: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x68
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_ieee80211_pwrsave
|
||||
.type sdk_ieee80211_pwrsave, @function
|
||||
sdk_ieee80211_pwrsave:
|
||||
mov a6, a2 /* arg0 */ # 68: 6d02
|
||||
addi sp, sp, -16 /* (local0) */ # 6a: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 6d: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 6f: 0901
|
||||
l32i a2, a2, 196 /* [arg0+0xc4] */ # 71: 222231
|
||||
l32i a0, a6, 192 /* [arg0+0xc0] */ # 74: 022630
|
||||
mov a12, a3 /* arg1 */ # 77: cd03
|
||||
blt a0, a2, .Lbr003 # 79: 27201e
|
||||
l32i a3, a6, 200 /* [arg0+0xc8] */ # 7c: 322632
|
||||
l32i a2, a12, 0 /* [arg1] */ # 7f: 280c
|
||||
addi a3, a3, 1 /* [arg0+0xc8]+0x1 */ # 81: 1b33
|
||||
s32i a3, a6, 200 /* [arg0+0xc8]+0x1 -> [arg0+0xc8] */ # 83: 326632
|
||||
call0 pbuf_free # 86: 01f6ffc0
|
||||
# 8a: 0000
|
||||
mov a2, a12 /* arg1 */ # 8c: 2d0c
|
||||
movi a3, 1 /* 0x00000001 */ # 8e: 0c13
|
||||
call0 sdk_esf_buf_recycle # 90: 01f5ffc0
|
||||
# 94: 0000
|
||||
movi a2, 1 /* 0x00000001 */ # 96: 0c12
|
||||
j .Lbr007 # 98: 060b00
|
||||
.Lbr003: addi a4, a0, 1 /* [arg0+0xc0]+0x1 */ # 9b: 1b40
|
||||
movi a7, 0 /* 0x00000000 */ # 9d: 0c07
|
||||
l32i a5, a6, 212 /* [arg0+0xd4] */ # 9f: 522635
|
||||
l32i a2, a6, 208 /* [arg0+0xd0] */ # a2: 222634
|
||||
addi a5, a5, 1 /* [arg0+0xd4]+0x1 */ # a5: 1b55
|
||||
bnez a2, .Lbr004 # a7: cc42
|
||||
s32i a3, a6, 204 /* arg1 -> [arg0+0xcc] */ # a9: 326633
|
||||
j .Lbr005 # ac: 460000
|
||||
.Lbr004: s32i a3, a2, 28 /* arg1 -> [[arg0+0xd0]+0x1c] */ # af: 3972
|
||||
.Lbr005: s32i a7, a12, 28 /* 0x00000000 -> [arg1+0x1c] */ # b1: 797c
|
||||
s32i a12, a6, 208 /* arg1 -> [arg0+0xd0] */ # b3: c26634
|
||||
s32i a4, a6, 192 /* [arg0+0xc0]+0x1 -> [arg0+0xc0] */ # b6: 426630
|
||||
s32i a5, a6, 212 /* [arg0+0xd4]+0x1 -> [arg0+0xd4] */ # b9: 526635
|
||||
bnei a4, 1, .Lbr006 # bc: 661406
|
||||
mov a2, a6 /* arg0 */ # bf: 2d06
|
||||
movi a3, 1 /* 0x00000001 */ # c1: 0c13
|
||||
call0 sdk_ieee80211_set_tim # c3: 050000
|
||||
.Lbr006: movi a2, 0 /* 0x00000000 */ # c6: 0c02
|
||||
.Lbr007: l32i a12, sp, 4 /* [(local1)] */ # c8: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # ca: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # cc: 12c110
|
||||
ret # cf: 0df0
|
||||
|
||||
.literal_position # d4: 00000000
|
||||
# d8: 00000000
|
||||
# dc: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xe0
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word @ -0x8
|
||||
# (local3): word @ -0x4
|
||||
.balign 4
|
||||
.Lfunc001: addi sp, sp, -16 /* (local0) */ # e0: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # e3: 0901
|
||||
s32i a14, sp, 12 /* a14 -> [(local3)] */ # e5: e931
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # e7: c911
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # e9: d921
|
||||
mov a12, a2 /* arg0 */ # eb: cd02
|
||||
l32i a13, a2, 204 /* [arg0+0xcc] */ # ed: d22233
|
||||
movi a14, 0 /* 0x00000000 */ # f0: 0c0e
|
||||
bnez a13, .Lbr008 # f2: cc1d
|
||||
j .Lbr012 # f4: 061000
|
||||
.Lbr008: l32i a2, a13, 28 /* [[arg0+0xcc]+0x1c] */ # f7: 287d
|
||||
s32i a2, a12, 204 /* [[arg0+0xcc]+0x1c] -> [arg0+0xcc] */ # f9: 226c33
|
||||
call0 sdk_chm_check_same_channel # fc: 01f7ffc0
|
||||
# 100: 0000
|
||||
beqz a2, .Lbr009 # 102: 8c92
|
||||
mov a2, a13 /* [arg0+0xcc] */ # 104: 2d0d
|
||||
call0 sdk_ppTxPkt # 106: 01f5ffc0
|
||||
# 10a: 0000
|
||||
j .Lbr010 # 10c: c60300
|
||||
.Lbr009: movi a5, sdk_g_ic # 10f: 51f1ff
|
||||
addi a4, a13, 28 /* [arg0+0xcc]+0x1c */ # 112: 42cd1c
|
||||
l32i a6, a5, 0x1c4 /* [sdk_g_ic+0x1c4] */ # 115: 622571
|
||||
s32i a14, a13, 28 /* 0x00000000 -> [[arg0+0xcc]+0x1c] */ # 118: e97d
|
||||
s32i a13, a6, 0 /* [arg0+0xcc] -> [[sdk_g_ic+0x1c4]] */ # 11a: d906
|
||||
s32i a4, a5, 0x1c4 /* [arg0+0xcc]+0x1c -> [sdk_g_ic+0x1c4] */ # 11c: 426571
|
||||
.Lbr010: l32i a7, a12, 192 /* [arg0+0xc0] */ # 11f: 722c30
|
||||
l32i a13, a12, 204 /* [arg0+0xcc] */ # 122: d22c33
|
||||
addi a7, a7, -1 /* [arg0+0xc0]-0x1 */ # 125: 0b77
|
||||
s32i a7, a12, 192 /* [arg0+0xc0]-0x1 -> [arg0+0xc0] */ # 127: 726c30
|
||||
beqz a13, .Lbr011 # 12a: 8c1d
|
||||
j .Lbr008 # 12c: c6f1ff
|
||||
.Lbr011: s32i a14, a12, 208 /* 0x00000000 -> [arg0+0xd0] */ # 12f: e26c34
|
||||
s32i a14, a12, 204 /* 0x00000000 -> [arg0+0xcc] */ # 132: e26c33
|
||||
s32i a14, a12, 212 /* 0x00000000 -> [arg0+0xd4] */ # 135: e26c35
|
||||
.Lbr012: l32i a0, sp, 0 /* [(local0)] */ # 138: 0801
|
||||
s32i a14, a12, 192 /* 0x00000000 -> [arg0+0xc0] */ # 13a: e26c30
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 13d: d821
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 13f: c811
|
||||
l32i a14, sp, 12 /* [(local3)] */ # 141: e831
|
||||
addi sp, sp, 16 /* (top of frame) */ # 143: 12c110
|
||||
ret # 146: 0df0
|
||||
|
||||
# Function @ .irom0.text+0x148
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_ieee80211_node_pwrsave
|
||||
.type sdk_ieee80211_node_pwrsave, @function
|
||||
sdk_ieee80211_node_pwrsave:
|
||||
addi sp, sp, -16 /* (local0) */ # 148: 12c1f0
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 14b: 0911
|
||||
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 14d: 2901
|
||||
l32i a0, a2, 8 /* [arg0+0x8] */ # 14f: 0822
|
||||
beqz a3, .Lbr013 # 151: 8c83
|
||||
movi a3, 16 /* 0x00000010 */ # 153: 1c03
|
||||
or a3, a0, a3 # 155: 303020
|
||||
s32i a3, a2, 8 /* a3 -> [arg0+0x8] */ # 158: 3922
|
||||
j .Lbr014 # 15a: c60500
|
||||
.Lbr013: movi a3, 0 /* 0x00000000 */ # 15d: 0c03
|
||||
movi a4, -17 /* 0xffffffef */ # 15f: 6cf4
|
||||
and a4, a0, a4 # 161: 404010
|
||||
s32i a4, a2, 8 /* a4 -> [arg0+0x8] */ # 164: 4922
|
||||
call0 sdk_ieee80211_set_tim # 166: 050000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 169: 0801
|
||||
l32i a5, a0, 192 /* [[(local0)]+0xc0] */ # 16b: 522030
|
||||
beqz a5, .Lbr014 # 16e: 8c35
|
||||
mov a2, a0 /* [(local0)] */ # 170: 2d00
|
||||
call0 .Lfunc001 # 172: c5f6ff
|
||||
.Lbr014: l32i a0, sp, 4 /* [(local1)] */ # 175: 0811
|
||||
addi sp, sp, 16 /* (top of frame) */ # 177: 12c110
|
||||
ret # 17a: 0df0
|
236
binary_sdk/libnet80211/ieee80211_proto.S
Normal file
236
binary_sdk/libnet80211/ieee80211_proto.S
Normal file
|
@ -0,0 +1,236 @@
|
|||
|
||||
.section .data, "aw", @progbits
|
||||
|
||||
.global sdk_ieee80211_addr_bcast
|
||||
.type sdk_ieee80211_addr_bcast, @object
|
||||
sdk_ieee80211_addr_bcast:
|
||||
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
# 4: 00000400
|
||||
# 8: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xc
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_ieee80211_proto_attach
|
||||
.type sdk_ieee80211_proto_attach, @function
|
||||
sdk_ieee80211_proto_attach:
|
||||
movi a3, 2 /* 0x00000002 */ # c: 0c23
|
||||
movi a4, 0x00040000 # e: 41fdff
|
||||
movi a6, 1 /* 0x00000001 */ # 11: 0c16
|
||||
mov a5, a2 /* arg0 */ # 13: 5d02
|
||||
addi sp, sp, -16 /* (local0) */ # 15: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 18: 0901
|
||||
movi a2, sdk_ieee80211_tx_mgt_cb # 1a: 21f9ff
|
||||
l32i a0, a5, 28 /* [arg0+0x1c] */ # 1d: 0875
|
||||
s32i a6, a5, 12 /* 0x00000001 -> [arg0+0xc] */ # 1f: 6935
|
||||
or a0, a0, a4 # 21: 400020
|
||||
s32i a0, a5, 28 /* a0 -> [arg0+0x1c] */ # 24: 0975
|
||||
call0 sdk_ppRegisterTxCallback # 26: 01f8ffc0
|
||||
# 2a: 0000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 2c: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 2e: 12c110
|
||||
ret # 31: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x34
|
||||
.balign 4
|
||||
.global sdk_ieee80211_set_shortslottime
|
||||
.type sdk_ieee80211_set_shortslottime, @function
|
||||
sdk_ieee80211_set_shortslottime:
|
||||
movi a6, 1024 /* 0x00000400 */ # 34: 62a400
|
||||
l32i a5, a2, 28 /* [arg0+0x1c] */ # 37: 5872
|
||||
movi a4, -1025 /* 0xfffffbff */ # 39: 42abff
|
||||
and a4, a5, a4 # 3c: 404510
|
||||
or a5, a5, a6 # 3f: 605520
|
||||
moveqz a5, a4, a3 # 42: 305483
|
||||
s32i a5, a2, 28 /* a5 -> [arg0+0x1c] */ # 45: 5972
|
||||
ret /* arg0 */ # 47: 0df0
|
||||
|
||||
.literal_position # 4c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x50
|
||||
.balign 4
|
||||
.global sdk_ieee80211_iserp_rateset
|
||||
.type sdk_ieee80211_iserp_rateset, @function
|
||||
sdk_ieee80211_iserp_rateset:
|
||||
l8ui a8, a2, 0 /* [arg0] */ # 50: 820200
|
||||
bltui a8, 7, .Lbr003 # 53: b6781e
|
||||
movi a9, .Ldata001 # 56: 91fdff
|
||||
movi a10, 0 /* 0x00000000 */ # 59: 0c0a
|
||||
.Lbr001: blti a8, 1, .Lbr003 # 5b: a61816
|
||||
movi a5, 0 /* 0x00000000 */ # 5e: 0c05
|
||||
l32i a6, a9, 0 # 60: 6809
|
||||
.Lbr002: add a7, a5, a2 # 62: 2a75
|
||||
l8ui a7, a7, 1 # 64: 720701
|
||||
extui a7, a7, 0, 7 # 67: 707064
|
||||
beq a6, a7, .Lbr004 # 6a: 77160b
|
||||
blt a6, a7, .Lbr003 # 6d: 772604
|
||||
addi a5, a5, 1 # 70: 1b55
|
||||
bne a5, a8, .Lbr002 # 72: 8795ec
|
||||
.Lbr003: movi a2, 0 /* 0x00000000 */ # 75: 0c02
|
||||
ret /* 0x00000000 */ # 77: 0df0
|
||||
.Lbr004: addi a9, a9, 4 # 79: 4b99
|
||||
addi a10, a10, 1 # 7b: 1baa
|
||||
bnei a10, 7, .Lbr001 # 7d: 667ada
|
||||
movi a2, 1 /* 0x00000001 */ # 80: 0c12
|
||||
ret /* 0x00000001 */ # 82: 0df0
|
||||
|
||||
.literal_position # 84: 20000000
|
||||
|
||||
# Function @ .irom0.text+0x88
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.Lfunc001: addi sp, sp, -16 /* (local0) */ # 88: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 8b: 0901
|
||||
l8ui a0, a2, 0 /* [arg0] */ # 8d: 020200
|
||||
beqz a0, .Lbr009 # 90: bcf0
|
||||
movi a9, 0 /* 0x00000000 */ # 92: 0c09
|
||||
movi a11, 128 /* 0x00000080 */ # 94: b2a080
|
||||
movi a8, .Ldata002 # 97: 81fbff
|
||||
slli a10, a3, 4 # 9a: c0a311
|
||||
add a8, a8, a10 # 9d: aa88
|
||||
l8ui a7, a8, 0 # 9f: 720800
|
||||
.Lbr005: bnez a4, .Lbr006 # a2: cc94
|
||||
add a3, a2, a9 # a4: 9a32
|
||||
l8ui a0, a3, 1 # a6: 020301
|
||||
extui a0, a0, 0, 7 # a9: 000064
|
||||
s8i a0, a3, 1 # ac: 024301
|
||||
.Lbr006: beqz a7, .Lbr008 # af: 9c57
|
||||
movi a0, 0 /* 0x00000000 */ # b1: 0c00
|
||||
add a10, a2, a9 # b3: 9aa2
|
||||
l8ui a3, a10, 1 # b5: 320a01
|
||||
.Lbr007: add a5, a8, a0 # b8: 0a58
|
||||
l8ui a5, a5, 1 # ba: 520501
|
||||
addi a0, a0, 1 # bd: 1b00
|
||||
bne a5, a3, .Lbr010 # bf: 379517
|
||||
or a6, a3, a11 # c2: b06320
|
||||
s8i a6, a10, 1 # c5: 624a01
|
||||
.Lbr008: l8ui a10, a2, 0 /* [arg0] */ # c8: a20200
|
||||
addi a9, a9, 1 # cb: 1b99
|
||||
extui a9, a9, 0, 8 # cd: 909074
|
||||
bltu a9, a10, .Lbr005 # d0: a739ce
|
||||
.Lbr009: l32i a0, sp, 0 /* [(local0)] */ # d3: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # d5: 12c110
|
||||
ret /* arg0 */ # d8: 0df0
|
||||
.Lbr010: extui a0, a0, 0, 8 # da: 000074
|
||||
bne a7, a0, .Lbr007 # dd: 0797d7
|
||||
j .Lbr008 # e0: 06f9ff
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0xe4
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_ieee80211_setbasicrates
|
||||
.type sdk_ieee80211_setbasicrates, @function
|
||||
sdk_ieee80211_setbasicrates:
|
||||
movi a4, 0 /* 0x00000000 */ # e4: 0c04
|
||||
addi sp, sp, -16 /* (local0) */ # e6: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # e9: 0901
|
||||
call0 .Lfunc001 # eb: c5f9ff
|
||||
l32i a0, sp, 0 /* [(local0)] */ # ee: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # f0: 12c110
|
||||
ret # f3: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0xf8
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_ieee80211_addbasicrates
|
||||
.type sdk_ieee80211_addbasicrates, @function
|
||||
sdk_ieee80211_addbasicrates:
|
||||
movi a4, 1 /* 0x00000001 */ # f8: 0c14
|
||||
addi sp, sp, -16 /* (local0) */ # fa: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # fd: 0901
|
||||
call0 .Lfunc001 # ff: 85f8ff
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 102: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 104: 12c110
|
||||
ret # 107: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x10c
|
||||
.balign 4
|
||||
.global sdk_ieee80211_wme_initparams
|
||||
.type sdk_ieee80211_wme_initparams, @function
|
||||
sdk_ieee80211_wme_initparams:
|
||||
ret /* arg0 */ # 10c: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x110
|
||||
.balign 4
|
||||
.global sdk_ieee80211_wme_updateparams
|
||||
.type sdk_ieee80211_wme_updateparams, @function
|
||||
sdk_ieee80211_wme_updateparams:
|
||||
ret /* arg0 */ # 110: 0df0
|
||||
|
||||
.literal_position # 114: 00000000
|
||||
# 118: 00000000
|
||||
# 11c: 00000000
|
||||
# 120: 00000000
|
||||
# 124: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x128
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global sdk_ieee80211_mlme_connect_bss
|
||||
.type sdk_ieee80211_mlme_connect_bss, @function
|
||||
sdk_ieee80211_mlme_connect_bss:
|
||||
mov a3, a2 /* arg0 */ # 128: 3d02
|
||||
addi sp, sp, -16 /* (local0) */ # 12a: 12c1f0
|
||||
s32i a5, sp, 4 /* arg3 -> [(local1)] */ # 12d: 5911
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 12f: 0921
|
||||
movi a2, sdk_g_ic # 131: 21f8ff
|
||||
s32i a4, sp, 0 /* arg2 -> [(local0)] */ # 134: 4901
|
||||
l32i a2, a2, 16 /* [sdk_g_ic+0x10] */ # 136: 2842
|
||||
movi a4, 6 /* 0x00000006 */ # 138: 0c64
|
||||
s32i a3, a2, 136 /* arg0 -> [[sdk_g_ic+0x10]+0x88] */ # 13a: 326222
|
||||
addi a2, a2, 64 /* [sdk_g_ic+0x10]+0x40 */ # 13d: 22c240
|
||||
call0 memcpy # 140: 01f7ffc0
|
||||
# 144: 0000
|
||||
l32i a3, sp, 4 /* [(local1)] */ # 146: 3811
|
||||
movi a0, sdk_g_ic # 148: 01f4ff
|
||||
beqz a3, .Lbr011 # 14b: 8ce3
|
||||
movi a3, 2 /* 0x00000002 */ # 14d: 0c23
|
||||
movi a4, 176 /* 0x000000b0 */ # 14f: 42a0b0
|
||||
mov a2, a0 /* sdk_g_ic */ # 152: 2d00
|
||||
call0 sdk_ieee80211_sta_new_state # 154: 01f3ffc0
|
||||
# 158: 0000
|
||||
j .Lbr012 # 15a: 860400
|
||||
.Lbr011: movi a3, 3 /* 0x00000003 */ # 15d: 0c33
|
||||
mov a2, a0 /* sdk_g_ic */ # 15f: 2d00
|
||||
l32i a6, sp, 0 /* [(local0)] */ # 161: 6801
|
||||
movi a5, 32 /* 0x00000020 */ # 163: 2c05
|
||||
movi a4, 0 /* 0x00000000 */ # 165: 0c04
|
||||
movnez a4, a5, a6 # 167: 604593
|
||||
call0 sdk_ieee80211_sta_new_state # 16a: 01eeffc0
|
||||
# 16e: 0000
|
||||
.Lbr012: l32i a0, sp, 8 /* [(local2)] */ # 170: 0821
|
||||
addi sp, sp, 16 /* (top of frame) */ # 172: 12c110
|
||||
ret # 175: 0df0
|
||||
|
||||
.section .rodata, "a", @progbits
|
||||
|
||||
.Ldata001: .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
||||
.byte 0x0b, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
|
||||
.byte 0x0c, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00
|
||||
.byte 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.Ldata002: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x02, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x04, 0x02, 0x04, 0x0b, 0x16, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
1792
binary_sdk/libnet80211/ieee80211_scan.S
Normal file
1792
binary_sdk/libnet80211/ieee80211_scan.S
Normal file
File diff suppressed because it is too large
Load diff
1337
binary_sdk/libnet80211/ieee80211_sta.S
Normal file
1337
binary_sdk/libnet80211/ieee80211_sta.S
Normal file
File diff suppressed because it is too large
Load diff
0
binary_sdk/libnet80211/if_eagle.S
Normal file
0
binary_sdk/libnet80211/if_eagle.S
Normal file
499
binary_sdk/libnet80211/wl_chm.S
Normal file
499
binary_sdk/libnet80211/wl_chm.S
Normal file
|
@ -0,0 +1,499 @@
|
|||
|
||||
.section .text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
|
||||
# Function @ .text+0x4
|
||||
.balign 4
|
||||
.global sdk_chm_get_current_channel
|
||||
.type sdk_chm_get_current_channel, @function
|
||||
sdk_chm_get_current_channel:
|
||||
movi a2, .Ldata001 # 4: 21ffff
|
||||
l32i a2, a2, 60 /* [.Ldata009] */ # 7: 28f2
|
||||
ret /* [.Ldata009] */ # 9: 0df0
|
||||
|
||||
.section .bss, "aw", @nobits
|
||||
|
||||
.Ldata001: .word 0x00000000 # 0: 00000000
|
||||
.Ldata002: .word 0x00000000 # 4: 00000000
|
||||
.Ldata003: .word 0x00000000 # 8: 00000000
|
||||
.Ldata004: .word 0x00000000 # c: 00000000
|
||||
.Ldata005: .word 0x00000000 # 10: 00000000
|
||||
.Ldata006: .word 0x00000000 # 14: 00000000
|
||||
.Ldata007: .word 0x00000000 # 18: 00000000
|
||||
.Ldata008: .word 0x00000000 # 1c: 00000000
|
||||
.Label001: .space 28
|
||||
.Ldata009: .word 0x00000000 # 3c: 00000000
|
||||
.Ldata010: .byte 0x00
|
||||
.Ldata011: .byte 0x00
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00feef3f
|
||||
# 4: 00000000
|
||||
# 8: 00000000
|
||||
# c: 00000000
|
||||
# 10: 00000000
|
||||
# 14: 20000000
|
||||
# 18: 48020000
|
||||
# 1c: 00000000
|
||||
# 20: 00000000
|
||||
# 24: 00000000
|
||||
# 28: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x2c
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_chm_init
|
||||
.type sdk_chm_init, @function
|
||||
sdk_chm_init:
|
||||
movi a4, -32 /* 0xffffffe0 */ # 2c: 6c04
|
||||
movi a5, sdk_NMIIrqIsOn # 2e: 51f7ff
|
||||
movi a3, sdk_g_ic+0x180 # 31: 31f4ff
|
||||
movi a6, .Ldata001 # 34: 61f5ff
|
||||
addi sp, sp, -32 /* (local0) */ # 37: 12c1e0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 3a: c911
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 3c: d921
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 3e: 0901
|
||||
movi a13, 0x3feffe00 # 40: d1f0ff
|
||||
movi a0, 0 /* 0x00000000 */ # 43: 0c00
|
||||
s32i a2, a6, 0 /* arg0 -> [.Ldata001] */ # 45: 2906
|
||||
mov a12, a2 /* arg0 */ # 47: cd02
|
||||
l8ui a6, a3, 96 /* [sdk_g_ic+0x1e0] */ # 49: 620360
|
||||
l8ui a2, a5, 0 /* [sdk_NMIIrqIsOn] */ # 4c: 220500
|
||||
addmi a3, a3, 256 /* sdk_g_ic+0x280 */ # 4f: 32d301
|
||||
l8ui a3, a3, 141 /* [sdk_g_ic+0x30d] */ # 52: 32038d
|
||||
addi a6, a6, -1 /* [sdk_g_ic+0x1e0]-0x1 */ # 55: 0b66
|
||||
addi a3, a3, -1 /* [sdk_g_ic+0x30d]-0x1 */ # 57: 0b33
|
||||
extui a3, a3, 0, 8 # 59: 303074
|
||||
movnez a0, a3, a6 # 5c: 600393
|
||||
s32i a0, sp, 16 /* a0 -> [(local4)] */ # 5f: 0941
|
||||
bnez a2, .Lbr002 # 61: ec32
|
||||
call0 vPortEnterCritical # 63: 01eeffc0
|
||||
# 67: 0000
|
||||
movi a4, -32 /* 0xffffffe0 */ # 69: 6c04
|
||||
.Lbr001: memw # 6b: c02000
|
||||
l32i a9, a13, 0x200 /* [0x3ff00000] */ # 6e: 922d80
|
||||
and a9, a9, a4 # 71: 409910
|
||||
memw # 74: c02000
|
||||
s32i a9, a13, 0x200 /* a9 -> [0x3ff00000] */ # 77: 926d80
|
||||
memw # 7a: c02000
|
||||
l32i a8, a13, 0x200 /* [0x3ff00000] */ # 7d: 822d80
|
||||
bbsi a8, 0, .Lbr001 # 80: 07e8e7
|
||||
l32i a0, sp, 16 /* [(local4)] */ # 83: 0841
|
||||
movi a5, sdk_NMIIrqIsOn # 85: 51e2ff
|
||||
.Lbr002: movi a2, 132 /* 0x00000084 */ # 88: 22a084
|
||||
addx2 a0, a0, a0 # 8b: 000090
|
||||
addx4 a0, a0, a12 # 8e: c000a0
|
||||
add a0, a0, a2 # 91: 2a00
|
||||
s32i a0, a12, 0x14c /* a0 -> [arg0+0x14c] */ # 93: 026c53
|
||||
l8ui a10, a5, 0 /* [sdk_NMIIrqIsOn] */ # 96: a20500
|
||||
s32i a0, sp, 12 /* a0 -> [(local3)] */ # 99: 0931
|
||||
bnez a10, .Lbr003 # 9b: dcaa
|
||||
memw # 9d: c02000
|
||||
l32i a2, a13, 0x200 /* [0x3ff00000] */ # a0: 222d80
|
||||
movi a3, 1 /* 0x00000001 */ # a3: 0c13
|
||||
and a2, a2, a4 # a5: 402210
|
||||
or a2, a2, a3 # a8: 302220
|
||||
memw # ab: c02000
|
||||
s32i a2, a13, 0x200 /* a2 -> [0x3ff00000] */ # ae: 226d80
|
||||
call0 vPortExitCritical # b1: 01dbffc0
|
||||
# b5: 0000
|
||||
l32i a0, sp, 12 /* [(local3)] */ # b7: 0831
|
||||
.Lbr003: mov a2, a0 # b9: 2d00
|
||||
call0 sdk_chm_set_current_channel # bb: 01daffc0
|
||||
# bf: 0000
|
||||
movi a2, .Label001 # c1: 21d4ff
|
||||
movi a3, .Lfunc002 # c4: 31d5ff
|
||||
movi a4, 0 /* 0x00000000 */ # c7: 0c04
|
||||
call0 sdk_os_timer_setfn # c9: 01d7ffc0
|
||||
# cd: 0000
|
||||
l32i a12, sp, 4 /* [(local1)] */ # cf: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # d1: d821
|
||||
l32i a0, sp, 0 /* [(local0)] */ # d3: 0801
|
||||
addi sp, sp, 32 /* (top of frame) */ # d5: 12c120
|
||||
ret # d8: 0df0
|
||||
|
||||
.literal_position # dc: 00000000
|
||||
# e0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xe4
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word @ -0x8
|
||||
# (local3): word @ -0x4
|
||||
.balign 4
|
||||
.global sdk_chm_acquire_lock
|
||||
.type sdk_chm_acquire_lock, @function
|
||||
sdk_chm_acquire_lock:
|
||||
addi sp, sp, -16 /* (local0) */ # e4: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # e7: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # e9: 0901
|
||||
mov a12, a2 /* arg0 */ # eb: cd02
|
||||
movi a0, .Ldata001 # ed: 01fbff
|
||||
mov a2, a4 /* arg2 */ # f0: 2d04
|
||||
l8ui a4, a0, 64 /* [.Ldata010] */ # f2: 420040
|
||||
l8ui a5, a0, 65 /* [.Ldata011] */ # f5: 520041
|
||||
beqz a4, .Lbr005 # f8: 9c44
|
||||
s32i a2, sp, 12 /* arg2 -> [(local3)] */ # fa: 2931
|
||||
s32i a3, sp, 8 /* arg1 -> [(local2)] */ # fc: 3921
|
||||
bgeu a5, a12, .Lbr004 # fe: c7b504
|
||||
movi a2, 3 /* 0x00000003 */ # 101: 0c32
|
||||
j .Lbr006 # 103: c60500
|
||||
.Lbr004: call0 sdk_chm_cancel_op # 106: 050000
|
||||
l32i a2, sp, 12 /* [(local3)] */ # 109: 2831
|
||||
movi a0, .Ldata001 # 10b: 01f5ff
|
||||
l32i a3, sp, 8 /* [(local2)] */ # 10e: 3821
|
||||
.Lbr005: s8i a12, a0, 65 /* arg0 -> [.Ldata011] */ # 110: c24041
|
||||
s32i a3, a0, 24 /* a3 -> [.Ldata007] */ # 113: 3960
|
||||
s32i a2, a0, 28 /* a2 -> [.Ldata008] */ # 115: 2970
|
||||
movi a6, 1 /* 0x00000001 */ # 117: 0c16
|
||||
movi a2, 0 /* 0x00000000 */ # 119: 0c02
|
||||
s8i a6, a0, 64 /* 0x01 -> [.Ldata010] */ # 11b: 624040
|
||||
.Lbr006: l32i a12, sp, 4 /* [(local1)] */ # 11e: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 120: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 122: 12c110
|
||||
ret # 125: 0df0
|
||||
|
||||
.literal_position # 128: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x12c
|
||||
.balign 4
|
||||
.global sdk_chm_release_lock
|
||||
.type sdk_chm_release_lock, @function
|
||||
sdk_chm_release_lock:
|
||||
movi a3, .Ldata001 # 12c: 31ffff
|
||||
movi a2, 0 /* 0x00000000 */ # 12f: 0c02
|
||||
s32i a2, a3, 28 /* 0x00000000 -> [.Ldata008] */ # 131: 2973
|
||||
s32i a2, a3, 24 /* 0x00000000 -> [.Ldata007] */ # 133: 2963
|
||||
s8i a2, a3, 64 /* 0x00 -> [.Ldata010] */ # 135: 224340
|
||||
s8i a2, a3, 65 /* 0x00 -> [.Ldata011] */ # 138: 224341
|
||||
ret /* 0x00000000 */ # 13b: 0df0
|
||||
|
||||
.literal_position # 140: 00000000
|
||||
# 144: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x148
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_chm_start_op
|
||||
.type sdk_chm_start_op, @function
|
||||
sdk_chm_start_op:
|
||||
addi sp, sp, -16 /* (local0) */ # 148: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 14b: 0901
|
||||
movi a0, .Ldata001 # 14d: 01fcff
|
||||
l32i a7, a0, 4 /* [.Ldata002] */ # 150: 7810
|
||||
beqz a7, .Lbr010 # 152: 8cf7
|
||||
movi a2, 3 /* 0x00000003 */ # 154: 0c32
|
||||
j .Lbr009 # 156: 060100
|
||||
.Lbr007: call0 .Lfunc001 # 159: 450400
|
||||
.Lbr008: movi a2, 0 /* 0x00000000 */ # 15c: 0c02
|
||||
.Lbr009: l32i a0, sp, 0 /* [(local0)] */ # 15e: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 160: 12c110
|
||||
ret # 163: 0df0
|
||||
.Lbr010: s32i a2, a0, 4 /* arg0 -> [.Ldata002] */ # 165: 2910
|
||||
s32i a4, a0, 16 /* arg2 -> [.Ldata005] */ # 167: 4940
|
||||
movi a8, sdk_g_ic # 169: 81f6ff
|
||||
s32i a5, a0, 20 /* arg3 -> [.Ldata006] */ # 16c: 5950
|
||||
l32i a8, a8, 0 /* [sdk_g_ic] */ # 16e: 8808
|
||||
s32i a3, a0, 8 /* arg1 -> [.Ldata003] */ # 170: 3920
|
||||
l32i a8, a8, 0 /* [[sdk_g_ic]] */ # 172: 8808
|
||||
s32i a6, a0, 12 /* arg4 -> [.Ldata004] */ # 174: 6930
|
||||
bbci a8, 1, .Lbr007 # 176: 1768df
|
||||
call0 .Lfunc001 # 179: 450200
|
||||
j .Lbr008 # 17c: 06f7ff
|
||||
|
||||
.literal_position # 180: 00000000
|
||||
# 184: 04000000
|
||||
# 188: 20000000
|
||||
# 18c: 00000000
|
||||
# 190: 00000000
|
||||
# 194: 00000000
|
||||
# 198: 00000000
|
||||
# 19c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x1a0
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word @ -0x8
|
||||
# (local3): word @ -0x4
|
||||
.balign 4
|
||||
.Lfunc001: addi sp, sp, -16 /* (local0) */ # 1a0: 12c1f0
|
||||
s32i a13, sp, 12 /* a13 -> [(local3)] */ # 1a3: d931
|
||||
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 1a5: c921
|
||||
movi a13, .Ldata001 # 1a7: d1f6ff
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 1aa: 0911
|
||||
l32i a12, a13, 16 /* [.Ldata005] */ # 1ac: c84d
|
||||
l32i a0, a13, 12 /* [.Ldata004] */ # 1ae: 083d
|
||||
s32i a0, sp, 0 /* [.Ldata004] -> [(local0)] */ # 1b0: 0901
|
||||
call0 sdk_chm_get_current_channel # 1b2: 01f6ffc0
|
||||
# 1b6: 0000
|
||||
mov a3, a2 # 1b8: 3d02
|
||||
l32i a2, a13, 4 /* [.Ldata002] */ # 1ba: 281d
|
||||
l16ui a3, a3, 4 # 1bc: 321302
|
||||
l16ui a4, a2, 4 /* [[.Ldata002]+0x4] */ # 1bf: 421202
|
||||
beq a3, a4, .Lbr011 # 1c2: 471305
|
||||
call0 sdk_chm_set_current_channel # 1c5: 01f2ffc0
|
||||
# 1c9: 0000
|
||||
.Lbr011: beqz a12, .Lbr012 # 1cb: 8c5c
|
||||
l32i a2, sp, 0 /* [(local0)] */ # 1cd: 2801
|
||||
movi a3, 0 /* 0x00000000 */ # 1cf: 0c03
|
||||
callx0 a12 /* [.Ldata005] */ # 1d1: c00c00
|
||||
.Lbr012: l32i a4, a13, 8 /* [.Ldata003] */ # 1d4: 482d
|
||||
bnez a4, .Lbr013 # 1d6: ccc4
|
||||
movi a2, .Ldata002 # 1d8: 21ebff
|
||||
movi a3, 20 /* 0x00000014 */ # 1db: 1c43
|
||||
call0 bzero # 1dd: 01edffc0
|
||||
# 1e1: 0000
|
||||
j .Lbr014 # 1e3: 860500
|
||||
.Lbr013: movi a12, .Label001 # 1e6: c1e8ff
|
||||
mov a2, a12 /* .Label001 */ # 1e9: 2d0c
|
||||
call0 sdk_os_timer_disarm # 1eb: 01ebffc0
|
||||
# 1ef: 0000
|
||||
mov a2, a12 /* .Label001 */ # 1f1: 2d0c
|
||||
l32i a3, a13, 8 /* [.Ldata003] */ # 1f3: 382d
|
||||
movi a4, 0 /* 0x00000000 */ # 1f5: 0c04
|
||||
call0 sdk_os_timer_arm # 1f7: 01e9ffc0
|
||||
# 1fb: 0000
|
||||
.Lbr014: l32i a12, sp, 8 /* [(local2)] */ # 1fd: c821
|
||||
l32i a13, sp, 12 /* [(local3)] */ # 1ff: d831
|
||||
l32i a0, sp, 4 /* [(local1)] */ # 201: 0811
|
||||
addi sp, sp, 16 /* (top of frame) */ # 203: 12c110
|
||||
ret # 206: 0df0
|
||||
|
||||
.literal_position # 208: 00000000
|
||||
# 20c: 00000000
|
||||
# 210: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x214
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global sdk_chm_end_op
|
||||
.type sdk_chm_end_op, @function
|
||||
sdk_chm_end_op:
|
||||
movi a3, -4 /* 0xfffffffc */ # 214: 7cc3
|
||||
addi sp, sp, -16 /* (local0) */ # 216: 12c1f0
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 219: 0911
|
||||
movi a0, .Ldata001 # 21b: 01fbff
|
||||
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 21e: 2901
|
||||
beq a0, a3, .Lbr015 # 220: 37101d
|
||||
mov a2, a0 /* .Ldata001 */ # 223: 2d00
|
||||
l32i a3, a2, 20 /* [.Ldata006] */ # 225: 3852
|
||||
s32i a3, sp, 8 /* [.Ldata006] -> [(local2)] */ # 227: 3921
|
||||
addi a2, a2, 4 /* .Ldata002 */ # 229: 4b22
|
||||
movi a3, 20 /* 0x00000014 */ # 22b: 1c43
|
||||
call0 bzero # 22d: 01f8ffc0
|
||||
# 231: 0000
|
||||
l32i a5, sp, 8 /* [(local2)] */ # 233: 5821
|
||||
beqz a5, .Lbr015 # 235: 8c85
|
||||
movi a2, .Ldata001 # 237: 21f5ff
|
||||
l32i a3, sp, 0 /* [(local0)] */ # 23a: 3801
|
||||
l32i a2, a2, 12 /* [.Ldata004] */ # 23c: 2832
|
||||
callx0 a5 /* [(local2)] */ # 23e: c00500
|
||||
.Lbr015: l32i a0, sp, 4 /* [(local1)] */ # 241: 0811
|
||||
addi sp, sp, 16 /* (top of frame) */ # 243: 12c110
|
||||
ret # 246: 0df0
|
||||
|
||||
# Function @ .irom0.text+0x248
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.Lfunc002: movi a2, 0 /* 0x00000000 */ # 248: 0c02
|
||||
addi sp, sp, -16 /* (local0) */ # 24a: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 24d: 0901
|
||||
call0 sdk_chm_end_op # 24f: 050000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 252: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 254: 12c110
|
||||
ret # 257: 0df0
|
||||
|
||||
.literal_position # 25c: 00000000
|
||||
# 260: 00000000
|
||||
# 264: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x268
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_chm_cancel_op
|
||||
.type sdk_chm_cancel_op, @function
|
||||
sdk_chm_cancel_op:
|
||||
addi sp, sp, -16 /* (local0) */ # 268: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 26b: 0901
|
||||
movi a0, .Ldata001 # 26d: 01fbff
|
||||
l32i a2, a0, 4 /* [.Ldata002] */ # 270: 2810
|
||||
beqz a2, .Lbr016 # 272: 9c12
|
||||
mov a2, a0 /* .Ldata001 */ # 274: 2d00
|
||||
addi a2, a2, 32 /* .Label001 */ # 276: 22c220
|
||||
call0 sdk_os_timer_disarm # 279: 01faffc0
|
||||
# 27d: 0000
|
||||
movi a2, 4 /* 0x00000004 */ # 27f: 0c42
|
||||
call0 sdk_chm_end_op # 281: 050000
|
||||
movi a0, .Ldata001 # 284: 01f7ff
|
||||
.Lbr016: l32i a5, a0, 24 /* [.Ldata007] */ # 287: 5860
|
||||
beqz a5, .Lbr017 # 289: 8c55
|
||||
movi a3, 4 /* 0x00000004 */ # 28b: 0c43
|
||||
l32i a2, a0, 28 /* [.Ldata008] */ # 28d: 2870
|
||||
callx0 a5 /* [.Ldata007] */ # 28f: c00500
|
||||
.Lbr017: l32i a0, sp, 0 /* [(local0)] */ # 292: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 294: 12c110
|
||||
ret # 297: 0df0
|
||||
|
||||
.literal_position # 29c: 00000000
|
||||
# 2a0: 00000000
|
||||
# 2a4: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x2a8
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_chm_return_home_channel
|
||||
.type sdk_chm_return_home_channel, @function
|
||||
sdk_chm_return_home_channel:
|
||||
addi sp, sp, -16 /* (local0) */ # 2a8: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 2ab: c911
|
||||
movi a12, sdk_g_ic # 2ad: c1fbff
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 2b0: 0901
|
||||
l32i a12, a12, 0x14c /* [sdk_g_ic+0x14c] */ # 2b2: c22c53
|
||||
call0 sdk_chm_get_current_channel # 2b5: 01faffc0
|
||||
# 2b9: 0000
|
||||
l16ui a0, a2, 4 # 2bb: 021202
|
||||
l16ui a2, a12, 4 /* [[sdk_g_ic+0x14c]+0x4] */ # 2be: 221c02
|
||||
beq a0, a2, .Lbr018 # 2c1: 271007
|
||||
mov a2, a12 /* [sdk_g_ic+0x14c] */ # 2c4: 2d0c
|
||||
call0 sdk_chm_set_current_channel # 2c6: 01f7ffc0
|
||||
# 2ca: 0000
|
||||
.Lbr018: l32i a12, sp, 4 /* [(local1)] */ # 2cc: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 2ce: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 2d0: 12c110
|
||||
ret # 2d3: 0df0
|
||||
|
||||
.literal_position # 2d8: 00000000
|
||||
# 2dc: 00feef3f
|
||||
# 2e0: 00000000
|
||||
# 2e4: 00000000
|
||||
# 2e8: 00000000
|
||||
# 2ec: 00000000
|
||||
# 2f0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x2f4
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global sdk_chm_set_current_channel
|
||||
.type sdk_chm_set_current_channel, @function
|
||||
sdk_chm_set_current_channel:
|
||||
movi a3, 1 /* 0x00000001 */ # 2f4: 0c13
|
||||
movi a4, 0 /* 0x00000000 */ # 2f6: 0c04
|
||||
addi sp, sp, -16 /* (local0) */ # 2f8: 12c1f0
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 2fb: d921
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 2fd: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 2ff: 0901
|
||||
mov a12, a2 /* arg0 */ # 301: cd02
|
||||
l16ui a2, a2, 4 /* [arg0+0x4] */ # 303: 221202
|
||||
call0 sdk_phy_change_channel # 306: 01f8ffc0
|
||||
# 30a: 0000
|
||||
movi a2, sdk_NMIIrqIsOn # 30c: 21f3ff
|
||||
movi a0, -32 /* 0xffffffe0 */ # 30f: 6c00
|
||||
l8ui a2, a2, 0 /* [sdk_NMIIrqIsOn] */ # 311: 220200
|
||||
movi a13, 0x3feffe00 # 314: d1f2ff
|
||||
bnez a2, .Lbr020 # 317: ec42
|
||||
call0 vPortEnterCritical # 319: 01f4ffc0
|
||||
# 31d: 0000
|
||||
movi a0, -32 /* 0xffffffe0 */ # 31f: 6c00
|
||||
.Lbr019: memw # 321: c02000
|
||||
l32i a5, a13, 0x200 /* [0x3ff00000] */ # 324: 522d80
|
||||
and a5, a5, a0 # 327: 005510
|
||||
memw # 32a: c02000
|
||||
s32i a5, a13, 0x200 /* a5 -> [0x3ff00000] */ # 32d: 526d80
|
||||
memw # 330: c02000
|
||||
l32i a4, a13, 0x200 /* [0x3ff00000] */ # 333: 422d80
|
||||
bbsi a4, 0, .Lbr019 # 336: 07e4e7
|
||||
movi a2, sdk_NMIIrqIsOn # 339: 21e9ff
|
||||
l8ui a2, a2, 0 /* [sdk_NMIIrqIsOn] */ # 33c: 220200
|
||||
.Lbr020: movi a3, .Ldata001 # 33f: 31e9ff
|
||||
s32i a12, a3, 60 /* arg0 -> [.Ldata009] */ # 342: c9f3
|
||||
bnez a2, .Lbr021 # 344: dc82
|
||||
memw # 346: c02000
|
||||
l32i a4, a13, 0x200 /* [0x3ff00000] */ # 349: 422d80
|
||||
movi a5, 1 /* 0x00000001 */ # 34c: 0c15
|
||||
and a4, a4, a0 # 34e: 004410
|
||||
or a4, a4, a5 # 351: 504420
|
||||
memw # 354: c02000
|
||||
s32i a4, a13, 0x200 /* a4 -> [0x3ff00000] */ # 357: 426d80
|
||||
call0 vPortExitCritical # 35a: 01e5ffc0
|
||||
# 35e: 0000
|
||||
.Lbr021: l32i a12, sp, 4 /* [(local1)] */ # 360: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 362: d821
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 364: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 366: 12c110
|
||||
ret # 369: 0df0
|
||||
|
||||
.literal_position # 36c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x370
|
||||
.balign 4
|
||||
.global sdk_chm_freq2index
|
||||
.type sdk_chm_freq2index, @function
|
||||
sdk_chm_freq2index:
|
||||
movi a5, 0 /* 0x00000000 */ # 370: 0c05
|
||||
movi a6, .Ldata001 # 372: 61feff
|
||||
movi a7, 14 /* 0x0000000e */ # 375: 0ce7
|
||||
l32i a6, a6, 0 /* [.Ldata001] */ # 377: 6806
|
||||
.Lbr022: addx2 a8, a5, a5 # 379: 508590
|
||||
addx4 a8, a8, a6 # 37c: 6088a0
|
||||
l16ui a8, a8, 136 # 37f: 821844
|
||||
bne a8, a2, .Lbr023 # 382: 279803
|
||||
mov a2, a5 # 385: 2d05
|
||||
ret # 387: 0df0
|
||||
.Lbr023: addi a5, a5, 1 # 389: 1b55
|
||||
extui a5, a5, 0, 8 # 38b: 505074
|
||||
bne a5, a7, .Lbr022 # 38e: 7795e7
|
||||
movi a2, 255 /* 0x000000ff */ # 391: 22a0ff
|
||||
ret /* 0x000000ff */ # 394: 0df0
|
||||
|
||||
.literal_position # 398: 00000000
|
||||
# 39c: 00000000
|
||||
# 3a0: 00000000
|
||||
# 3a4: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x3a8
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_chm_check_same_channel
|
||||
.type sdk_chm_check_same_channel, @function
|
||||
sdk_chm_check_same_channel:
|
||||
movi a2, sdk_g_ic # 3a8: 21fcff
|
||||
addi sp, sp, -16 /* (local0) */ # 3ab: 12c1f0
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 3ae: 0911
|
||||
l32i a2, a2, 0x14c /* [sdk_g_ic+0x14c] */ # 3b0: 222253
|
||||
call0 sdk_ieee80211_chan2ieee # 3b3: 01faffc0
|
||||
# 3b7: 0000
|
||||
s32i a2, sp, 0 /* a2 -> [(local0)] */ # 3b9: 2901
|
||||
call0 sdk_chm_get_current_channel # 3bb: 01f9ffc0
|
||||
# 3bf: 0000
|
||||
call0 sdk_ieee80211_chan2ieee # 3c1: 01f8ffc0
|
||||
# 3c5: 0000
|
||||
movi a3, 0 /* 0x00000000 */ # 3c7: 0c03
|
||||
l32i a4, sp, 0 /* [(local0)] */ # 3c9: 4801
|
||||
l32i a0, sp, 4 /* [(local1)] */ # 3cb: 0811
|
||||
sub a4, a4, a2 # 3cd: 2044c0
|
||||
addi sp, sp, 16 /* (top of frame) */ # 3d0: 12c110
|
||||
movi a2, 1 /* 0x00000001 */ # 3d3: 0c12
|
||||
movnez a2, a3, a4 # 3d5: 402393
|
||||
ret # 3d8: 0df0
|
2574
binary_sdk/libnet80211/wl_cnx.S
Normal file
2574
binary_sdk/libnet80211/wl_cnx.S
Normal file
File diff suppressed because it is too large
Load diff
443
binary_sdk/libnet80211_stage1/ieee80211.S
Normal file
443
binary_sdk/libnet80211_stage1/ieee80211.S
Normal file
|
@ -0,0 +1,443 @@
|
|||
|
||||
.section .bss, "aw", @nobits
|
||||
|
||||
.global g_ic
|
||||
.type g_ic, @object
|
||||
g_ic: .space 16
|
||||
.Ldata001: .word 0x00000000 # 10: 00000000
|
||||
.Ldata002: .word 0x00000000 # 14: 00000000
|
||||
|
||||
# NOTE: 1328 non-alignment zero bytes skipped.
|
||||
|
||||
.skip 1328
|
||||
.global xieee80211Queue
|
||||
.type xieee80211Queue, @object
|
||||
xieee80211Queue:
|
||||
.word 0x00000000 # 548: 00000000
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 6c090000
|
||||
# 4: b4090000
|
||||
# 8: b4090000
|
||||
# c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x10
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word @ -0x10
|
||||
# (local5): word @ -0xc
|
||||
# (local6): word[2] @ -0x8
|
||||
.balign 4
|
||||
.Lfunc001: movi a5, 131 /* 0x00000083 */ # 10: 52a083
|
||||
movi a6, 0x000009b4 # 13: 61fcff
|
||||
addi sp, sp, -32 /* (local0) */ # 16: 12c1e0
|
||||
s32i a2, sp, 24 /* arg0 -> [(local6)] */ # 19: 2961
|
||||
s32i a15, sp, 16 /* a15 -> [(local4)] */ # 1b: f941
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1d: 0901
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 1f: c911
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 21: d921
|
||||
s32i a14, sp, 12 /* a14 -> [(local3)] */ # 23: e931
|
||||
movi a13, 0x0000096c # 25: d1f6ff
|
||||
movi a14, 0 /* 0x00000000 */ # 28: 0c0e
|
||||
mov a12, a2 /* arg0 */ # 2a: cd02
|
||||
movi a0, 156 /* 0x0000009c */ # 2c: 02a09c
|
||||
mov a15, a2 /* arg0 */ # 2f: fd02
|
||||
add a0, a15, a0 /* arg0+0x9c */ # 31: 0a0f
|
||||
movi a2, 14 /* 0x0000000e */ # 33: 0ce2
|
||||
s32i a2, a15, 128 /* 0x0000000e -> [arg0+0x80] */ # 35: 226f20
|
||||
.Lbr001: s32i a5, a12, 132 # 38: 526c21
|
||||
l8ui a3, a12, 138 # 3b: 320c8a
|
||||
s32i a0, sp, 20 /* a0 -> [(local5)] */ # 3e: 0951
|
||||
bltu a0, a12, .Lbr002 # 40: c73008
|
||||
s16i a13, a12, 136 # 43: d25c44
|
||||
bne a12, a0, .Lbr002 # 46: 079c02
|
||||
s16i a6, a12, 136 # 49: 625c44
|
||||
.Lbr002: bnez a3, .Lbr003 # 4c: dc23
|
||||
l16ui a2, a12, 136 # 4e: 221c44
|
||||
movi a3, 131 /* 0x00000083 */ # 51: 32a083
|
||||
call0 ieee80211_mhz2ieee # 54: 050000
|
||||
l32i a0, sp, 20 /* [(local5)] */ # 57: 0851
|
||||
movi a5, 131 /* 0x00000083 */ # 59: 52a083
|
||||
movi a6, 0x000009b4 # 5c: 61ebff
|
||||
s8i a2, a12, 138 # 5f: 224c8a
|
||||
.Lbr003: addi a13, a13, 5 # 62: 5bdd
|
||||
l8ui a4, a12, 139 # 64: 420c8b
|
||||
addi a14, a14, 1 # 67: 1bee
|
||||
bnez a4, .Lbr004 # 69: ccd4
|
||||
l8ui a7, a12, 141 # 6b: 720c8d
|
||||
slli a7, a7, 24 # 6e: 807701
|
||||
srai a7, a7, 24 # 71: 707831
|
||||
slli a7, a7, 1 # 74: f07711
|
||||
s8i a7, a12, 139 # 77: 724c8b
|
||||
.Lbr004: l32i a8, a15, 128 /* [arg0+0x80] */ # 7a: 822f20
|
||||
addi a12, a12, 12 # 7d: cbcc
|
||||
blt a14, a8, .Lbr001 # 7f: 872eb5
|
||||
movi a2, 132 /* 0x00000084 */ # 82: 22a084
|
||||
add a2, a15, a2 /* arg0+0x84 */ # 85: 2a2f
|
||||
call0 ieee80211_get_ratetable # 87: 01e1ffc0
|
||||
# 8b: 0000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 8d: 0801
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 8f: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 91: d821
|
||||
s32i a2, a15, 0x150 /* a2 -> [arg0+0x150] */ # 93: 226f54
|
||||
l32i a14, sp, 12 /* [(local3)] */ # 96: e831
|
||||
l32i a15, sp, 16 /* [(local4)] */ # 98: f841
|
||||
addi sp, sp, 32 /* (top of frame) */ # 9a: 12c120
|
||||
ret # 9d: 0df0
|
||||
|
||||
.literal_position # a0: 00000000
|
||||
# a4: 00000000
|
||||
# a8: 00000000
|
||||
# ac: 00000000
|
||||
# b0: 00000000
|
||||
# b4: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xb8
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global ieee80211_ifattach
|
||||
.type ieee80211_ifattach, @function
|
||||
ieee80211_ifattach:
|
||||
addi sp, sp, -16 /* (local0) */ # b8: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # bb: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # bd: 0901
|
||||
mov a12, a2 /* arg0 */ # bf: cd02
|
||||
call0 .Lfunc001 # c1: c5f4ff
|
||||
mov a2, a12 /* arg0 */ # c4: 2d0c
|
||||
movi a0, 100 /* 0x00000064 */ # c6: 02a064
|
||||
s16i a0, a12, 40 /* 0x0064 -> [arg0+0x28] */ # c9: 025c14
|
||||
call0 ieee80211_crypto_attach # cc: 01f6ffc0
|
||||
# d0: 0000
|
||||
mov a2, a12 /* arg0 */ # d2: 2d0c
|
||||
call0 ieee80211_proto_attach # d4: 01f5ffc0
|
||||
# d8: 0000
|
||||
movi a3, 0 /* 0x00000000 */ # da: 0c03
|
||||
addmi a4, a12, 1280 /* arg0+0x500 */ # dc: 42dc05
|
||||
l32i a2, a4, 28 /* [arg0+0x51c] */ # df: 2874
|
||||
s32i a3, a4, 12 /* 0x00000000 -> [arg0+0x50c] */ # e1: 3934
|
||||
bnei a2, 3, .Lbr005 # e3: 663207
|
||||
mov a2, a12 /* arg0 */ # e6: 2d0c
|
||||
call0 ieee80211_ht_attach # e8: 01f1ffc0
|
||||
# ec: 0000
|
||||
.Lbr005: movi a2, g_ic # ee: 21ecff
|
||||
call0 chm_init # f1: 01efffc0
|
||||
# f5: 0000
|
||||
mov a2, a12 /* arg0 */ # f7: 2d0c
|
||||
call0 ieee80211_scan_attach # f9: 01eeffc0
|
||||
# fd: 0000
|
||||
l32i a12, sp, 4 /* [(local1)] */ # ff: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 101: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 103: 12c110
|
||||
ret # 106: 0df0
|
||||
|
||||
.literal_position # 108: b4090000
|
||||
# 10c: b3090000
|
||||
# 110: 99f6ffff
|
||||
# 114: 30f6ffff
|
||||
# 118: 00000000
|
||||
# 11c: 00000000
|
||||
# 120: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x124
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global ieee80211_mhz2ieee
|
||||
.type ieee80211_mhz2ieee, @function
|
||||
ieee80211_mhz2ieee:
|
||||
movi a6, 0x000009b3 # 124: 61faff
|
||||
movi a7, 0xfffff699 # 127: 71faff
|
||||
addi sp, sp, -16 /* (local0) */ # 12a: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 12d: 0901
|
||||
movi a0, 0x000009b4 # 12f: 01f6ff
|
||||
bbci a3, 7, .Lbr006 # 132: 776312
|
||||
beq a2, a0, .Lbr010 # 135: 07123d
|
||||
bltu a6, a2, .Lbr009 # 138: 273628
|
||||
add a2, a2, a7 /* arg0+0xfffff699 */ # 13b: 7a22
|
||||
movi a3, 5 /* 0x00000005 */ # 13d: 0c53
|
||||
call0 __divsi3 # 13f: 01f6ffc0
|
||||
# 143: 0000
|
||||
j .Lbr008 # 145: 060500
|
||||
.Lbr006: beq a2, a0, .Lbr010 # 148: 07122a
|
||||
bltu a6, a2, .Lbr007 # 14b: 27360c
|
||||
add a2, a2, a7 /* arg0+0xfffff699 */ # 14e: 7a22
|
||||
movi a3, 5 /* 0x00000005 */ # 150: 0c53
|
||||
call0 __divsi3 # 152: 01f2ffc0
|
||||
# 156: 0000
|
||||
j .Lbr008 # 158: 460000
|
||||
.Lbr007: movi a2, -1 /* 0xffffffff */ # 15b: 7cf2
|
||||
.Lbr008: l32i a0, sp, 0 /* [(local0)] */ # 15d: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 15f: 12c110
|
||||
ret # 162: 0df0
|
||||
.Lbr009: movi a0, 0xfffff630 # 164: 01ecff
|
||||
movi a3, 20 /* 0x00000014 */ # 167: 1c43
|
||||
add a2, a2, a0 /* arg0+0xfffff630 */ # 169: 0a22
|
||||
call0 __udivsi3 # 16b: 01edffc0
|
||||
# 16f: 0000
|
||||
addi a2, a2, 15 # 171: fb22
|
||||
j .Lbr008 # 173: 86f9ff
|
||||
.Lbr010: movi a2, 14 /* 0x0000000e */ # 176: 0ce2
|
||||
j .Lbr008 # 178: 46f8ff
|
||||
|
||||
.literal_position # 17c: ffff0000
|
||||
|
||||
# Function @ .irom0.text+0x180
|
||||
.balign 4
|
||||
.global ieee80211_chan2ieee
|
||||
.type ieee80211_chan2ieee, @function
|
||||
ieee80211_chan2ieee:
|
||||
bnez a2, .Lbr011 # 180: cc22
|
||||
movi a2, 0 /* 0x00000000 */ # 182: 0c02
|
||||
ret /* 0x00000000 */ # 184: 0df0
|
||||
.Lbr011: movi a5, 0x0000ffff # 186: 51fdff
|
||||
beq a2, a5, .Lbr012 # 189: 571204
|
||||
l8ui a2, a2, 6 /* [arg0+0x6] */ # 18c: 220206
|
||||
ret /* [arg0+0x6] */ # 18f: 0df0
|
||||
.Lbr012: mov a2, a5 /* 0x0000ffff */ # 191: 2d05
|
||||
ret /* 0x0000ffff */ # 193: 0df0
|
||||
|
||||
.literal_position # 198: 67090000
|
||||
# 19c: a4080000
|
||||
# 1a0: 88130000
|
||||
# 1a4: b4090000
|
||||
|
||||
# Function @ .irom0.text+0x1a8
|
||||
.balign 4
|
||||
.global ieee80211_ieee2mhz
|
||||
.type ieee80211_ieee2mhz, @function
|
||||
ieee80211_ieee2mhz:
|
||||
movi a7, 14 /* 0x0000000e */ # 1a8: 0ce7
|
||||
movi a8, 13 /* 0x0000000d */ # 1aa: 0cd8
|
||||
movi a6, 0x00000967 # 1ac: 61fbff
|
||||
movi a9, 0x000008a4 # 1af: 91fbff
|
||||
bbci a3, 7, .Lbr014 # 1b2: 77630d
|
||||
beq a2, a7, .Lbr016 # 1b5: 77121f
|
||||
bgeu a8, a2, .Lbr015 # 1b8: 27b815
|
||||
.Lbr013: addx4 a2, a2, a2 # 1bb: 2022a0
|
||||
addx4 a2, a2, a9 # 1be: 9022a0
|
||||
ret # 1c1: 0df0
|
||||
.Lbr014: beq a2, a7, .Lbr016 # 1c3: 771211
|
||||
bgeu a8, a2, .Lbr015 # 1c6: 27b807
|
||||
movi a3, 26 /* 0x0000001a */ # 1c9: 1ca3
|
||||
bgeu a3, a2, .Lbr013 # 1cb: 27b3ec
|
||||
movi a6, 0x00001388 # 1ce: 61f4ff
|
||||
.Lbr015: addx4 a2, a2, a2 # 1d1: 2022a0
|
||||
add a2, a2, a6 # 1d4: 6a22
|
||||
ret # 1d6: 0df0
|
||||
.Lbr016: movi a2, 0x000009b4 # 1d8: 21f3ff
|
||||
ret /* 0x000009b4 */ # 1db: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x1e0
|
||||
.balign 4
|
||||
.global ieee80211_find_channel
|
||||
.type ieee80211_find_channel, @function
|
||||
ieee80211_find_channel:
|
||||
l32i a6, a2, 128 /* [arg0+0x80] */ # 1e0: 622220
|
||||
blti a6, 1, .Lbr019 # 1e3: a6161d
|
||||
addx2 a7, a6, a6 # 1e6: 607690
|
||||
addx4 a7, a7, a2 # 1e9: 2077a0
|
||||
.Lbr017: l16ui a8, a2, 136 # 1ec: 821244
|
||||
l32i a9, a2, 132 # 1ef: 922221
|
||||
bne a3, a8, .Lbr018 # 1f2: 879309
|
||||
bnone a9, a4, .Lbr018 # 1f5: 470906
|
||||
movi a10, 132 /* 0x00000084 */ # 1f8: a2a084
|
||||
add a2, a2, a10 # 1fb: aa22
|
||||
ret # 1fd: 0df0
|
||||
.Lbr018: addi a2, a2, 12 # 1ff: cb22
|
||||
bne a2, a7, .Lbr017 # 201: 7792e7
|
||||
.Lbr019: movi a2, 0 /* 0x00000000 */ # 204: 0c02
|
||||
ret /* 0x00000000 */ # 206: 0df0
|
||||
|
||||
# Function @ .irom0.text+0x208
|
||||
.balign 4
|
||||
.global ieee80211_find_channel_byieee
|
||||
.type ieee80211_find_channel_byieee, @function
|
||||
ieee80211_find_channel_byieee:
|
||||
l32i a6, a2, 128 /* [arg0+0x80] */ # 208: 622220
|
||||
blti a6, 1, .Lbr022 # 20b: a6161d
|
||||
addx2 a7, a6, a6 # 20e: 607690
|
||||
addx4 a7, a7, a2 # 211: 2077a0
|
||||
.Lbr020: l8ui a8, a2, 138 # 214: 82028a
|
||||
l32i a9, a2, 132 # 217: 922221
|
||||
bne a3, a8, .Lbr021 # 21a: 879309
|
||||
bnone a9, a4, .Lbr021 # 21d: 470906
|
||||
movi a10, 132 /* 0x00000084 */ # 220: a2a084
|
||||
add a2, a2, a10 # 223: aa22
|
||||
ret # 225: 0df0
|
||||
.Lbr021: addi a2, a2, 12 # 227: cb22
|
||||
bne a2, a7, .Lbr020 # 229: 7792e7
|
||||
.Lbr022: movi a2, 0 /* 0x00000000 */ # 22c: 0c02
|
||||
ret /* 0x00000000 */ # 22e: 0df0
|
||||
|
||||
.literal_position # 230: 00000000
|
||||
# 234: 10000000
|
||||
# 238: 00000000
|
||||
# 23c: 14000000
|
||||
# 240: 00000000
|
||||
# 244: 00000000
|
||||
# 248: 00000000
|
||||
# 24c: 34000000
|
||||
# 250: 3c000000
|
||||
# 254: 00000000
|
||||
# 258: 40000000
|
||||
# 25c: 00000000
|
||||
# 260: 14000000
|
||||
# 264: 34000000
|
||||
# 268: 08000000
|
||||
# 26c: 48000000
|
||||
# 270: 00000000
|
||||
# 274: 00000000
|
||||
# 278: 00000000
|
||||
# 27c: 00000000
|
||||
# 280: 00000000
|
||||
# 284: 00000000
|
||||
# 288: 00000000
|
||||
# 28c: 00000000
|
||||
# 290: 00000000
|
||||
# 294: 00000000
|
||||
# 298: 00000000
|
||||
# 29c: 00000000
|
||||
# 2a0: 00000000
|
||||
# 2a4: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x2a8
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x20
|
||||
# (local1): word @ -0x10
|
||||
# (local2): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global wifi_mode_set
|
||||
.type wifi_mode_set, @function
|
||||
wifi_mode_set:
|
||||
addi sp, sp, -32 /* (local0) */ # 2a8: 12c1e0
|
||||
s32i a12, sp, 20 /* a12 -> [(local2)] */ # 2ab: c951
|
||||
s32i a0, sp, 16 /* a0 -> [(local1)] */ # 2ad: 0941
|
||||
mov a12, a2 /* arg0 */ # 2af: cd02
|
||||
movi a2, .Lstr001 # 2b1: 21dfff
|
||||
call0 printf # 2b4: 01efffc0
|
||||
# 2b8: 0000
|
||||
beqz a12, .Lbr026 # 2ba: 164c0d
|
||||
beqi a12, 1, .Lbr023 # 2bd: 261c08
|
||||
beqi a12, 2, .Lbr025 # 2c0: 262c72
|
||||
addi a0, a12, -3 /* arg0-0x3 */ # 2c3: 02ccfd
|
||||
bnez a0, .Lbr027 # 2c6: 56100d
|
||||
.Lbr023: movi a2, .Label001 # 2c9: 21daff
|
||||
call0 printf # 2cc: 01eaffc0
|
||||
# 2d0: 0000
|
||||
movi a2, info # 2d2: 21d9ff
|
||||
l8ui a7, a2, 34 /* [info+0x22] */ # 2d5: 720222
|
||||
l8ui a6, a2, 33 /* [info+0x21] */ # 2d8: 620221
|
||||
l8ui a5, a2, 32 /* [info+0x20] */ # 2db: 520220
|
||||
l8ui a4, a2, 31 /* [info+0x1f] */ # 2de: 42021f
|
||||
l8ui a3, a2, 30 /* [info+0x1e] */ # 2e1: 32021e
|
||||
l8ui a2, a2, 35 /* [info+0x23] */ # 2e4: 220223
|
||||
s32i a2, sp, 0 /* [info+0x23] -> [(local0)] */ # 2e7: 2901
|
||||
movi a2, .Lstr003 # 2e9: 21d4ff
|
||||
call0 printf # 2ec: 01e3ffc0
|
||||
# 2f0: 0000
|
||||
movi a3, g_ic # 2f2: 31d3ff
|
||||
l32i a3, a3, 16 /* [.Ldata001] */ # 2f5: 3843
|
||||
bnez a3, .Lbr024 # 2f7: ecf3
|
||||
movi a2, 648 /* 0x00000288 */ # 2f9: 22a288
|
||||
call0 zalloc # 2fc: 01e0ffc0
|
||||
# 300: 0000
|
||||
movi a5, g_ic # 302: 51d0ff
|
||||
movi a4, 0 /* 0x00000000 */ # 305: 0c04
|
||||
s32i a2, a5, 16 /* a2 -> [.Ldata001] */ # 307: 2945
|
||||
s32i a4, a2, 176 # 309: 42622c
|
||||
s32i a4, a2, 60 # 30c: 49f2
|
||||
movi a2, 272 /* 0x00000110 */ # 30e: 22a110
|
||||
call0 zalloc # 311: 01dbffc0
|
||||
# 315: 0000
|
||||
movi a6, g_ic # 317: 61ccff
|
||||
movi a3, .Label002 # 31a: 31ccff
|
||||
l32i a6, a6, 16 /* [.Ldata001] */ # 31d: 6846
|
||||
movi a4, 6 /* 0x00000006 */ # 31f: 0c64
|
||||
s32i a2, a6, 140 /* a2 -> [[.Ldata001]+0x8c] */ # 321: 226623
|
||||
call0 memcpy # 324: 01d8ffc0
|
||||
# 328: 0000
|
||||
.Lbr024: beqi a12, 1, .Lbr027 # 32a: 261c6d
|
||||
movi a2, .Label003 # 32d: 21c8ff
|
||||
call0 printf # 330: 01d6ffc0
|
||||
# 334: 0000
|
||||
.Lbr025: movi a12, g_ic # 336: c1c7ff
|
||||
movi a2, .Lstr004 # 339: 21c7ff
|
||||
call0 printf # 33c: 01d4ffc0
|
||||
# 340: 0000
|
||||
movi a8, info # 342: 81c6ff
|
||||
movi a2, .Lstr003 # 345: 21c6ff
|
||||
l8ui a7, a8, 28 /* [info+0x1c] */ # 348: 72081c
|
||||
l8ui a6, a8, 27 /* [info+0x1b] */ # 34b: 62081b
|
||||
l8ui a5, a8, 26 /* [info+0x1a] */ # 34e: 52081a
|
||||
l8ui a4, a8, 25 /* [info+0x19] */ # 351: 420819
|
||||
l8ui a3, a8, 24 /* [info+0x18] */ # 354: 320818
|
||||
l8ui a8, a8, 29 /* [info+0x1d] */ # 357: 82081d
|
||||
s32i a8, sp, 0 /* [info+0x1d] -> [(local0)] */ # 35a: 8901
|
||||
call0 printf # 35c: 01cdffc0
|
||||
# 360: 0000
|
||||
l32i a9, a12, 20 /* [.Ldata002] */ # 362: 985c
|
||||
bnez a9, .Lbr027 # 364: fc39
|
||||
movi a2, 648 /* 0x00000288 */ # 366: 22a288
|
||||
call0 zalloc # 369: 01caffc0
|
||||
# 36d: 0000
|
||||
s32i a2, a12, 20 /* a2 -> [.Ldata002] */ # 36f: 295c
|
||||
movi a10, 1 /* 0x00000001 */ # 371: 0c1a
|
||||
s32i a10, a2, 176 # 373: a2622c
|
||||
movi a2, 272 /* 0x00000110 */ # 376: 22a110
|
||||
call0 zalloc # 379: 01c7ffc0
|
||||
# 37d: 0000
|
||||
movi a3, .Label002 # 37f: 31b9ff
|
||||
l32i a11, a12, 20 /* [.Ldata002] */ # 382: b85c
|
||||
movi a4, 6 /* 0x00000006 */ # 384: 0c64
|
||||
s32i a2, a11, 144 /* a2 -> [[.Ldata002]+0x90] */ # 386: 226b24
|
||||
call0 memcpy # 389: 01c4ffc0
|
||||
# 38d: 0000
|
||||
j .Lbr027 # 38f: 060200
|
||||
.Lbr026: movi a2, .Lstr002 # 392: 21b5ff
|
||||
call0 printf # 395: 01c2ffc0
|
||||
# 399: 0000
|
||||
.Lbr027: movi a2, .Label004 # 39b: 21b4ff
|
||||
call0 printf # 39e: 01c1ffc0
|
||||
# 3a2: 0000
|
||||
movi a2, 1 /* 0x00000001 */ # 3a4: 0c12
|
||||
l32i a12, sp, 20 /* [(local2)] */ # 3a6: c851
|
||||
l32i a0, sp, 16 /* [(local1)] */ # 3a8: 0841
|
||||
addi sp, sp, 32 /* (top of frame) */ # 3aa: 12c120
|
||||
ret /* 0x00000001 */ # 3ad: 0df0
|
||||
|
||||
.section .rodata, "a", @progbits
|
||||
|
||||
.global ieee80211_opcap
|
||||
.type ieee80211_opcap, @object
|
||||
ieee80211_opcap:
|
||||
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00
|
||||
|
||||
.section .rodata.str1.4, "MSa", @progbits, 1
|
||||
|
||||
.Lstr001: .asciz "mode : " # 0: 6d6f6465
|
||||
# 4: 203a2000
|
||||
.Lstr002: .asciz "null" # 8: 6e756c6c
|
||||
# c: 00
|
||||
.balign 4
|
||||
.Label001: .word 0x00617473 # 10: 73746100
|
||||
.Lstr003: .asciz "(%02x:%02x:%02x:%02x:%02x:%02x)" # 14: 28253032
|
||||
# 18: 783a2530
|
||||
# 1c: 32783a25
|
||||
# 20: 3032783a
|
||||
# 24: 25303278
|
||||
# 28: 3a253032
|
||||
# 2c: 783a2530
|
||||
# 30: 32782900
|
||||
.Label002: .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00
|
||||
.Label003: .word 0x00202b20 # 3c: 202b2000
|
||||
.Lstr004: .asciz "softAP" # 40: 736f6674
|
||||
# 44: 415000
|
||||
.balign 4
|
||||
.Label004: .byte 0x0a, 0x00
|
206
binary_sdk/libnet80211_stage1/ieee80211_action.S
Normal file
206
binary_sdk/libnet80211_stage1/ieee80211_action.S
Normal file
|
@ -0,0 +1,206 @@
|
|||
|
||||
.section .data, "aw", @progbits
|
||||
|
||||
.Lrel001: .word .irom0.text # 0: 00000000
|
||||
.Lrel002: .word .irom0.text # 4: 00000000
|
||||
.Lrel003: .word .irom0.text # 8: 00000000
|
||||
.Lrel004: .word .irom0.text # c: 00000000
|
||||
.Lrel005: .word .Lfunc002 # 10: bc000000
|
||||
.Lrel006: .word .Lfunc002 # 14: bc000000
|
||||
.Lrel007: .word .Lfunc002 # 18: bc000000
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
# Function @ .irom0.text+0x0
|
||||
.balign 4
|
||||
.literal_position
|
||||
.Lfunc001: movi a2, -1 /* 0xffffffff */ # 0: 7cf2
|
||||
ret /* 0xffffffff */ # 2: 0df0
|
||||
|
||||
.literal_position # 4: 0c000000
|
||||
# 8: 00000000
|
||||
# c: 08000000
|
||||
|
||||
# Function @ .irom0.text+0x10
|
||||
.balign 4
|
||||
.global ieee80211_send_action_register
|
||||
.type ieee80211_send_action_register, @function
|
||||
ieee80211_send_action_register:
|
||||
beqi a2, 3, .Lbr003 # 10: 26321a
|
||||
beqi a2, 7, .Lbr004 # 13: 267220
|
||||
movi a5, 127 /* 0x0000007f */ # 16: 52a07f
|
||||
bne a2, a5, .Lbr002 # 19: 57920d
|
||||
bnez a3, .Lbr002 # 1c: cca3
|
||||
movi a2, .Lrel004 # 1e: 21f9ff
|
||||
.Lbr001: addx4 a6, a3, a2 # 21: 2063a0
|
||||
s32i a4, a6, 0 # 24: 4906
|
||||
movi a2, 0 /* 0x00000000 */ # 26: 0c02
|
||||
ret /* 0x00000000 */ # 28: 0df0
|
||||
.Lbr002: movi a2, -1 /* 0xffffffff */ # 2a: 7cf2
|
||||
ret /* 0xffffffff */ # 2c: 0df0
|
||||
.Lbr003: bgeui a3, 2, .Lbr002 # 2e: f623f8
|
||||
movi a2, .Lrel001 # 31: 21f5ff
|
||||
j .Lbr001 # 34: 46faff
|
||||
.Lbr004: bnez a3, .Lbr002 # 37: 56f3fe
|
||||
movi a2, .Lrel003 # 3a: 21f4ff
|
||||
j .Lbr001 # 3d: 06f8ff
|
||||
|
||||
.literal_position # 40: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x44
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global ieee80211_send_action_unregister
|
||||
.type ieee80211_send_action_unregister, @function
|
||||
ieee80211_send_action_unregister:
|
||||
movi a4, .Lfunc001 # 44: 41ffff
|
||||
addi sp, sp, -16 /* (local0) */ # 47: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 4a: 0901
|
||||
call0 ieee80211_send_action_register # 4c: 050000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 4f: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 51: 12c110
|
||||
ret # 54: 0df0
|
||||
|
||||
.literal_position # 58: 00000000
|
||||
# 5c: 0c000000
|
||||
# 60: 08000000
|
||||
# 64: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x68
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global ieee80211_send_action
|
||||
.type ieee80211_send_action, @function
|
||||
ieee80211_send_action:
|
||||
addi sp, sp, -16 /* (local0) */ # 68: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 6b: 0901
|
||||
movi a0, .Lfunc001 # 6d: 01faff
|
||||
beqi a3, 3, .Lbr005 # 70: 263315
|
||||
beqi a3, 7, .Lbr009 # 73: 267326
|
||||
movi a6, 127 /* 0x0000007f */ # 76: 62a07f
|
||||
bne a3, a6, .Lbr006 # 79: 67930f
|
||||
bnez a4, .Lbr008 # 7c: dc84
|
||||
movi a7, .Lrel004 # 7e: 71f7ff
|
||||
addx4 a7, a4, a7 # 81: 7074a0
|
||||
l32i a7, a7, 0 # 84: 7807
|
||||
j .Lbr007 # 86: 060100
|
||||
.Lbr005: bltui a4, 2, .Lbr011 # 89: b62422
|
||||
.Lbr006: mov a7, a0 /* .Lfunc001 */ # 8c: 7d00
|
||||
.Lbr007: callx0 a7 # 8e: c00700
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 91: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 93: 12c110
|
||||
ret # 96: 0df0
|
||||
.Lbr008: mov a7, a0 /* .Lfunc001 */ # 98: 7d00
|
||||
j .Lbr007 # 9a: 06fcff
|
||||
.Lbr009: bnez a4, .Lbr010 # 9d: cc94
|
||||
movi a7, .Lrel003 # 9f: 71f0ff
|
||||
addx4 a7, a4, a7 # a2: 7074a0
|
||||
l32i a7, a7, 0 # a5: 7807
|
||||
j .Lbr007 # a7: c6f8ff
|
||||
.Lbr010: mov a7, a0 /* .Lfunc001 */ # aa: 7d00
|
||||
j .Lbr007 # ac: 86f7ff
|
||||
.Lbr011: movi a7, .Lrel001 # af: 71edff
|
||||
addx4 a7, a4, a7 # b2: 7074a0
|
||||
l32i a7, a7, 0 # b5: 7807
|
||||
j .Lbr007 # b7: c6f4ff
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0xbc
|
||||
.balign 4
|
||||
.Lfunc002: movi a2, -1 /* 0xffffffff */ # bc: 7cf2
|
||||
ret /* 0xffffffff */ # be: 0df0
|
||||
|
||||
.literal_position # c0: 18000000
|
||||
# c4: 10000000
|
||||
# c8: 14000000
|
||||
|
||||
# Function @ .irom0.text+0xcc
|
||||
.balign 4
|
||||
.global ieee80211_recv_action_register
|
||||
.type ieee80211_recv_action_register, @function
|
||||
ieee80211_recv_action_register:
|
||||
beqi a2, 3, .Lbr014 # cc: 26321a
|
||||
beqi a2, 7, .Lbr015 # cf: 267220
|
||||
movi a5, 127 /* 0x0000007f */ # d2: 52a07f
|
||||
bne a2, a5, .Lbr013 # d5: 57920d
|
||||
bnez a3, .Lbr013 # d8: cca3
|
||||
movi a2, .Lrel007 # da: 21f9ff
|
||||
.Lbr012: addx4 a6, a3, a2 # dd: 2063a0
|
||||
s32i a4, a6, 0 # e0: 4906
|
||||
movi a2, 0 /* 0x00000000 */ # e2: 0c02
|
||||
ret /* 0x00000000 */ # e4: 0df0
|
||||
.Lbr013: movi a2, -1 /* 0xffffffff */ # e6: 7cf2
|
||||
ret /* 0xffffffff */ # e8: 0df0
|
||||
.Lbr014: bnez a3, .Lbr013 # ea: 5683ff
|
||||
movi a2, .Lrel005 # ed: 21f5ff
|
||||
j .Lbr012 # f0: 46faff
|
||||
.Lbr015: bnez a3, .Lbr013 # f3: 56f3fe
|
||||
movi a2, .Lrel006 # f6: 21f4ff
|
||||
j .Lbr012 # f9: 06f8ff
|
||||
|
||||
.literal_position # fc: bc000000
|
||||
|
||||
# Function @ .irom0.text+0x100
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global ieee80211_recv_action_unregister
|
||||
.type ieee80211_recv_action_unregister, @function
|
||||
ieee80211_recv_action_unregister:
|
||||
movi a4, .Lfunc002 # 100: 41ffff
|
||||
addi sp, sp, -16 /* (local0) */ # 103: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 106: 0901
|
||||
call0 ieee80211_recv_action_register # 108: 050000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 10b: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 10d: 12c110
|
||||
ret # 110: 0df0
|
||||
|
||||
.literal_position # 114: bc000000
|
||||
# 118: 18000000
|
||||
# 11c: 14000000
|
||||
# 120: 10000000
|
||||
|
||||
# Function @ .irom0.text+0x124
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global ieee80211_recv_action
|
||||
.type ieee80211_recv_action, @function
|
||||
ieee80211_recv_action:
|
||||
addi sp, sp, -16 /* (local0) */ # 124: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 127: 0901
|
||||
l8ui a0, a4, 0 /* [arg2] */ # 129: 020400
|
||||
movi a8, .Lfunc002 # 12c: 81faff
|
||||
beqi a0, 3, .Lbr016 # 12f: 26301a
|
||||
beqi a0, 7, .Lbr020 # 132: 26702b
|
||||
movi a6, 127 /* 0x0000007f */ # 135: 62a07f
|
||||
bne a0, a6, .Lbr017 # 138: 679016
|
||||
l8ui a0, a4, 1 /* [arg2+0x1] */ # 13b: 020401
|
||||
mov a7, a8 /* .Lfunc002 */ # 13e: 7d08
|
||||
bnez a0, .Lbr019 # 140: dca0
|
||||
movi a7, .Lrel007 # 142: 71f5ff
|
||||
addx4 a7, a0, a7 # 145: 7070a0
|
||||
l32i a7, a7, 0 # 148: 7807
|
||||
j .Lbr018 # 14a: 860100
|
||||
.Lbr016: l8ui a0, a4, 1 /* [arg2+0x1] */ # 14d: 020401
|
||||
beqz a0, .Lbr022 # 150: ac20
|
||||
.Lbr017: mov a7, a8 /* .Lfunc002 */ # 152: 7d08
|
||||
.Lbr018: callx0 a7 # 154: c00700
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 157: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 159: 12c110
|
||||
ret # 15c: 0df0
|
||||
.Lbr019: j .Lbr018 # 15e: 86fcff
|
||||
.Lbr020: l8ui a0, a4, 1 /* [arg2+0x1] */ # 161: 020401
|
||||
mov a7, a8 /* .Lfunc002 */ # 164: 7d08
|
||||
bnez a0, .Lbr021 # 166: cc90
|
||||
movi a7, .Lrel006 # 168: 71edff
|
||||
addx4 a7, a0, a7 # 16b: 7070a0
|
||||
l32i a7, a7, 0 # 16e: 7807
|
||||
j .Lbr018 # 170: 06f8ff
|
||||
.Lbr021: j .Lbr018 # 173: 46f7ff
|
||||
.Lbr022: movi a7, .Lrel005 # 176: 71eaff
|
||||
addx4 a7, a0, a7 # 179: 7070a0
|
||||
l32i a7, a7, 0 # 17c: 7807
|
||||
j .Lbr018 # 17e: 86f4ff
|
115
binary_sdk/libnet80211_stage1/ieee80211_crypto.S
Normal file
115
binary_sdk/libnet80211_stage1/ieee80211_crypto.S
Normal file
|
@ -0,0 +1,115 @@
|
|||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
# Function @ .irom0.text+0x0
|
||||
.balign 4
|
||||
.literal_position
|
||||
.global ieee80211_crypto_attach
|
||||
.type ieee80211_crypto_attach, @function
|
||||
ieee80211_crypto_attach:
|
||||
ret /* arg0 */ # 0: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x4
|
||||
.balign 4
|
||||
.global ieee80211_crypto_available
|
||||
.type ieee80211_crypto_available, @function
|
||||
ieee80211_crypto_available:
|
||||
movi a2, 0 /* 0x00000000 */ # 4: 0c02
|
||||
ret /* 0x00000000 */ # 6: 0df0
|
||||
|
||||
# Function @ .irom0.text+0x8
|
||||
.balign 4
|
||||
.global ieee80211_crypto_setkey
|
||||
.type ieee80211_crypto_setkey, @function
|
||||
ieee80211_crypto_setkey:
|
||||
movi a2, 0 /* 0x00000000 */ # 8: 0c02
|
||||
ret /* 0x00000000 */ # a: 0df0
|
||||
|
||||
.literal_position # c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x10
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global ieee80211_crypto_encap
|
||||
.type ieee80211_crypto_encap, @function
|
||||
ieee80211_crypto_encap:
|
||||
addi sp, sp, -16 /* (local0) */ # 10: 12c1f0
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 13: 0911
|
||||
l32i a4, a3, 32 /* [arg1+0x20] */ # 15: 4883
|
||||
l32i a0, a2, 136 /* [arg0+0x88] */ # 17: 022222
|
||||
l32i a4, a4, 0 /* [[arg1+0x20]] */ # 1a: 4804
|
||||
movi a2, g_ic # 1c: 21fcff
|
||||
bbci a4, 7, .Lbr003 # 1f: 776434
|
||||
l8ui a0, a0, 233 /* [[arg0+0x88]+0xe9] */ # 22: 0200e9
|
||||
bltui a0, 2, .Lbr001 # 25: b62004
|
||||
addi a6, a0, -1 /* [[arg0+0x88]+0xe9]-0x1 */ # 28: 0b60
|
||||
j .Lbr002 # 2a: 460000
|
||||
.Lbr001: mov a6, a0 /* [[arg0+0x88]+0xe9] */ # 2d: 6d00
|
||||
.Lbr002: addx4 a2, a0, a2 # 2f: 2020a0
|
||||
l32i a2, a2, 0x190 # 32: 222264
|
||||
slli a4, a6, 6 # 35: a04611
|
||||
l32i a0, a2, 152 # 38: 022226
|
||||
extui a4, a4, 0, 8 # 3b: 404074
|
||||
l32i a0, a0, 16 # 3e: 0840
|
||||
s32i a2, sp, 0 /* a2 -> [(local0)] */ # 40: 2901
|
||||
callx0 a0 # 42: c00000
|
||||
l32i a4, sp, 0 /* [(local0)] */ # 45: 4801
|
||||
l32i a3, sp, 4 /* [(local1)] */ # 47: 3811
|
||||
movi a0, 0 /* 0x00000000 */ # 49: 0c00
|
||||
addi sp, sp, 16 /* (top of frame) */ # 4b: 12c110
|
||||
movnez a0, a4, a2 # 4e: 200493
|
||||
mov a2, a0 # 51: 2d00
|
||||
mov a0, a3 /* [(local1)] */ # 53: 0d03
|
||||
ret # 55: 0df0
|
||||
.Lbr003: movi a6, 0 /* 0x00000000 */ # 57: 0c06
|
||||
l8ui a0, a0, 232 /* [[arg0+0x88]+0xe8] */ # 59: 0200e8
|
||||
j .Lbr002 # 5c: c6f3ff
|
||||
|
||||
.literal_position # 60: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x64
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global ieee80211_crypto_decap
|
||||
.type ieee80211_crypto_decap, @function
|
||||
ieee80211_crypto_decap:
|
||||
addi sp, sp, -16 /* (local0) */ # 64: 12c1f0
|
||||
l16ui a5, a3, 22 /* [arg1+0x16] */ # 67: 52130b
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 6a: 0911
|
||||
l16ui a0, a3, 20 /* [arg1+0x14] */ # 6c: 02130a
|
||||
movi a6, g_ic # 6f: 61fcff
|
||||
add a0, a0, a5 # 72: 5a00
|
||||
bltui a0, 32, .Lbr005 # 74: b6c020
|
||||
l32i a0, a3, 4 /* [arg1+0x4] */ # 77: 0813
|
||||
l32i a0, a0, 4 /* [[arg1+0x4]+0x4] */ # 79: 0810
|
||||
l8ui a7, a0, 4 /* [[[arg1+0x4]+0x4]+0x4] */ # 7b: 720004
|
||||
add a0, a4, a0 # 7e: 0a04
|
||||
bbci a7, 0, .Lbr008 # 80: 076731
|
||||
l8ui a0, a0, 3 # 83: 020003
|
||||
extui a0, a0, 6, 2 # 86: 000614
|
||||
addi a0, a0, -1 # 89: 0b00
|
||||
extui a0, a0, 0, 8 # 8b: 000074
|
||||
.Lbr004: addx4 a2, a0, a6 # 8e: 6020a0
|
||||
l32i a2, a2, 0x190 # 91: 222264
|
||||
s32i a2, sp, 0 /* a2 -> [(local0)] */ # 94: 2901
|
||||
bnez a2, .Lbr006 # 96: cc32
|
||||
.Lbr005: movi a2, 0 /* 0x00000000 */ # 98: 0c02
|
||||
j .Lbr007 # 9a: 060400
|
||||
.Lbr006: l32i a0, a2, 152 # 9d: 022226
|
||||
l32i a0, a0, 20 # a0: 0850
|
||||
callx0 a0 # a2: c00000
|
||||
mov a4, a2 # a5: 4d02
|
||||
l32i a3, sp, 0 /* [(local0)] */ # a7: 3801
|
||||
movi a2, 0 /* 0x00000000 */ # a9: 0c02
|
||||
movnez a2, a3, a4 # ab: 402393
|
||||
.Lbr007: l32i a0, sp, 4 /* [(local1)] */ # ae: 0811
|
||||
addi sp, sp, 16 /* (top of frame) */ # b0: 12c110
|
||||
ret # b3: 0df0
|
||||
.Lbr008: l32i a0, a2, 136 /* [arg0+0x88] */ # b5: 022222
|
||||
l8ui a0, a0, 232 /* [[arg0+0x88]+0xe8] */ # b8: 0200e8
|
||||
j .Lbr004 # bb: c6f3ff
|
142
binary_sdk/libnet80211_stage1/ieee80211_crypto_ccmp.S
Normal file
142
binary_sdk/libnet80211_stage1/ieee80211_crypto_ccmp.S
Normal file
|
@ -0,0 +1,142 @@
|
|||
|
||||
.section .data, "aw", @progbits
|
||||
|
||||
.global ccmp
|
||||
.type ccmp, @object
|
||||
ccmp: .word 0x00000003 # 0: 03000000
|
||||
.Ldata001: .word 0x00000008 # 4: 08000000
|
||||
|
||||
# NOTE: The following is apparently unreferenced code/data
|
||||
.word 0x00000008 # 8: 08000000
|
||||
.word 0x00000000 # c: 00000000
|
||||
|
||||
.Lrel001: .word .Lfunc001 # 10: 04000000
|
||||
.Lrel002: .word .Lfunc002 # 14: 80000000
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x4
|
||||
.balign 4
|
||||
.Lfunc001: ssai 8 # 4: 004840
|
||||
l32i a5, a2, 144 /* [arg0+0x90] */ # 7: 522224
|
||||
l16ui a6, a3, 22 /* [arg1+0x16] */ # a: 62130b
|
||||
movi a7, ccmp # d: 71fcff
|
||||
l32i a9, a3, 4 /* [arg1+0x4] */ # 10: 9813
|
||||
l32i a10, a7, 4 /* [.Ldata001] */ # 12: a817
|
||||
l32i a7, a7, 4 /* [.Ldata001] */ # 14: 7817
|
||||
l32i a8, a9, 4 /* [[arg1+0x4]+0x4] */ # 16: 8819
|
||||
add a6, a6, a7 # 18: 7a66
|
||||
sub a8, a8, a10 # 1a: a088c0
|
||||
addi a7, a5, 1 /* [arg0+0x90]+0x1 */ # 1d: 1b75
|
||||
s32i a8, a9, 4 /* a8 -> [[arg1+0x4]+0x4] */ # 1f: 8919
|
||||
s16i a6, a3, 22 /* a6 -> [arg1+0x16] */ # 21: 62530b
|
||||
movi a9, 32 /* 0x00000020 */ # 24: 2c09
|
||||
or a11, a4, a9 # 26: 90b420
|
||||
s32i a7, a2, 144 /* [arg0+0x90]+0x1 -> [arg0+0x90] */ # 29: 726224
|
||||
l32i a3, a2, 148 /* [arg0+0x94] */ # 2c: 322225
|
||||
bgeu a7, a5, .Lbr001 # 2f: 57b701
|
||||
addi a3, a3, 1 /* [arg0+0x94]+0x1 */ # 32: 1b33
|
||||
.Lbr001: movi a5, 0 /* 0x00000000 */ # 34: 0c05
|
||||
s32i a3, a2, 148 /* a3 -> [arg0+0x94] */ # 36: 326225
|
||||
s8i a7, a8, 0 # 39: 724800
|
||||
l32i a6, a2, 148 /* [arg0+0x94] */ # 3c: 622225
|
||||
l32i a10, a2, 144 /* [arg0+0x90] */ # 3f: a22224
|
||||
s8i a5, a8, 2 # 42: 524802
|
||||
s8i a11, a8, 3 # 45: b24803
|
||||
src a6, a6, a10 # 48: a06681
|
||||
s8i a6, a8, 1 # 4b: 624801
|
||||
l32i a11, a2, 144 /* [arg0+0x90] */ # 4e: b22224
|
||||
l32i a10, a2, 148 /* [arg0+0x94] */ # 51: a22225
|
||||
ssai 16 # 54: 104040
|
||||
src a10, a10, a11 # 57: b0aa81
|
||||
s8i a10, a8, 4 # 5a: a24804
|
||||
l32i a6, a2, 144 /* [arg0+0x90] */ # 5d: 622224
|
||||
l32i a5, a2, 148 /* [arg0+0x94] */ # 60: 522225
|
||||
ssai 24 # 63: 104840
|
||||
src a5, a5, a6 # 66: 605581
|
||||
s8i a5, a8, 5 # 69: 524805
|
||||
l32i a11, a2, 148 /* [arg0+0x94] */ # 6c: b22225
|
||||
s8i a11, a8, 6 # 6f: b24806
|
||||
l32i a10, a2, 148 /* [arg0+0x94] */ # 72: a22225
|
||||
movi a2, 1 /* 0x00000001 */ # 75: 0c12
|
||||
srli a10, a10, 8 # 77: a0a841
|
||||
s8i a10, a8, 7 # 7a: a24807
|
||||
ret /* 0x00000001 */ # 7d: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x80
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.Lfunc002: addi sp, sp, -16 /* (local0) */ # 80: 12c1f0
|
||||
l32i a8, a3, 4 /* [arg1+0x4] */ # 83: 8813
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 85: 0911
|
||||
l32i a0, a8, 4 /* [[arg1+0x4]+0x4] */ # 87: 0818
|
||||
add a7, a4, a0 # 89: 0a74
|
||||
l8ui a5, a7, 3 # 8b: 520703
|
||||
movi a9, 140 /* 0x0000008c */ # 8e: 92a08c
|
||||
extui a5, a5, 5, 1 # 91: 505504
|
||||
beqz a5, .Lbr006 # 94: 169508
|
||||
l8ui a5, a7, 6 # 97: 520706
|
||||
l8ui a11, a7, 7 # 9a: b20707
|
||||
l8ui a6, a0, 0 /* [[[arg1+0x4]+0x4]] */ # 9d: 620000
|
||||
slli a11, a11, 8 # a0: 80bb11
|
||||
and a6, a6, a9 # a3: 906610
|
||||
or a11, a11, a5 # a6: 50bb20
|
||||
l8ui a5, a7, 4 # a9: 520704
|
||||
movi a9, 136 /* 0x00000088 */ # ac: 92a088
|
||||
slli a5, a5, 16 # af: 005511
|
||||
bne a6, a9, .Lbr002 # b2: 979611
|
||||
l8ui a10, a0, 1 /* [[[arg1+0x4]+0x4]+0x1] */ # b5: a20001
|
||||
extui a10, a10, 0, 2 # b8: a0a014
|
||||
addi a10, a10, -3 # bb: a2cafd
|
||||
bnez a10, .Lbr008 # be: 56aa06
|
||||
l8ui a0, a0, 30 /* [[[arg1+0x4]+0x4]+0x1e] */ # c1: 02001e
|
||||
j .Lbr009 # c4: c61900
|
||||
.Lbr002: movi a0, 16 /* 0x00000010 */ # c7: 1c00
|
||||
.Lbr003: l8ui a9, a7, 0 # c9: 920700
|
||||
l8ui a10, a7, 5 # cc: a20705
|
||||
l8ui a6, a7, 1 # cf: 620701
|
||||
slli a10, a10, 24 # d2: 80aa01
|
||||
slli a6, a6, 8 # d5: 806611
|
||||
or a6, a6, a9 # d8: 906620
|
||||
extui a7, a11, 0, 16 # db: b070f4
|
||||
addx8 a9, a0, a2 # de: 2090b0
|
||||
or a5, a5, a6 # e1: 605520
|
||||
movi a0, 0 /* 0x00000000 */ # e4: 0c00
|
||||
s32i a9, sp, 0 /* a9 -> [(local0)] */ # e6: 9901
|
||||
l32i a11, a9, 8 # e8: b829
|
||||
l32i a9, a9, 12 # ea: 9839
|
||||
or a10, a10, a5 # ec: 50aa20
|
||||
bltu a9, a7, .Lbr005 # ef: 773907
|
||||
bne a9, a7, .Lbr004 # f2: 779902
|
||||
bltu a11, a10, .Lbr005 # f5: a73b01
|
||||
.Lbr004: movi a0, 1 /* 0x00000001 */ # f8: 0c10
|
||||
.Lbr005: bnez a0, .Lbr006 # fa: ec30
|
||||
l32i a11, sp, 0 /* [(local0)] */ # fc: b801
|
||||
l16ui a9, a3, 22 /* [arg1+0x16] */ # fe: 92130b
|
||||
s32i a10, a11, 8 /* a10 -> [[(local0)]+0x8] */ # 101: a92b
|
||||
s32i a7, a11, 12 /* a7 -> [[(local0)]+0xc] */ # 103: 793b
|
||||
l32i a11, a2, 152 /* [arg0+0x98] */ # 105: b22226
|
||||
l32i a5, a8, 4 /* [[arg1+0x4]+0x4] */ # 108: 5818
|
||||
l32i a0, a11, 4 /* [[arg0+0x98]+0x4] */ # 10a: 081b
|
||||
l32i a11, a11, 8 /* [[arg0+0x98]+0x8] */ # 10c: b82b
|
||||
add a6, a4, a0 # 10e: 0a64
|
||||
add a11, a11, a0 # 110: 0abb
|
||||
add a5, a5, a6 # 112: 6a55
|
||||
movi a0, 1 /* 0x00000001 */ # 114: 0c10
|
||||
s32i a5, a8, 4 /* a5 -> [[arg1+0x4]+0x4] */ # 116: 5918
|
||||
sub a9, a9, a11 # 118: b099c0
|
||||
s16i a9, a3, 22 /* a9 -> [arg1+0x16] */ # 11b: 92530b
|
||||
j .Lbr007 # 11e: 460000
|
||||
.Lbr006: movi a0, 0 /* 0x00000000 */ # 121: 0c00
|
||||
.Lbr007: mov a2, a0 # 123: 2d00
|
||||
l32i a0, sp, 4 /* [(local1)] */ # 125: 0811
|
||||
addi sp, sp, 16 /* (top of frame) */ # 127: 12c110
|
||||
ret # 12a: 0df0
|
||||
.Lbr008: l8ui a0, a0, 24 /* [[[arg1+0x4]+0x4]+0x18] */ # 12c: 020018
|
||||
.Lbr009: extui a0, a0, 0, 4 # 12f: 000034
|
||||
j .Lbr003 # 132: c6e4ff
|
165
binary_sdk/libnet80211_stage1/ieee80211_crypto_tkip.S
Normal file
165
binary_sdk/libnet80211_stage1/ieee80211_crypto_tkip.S
Normal file
|
@ -0,0 +1,165 @@
|
|||
|
||||
.section .data, "aw", @progbits
|
||||
|
||||
.global tkip
|
||||
.type tkip, @object
|
||||
tkip: .word 0x00000002 # 0: 02000000
|
||||
.Ldata001: .word 0x00000008 # 4: 08000000
|
||||
|
||||
# NOTE: The following is apparently unreferenced code/data
|
||||
.word 0x0000000c # 8: 0c000000
|
||||
.word 0x00000008 # c: 08000000
|
||||
|
||||
.Lrel001: .word .Lfunc001 # 10: 08000000
|
||||
.Lrel002: .word .Lfunc002 # 14: a0000000
|
||||
|
||||
.section .bss, "aw", @nobits
|
||||
|
||||
.Ldata002: .word 0x00000000 # 0: 00000000
|
||||
.Ldata003: .word 0x00000000 # 4: 00000000
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
# 4: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x8
|
||||
.balign 4
|
||||
.Lfunc001: movi a5, g_ic # 8: 51feff
|
||||
ssai 8 # b: 004840
|
||||
l32i a5, a5, 28 /* [g_ic+0x1c] */ # e: 5875
|
||||
movi a11, tkip # 10: b1fdff
|
||||
bbci a5, 26, .Lbr001 # 13: a77503
|
||||
movi a2, 0 /* 0x00000000 */ # 16: 0c02
|
||||
ret /* 0x00000000 */ # 18: 0df0
|
||||
.Lbr001: l32i a7, a2, 148 /* [arg0+0x94] */ # 1a: 722225
|
||||
l16ui a10, a3, 22 /* [arg1+0x16] */ # 1d: a2130b
|
||||
l32i a5, a3, 4 /* [arg1+0x4] */ # 20: 5813
|
||||
l32i a9, a11, 4 /* [.Ldata001] */ # 22: 981b
|
||||
l32i a8, a5, 4 /* [[arg1+0x4]+0x4] */ # 24: 8815
|
||||
l32i a11, a11, 4 /* [.Ldata001] */ # 26: b81b
|
||||
sub a8, a8, a9 # 28: 9088c0
|
||||
l32i a9, a2, 144 /* [arg0+0x90] */ # 2b: 922224
|
||||
add a10, a10, a11 # 2e: baaa
|
||||
src a7, a7, a9 # 30: 907781
|
||||
movi a9, 95 /* 0x0000005f */ # 33: 5cf9
|
||||
s32i a8, a5, 4 /* a8 -> [[arg1+0x4]+0x4] */ # 35: 8915
|
||||
s16i a10, a3, 22 /* a10 -> [arg1+0x16] */ # 37: a2530b
|
||||
and a9, a7, a9 # 3a: 909710
|
||||
movi a10, 32 /* 0x00000020 */ # 3d: 2c0a
|
||||
or a6, a4, a10 # 3f: a06420
|
||||
s8i a7, a8, 0 # 42: 724800
|
||||
or a9, a9, a10 # 45: a09920
|
||||
s8i a9, a8, 1 # 48: 924801
|
||||
l32i a5, a2, 144 /* [arg0+0x90] */ # 4b: 522224
|
||||
s8i a6, a8, 3 # 4e: 624803
|
||||
s8i a5, a8, 2 # 51: 524802
|
||||
l32i a4, a2, 144 /* [arg0+0x90] */ # 54: 422224
|
||||
l32i a3, a2, 148 /* [arg0+0x94] */ # 57: 322225
|
||||
ssai 16 # 5a: 104040
|
||||
src a3, a3, a4 # 5d: 403381
|
||||
s8i a3, a8, 4 # 60: 324804
|
||||
l32i a11, a2, 144 /* [arg0+0x90] */ # 63: b22224
|
||||
l32i a10, a2, 148 /* [arg0+0x94] */ # 66: a22225
|
||||
ssai 24 # 69: 104840
|
||||
src a10, a10, a11 # 6c: b0aa81
|
||||
s8i a10, a8, 5 # 6f: a24805
|
||||
l32i a9, a2, 148 /* [arg0+0x94] */ # 72: 922225
|
||||
s8i a9, a8, 6 # 75: 924806
|
||||
l32i a7, a2, 148 /* [arg0+0x94] */ # 78: 722225
|
||||
srli a7, a7, 8 # 7b: 707841
|
||||
s8i a7, a8, 7 # 7e: 724807
|
||||
l32i a6, a2, 144 /* [arg0+0x90] */ # 81: 622224
|
||||
l32i a3, a2, 148 /* [arg0+0x94] */ # 84: 322225
|
||||
addi a4, a6, 1 /* [arg0+0x90]+0x1 */ # 87: 1b46
|
||||
bgeu a4, a6, .Lbr002 # 89: 67b401
|
||||
addi a3, a3, 1 /* [arg0+0x94]+0x1 */ # 8c: 1b33
|
||||
.Lbr002: s32i a3, a2, 148 /* a3 -> [arg0+0x94] */ # 8e: 326225
|
||||
s32i a4, a2, 144 /* [arg0+0x90]+0x1 -> [arg0+0x90] */ # 91: 426224
|
||||
movi a2, 1 /* 0x00000001 */ # 94: 0c12
|
||||
ret /* 0x00000001 */ # 96: 0df0
|
||||
|
||||
.literal_position # 98: 00000000
|
||||
# 9c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xa0
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.Lfunc002: addi sp, sp, -16 /* (local0) */ # a0: 12c1f0
|
||||
l32i a8, a3, 4 /* [arg1+0x4] */ # a3: 8813
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # a5: 0911
|
||||
l32i a0, a8, 4 /* [[arg1+0x4]+0x4] */ # a7: 0818
|
||||
movi a6, g_ic # a9: 61fbff
|
||||
add a7, a4, a0 # ac: 0a74
|
||||
l8ui a5, a7, 3 # ae: 520703
|
||||
l32i a6, a6, 28 /* [g_ic+0x1c] */ # b1: 6876
|
||||
extui a5, a5, 5, 1 # b3: 505504
|
||||
beqz a5, .Lbr007 # b6: 169509
|
||||
extui a6, a6, 26, 1 # b9: 606a05
|
||||
bnez a6, .Lbr007 # bc: 563609
|
||||
l8ui a6, a7, 6 # bf: 620706
|
||||
l8ui a5, a7, 7 # c2: 520707
|
||||
l8ui a9, a0, 0 /* [[[arg1+0x4]+0x4]] */ # c5: 920000
|
||||
movi a10, 140 /* 0x0000008c */ # c8: a2a08c
|
||||
and a9, a9, a10 # cb: a09910
|
||||
slli a5, a5, 8 # ce: 805511
|
||||
or a5, a5, a6 # d1: 605520
|
||||
movi a10, 136 /* 0x00000088 */ # d4: a2a088
|
||||
l8ui a6, a7, 0 # d7: 620700
|
||||
bne a9, a10, .Lbr003 # da: a79911
|
||||
l8ui a11, a0, 1 /* [[[arg1+0x4]+0x4]+0x1] */ # dd: b20001
|
||||
extui a11, a11, 0, 2 # e0: b0b014
|
||||
addi a11, a11, -3 # e3: b2cbfd
|
||||
bnez a11, .Lbr009 # e6: 564b07
|
||||
l8ui a0, a0, 30 /* [[[arg1+0x4]+0x4]+0x1e] */ # e9: 02001e
|
||||
j .Lbr010 # ec: 461c00
|
||||
.Lbr003: movi a0, 16 /* 0x00000010 */ # ef: 1c00
|
||||
.Lbr004: slli a6, a6, 8 # f1: 806611
|
||||
l8ui a9, a7, 2 # f4: 920702
|
||||
l8ui a10, a7, 5 # f7: a20705
|
||||
l8ui a11, a7, 4 # fa: b20704
|
||||
slli a10, a10, 24 # fd: 80aa01
|
||||
slli a11, a11, 16 # 100: 00bb11
|
||||
extui a7, a5, 0, 16 # 103: 5070f4
|
||||
or a6, a6, a9 # 106: 906620
|
||||
or a11, a11, a6 # 109: 60bb20
|
||||
addx8 a9, a0, a2 # 10c: 2090b0
|
||||
or a10, a10, a11 # 10f: b0aa20
|
||||
movi a11, .Ldata002 # 112: b1e2ff
|
||||
s32i a9, sp, 0 /* a9 -> [(local0)] */ # 115: 9901
|
||||
s32i a7, a11, 4 /* a7 -> [.Ldata003] */ # 117: 791b
|
||||
s32i a10, a11, 0 /* a10 -> [.Ldata002] */ # 119: a90b
|
||||
l32i a11, a9, 8 # 11b: b829
|
||||
l32i a9, a9, 12 # 11d: 9839
|
||||
movi a0, 0 /* 0x00000000 */ # 11f: 0c00
|
||||
bltu a9, a7, .Lbr006 # 121: 773907
|
||||
bne a9, a7, .Lbr005 # 124: 779902
|
||||
bltu a11, a10, .Lbr006 # 127: a73b01
|
||||
.Lbr005: movi a0, 1 /* 0x00000001 */ # 12a: 0c10
|
||||
.Lbr006: bnez a0, .Lbr007 # 12c: ec30
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 12e: 0801
|
||||
l16ui a11, a3, 22 /* [arg1+0x16] */ # 130: b2130b
|
||||
s32i a10, a0, 8 /* a10 -> [[(local0)]+0x8] */ # 133: a920
|
||||
s32i a7, a0, 12 /* a7 -> [[(local0)]+0xc] */ # 135: 7930
|
||||
l32i a0, a2, 152 /* [arg0+0x98] */ # 137: 022226
|
||||
l32i a6, a8, 4 /* [[arg1+0x4]+0x4] */ # 13a: 6818
|
||||
l32i a5, a0, 4 /* [[arg0+0x98]+0x4] */ # 13c: 5810
|
||||
l32i a0, a0, 8 /* [[arg0+0x98]+0x8] */ # 13e: 0820
|
||||
add a9, a4, a5 # 140: 5a94
|
||||
add a6, a6, a9 # 142: 9a66
|
||||
add a0, a0, a5 # 144: 5a00
|
||||
sub a11, a11, a0 # 146: 00bbc0
|
||||
s32i a6, a8, 4 /* a6 -> [[arg1+0x4]+0x4] */ # 149: 6918
|
||||
movi a0, 1 /* 0x00000001 */ # 14b: 0c10
|
||||
s16i a11, a3, 22 /* a11 -> [arg1+0x16] */ # 14d: b2530b
|
||||
j .Lbr008 # 150: 460000
|
||||
.Lbr007: movi a0, 0 /* 0x00000000 */ # 153: 0c00
|
||||
.Lbr008: mov a2, a0 # 155: 2d00
|
||||
l32i a0, sp, 4 /* [(local1)] */ # 157: 0811
|
||||
addi sp, sp, 16 /* (top of frame) */ # 159: 12c110
|
||||
ret # 15c: 0df0
|
||||
.Lbr009: l8ui a0, a0, 24 /* [[[arg1+0x4]+0x4]+0x18] */ # 15e: 020018
|
||||
.Lbr010: extui a0, a0, 0, 4 # 161: 000034
|
||||
j .Lbr004 # 164: 46e2ff
|
73
binary_sdk/libnet80211_stage1/ieee80211_crypto_wep.S
Normal file
73
binary_sdk/libnet80211_stage1/ieee80211_crypto_wep.S
Normal file
|
@ -0,0 +1,73 @@
|
|||
|
||||
.section .data, "aw", @progbits
|
||||
|
||||
.global wep
|
||||
.type wep, @object
|
||||
wep: .word 0x00000001 # 0: 01000000
|
||||
.Ldata001: .word 0x00000004 # 4: 04000000
|
||||
|
||||
# NOTE: The following is apparently unreferenced code/data
|
||||
.word 0x00000004 # 8: 04000000
|
||||
.word 0x00000000 # c: 00000000
|
||||
|
||||
.Lrel001: .word .Lfunc001 # 10: 04000000
|
||||
.Lrel002: .word .Lfunc002 # 14: 60000000
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x4
|
||||
.balign 4
|
||||
.Lfunc001: bnez a3, .Lbr001 # 4: cc33
|
||||
movi a3, 0 /* 0x00000000 */ # 6: 0c03
|
||||
j .Lbr003 # 8: 461300
|
||||
.Lbr001: l32i a5, a2, 144 /* [arg0+0x90] */ # b: 522224
|
||||
l16ui a6, a3, 22 /* [arg1+0x16] */ # e: 62130b
|
||||
movi a7, wep # 11: 71fbff
|
||||
l32i a8, a3, 4 /* [arg1+0x4] */ # 14: 8813
|
||||
l32i a10, a7, 4 /* [.Ldata001] */ # 16: a817
|
||||
l32i a7, a7, 4 /* [.Ldata001] */ # 18: 7817
|
||||
l32i a9, a8, 4 /* [[arg1+0x4]+0x4] */ # 1a: 9818
|
||||
add a6, a6, a7 # 1c: 7a66
|
||||
sub a9, a9, a10 # 1e: a099c0
|
||||
l32i a7, a2, 148 /* [arg0+0x94] */ # 21: 722225
|
||||
s32i a9, a8, 4 /* a9 -> [[arg1+0x4]+0x4] */ # 24: 9918
|
||||
s16i a6, a3, 22 /* a6 -> [arg1+0x16] */ # 26: 62530b
|
||||
addi a8, a5, 1 /* [arg0+0x90]+0x1 */ # 29: 1b85
|
||||
bgeu a8, a5, .Lbr002 # 2b: 57b801
|
||||
addi a7, a7, 1 /* [arg0+0x94]+0x1 */ # 2e: 1b77
|
||||
.Lbr002: movi a3, 1 /* 0x00000001 */ # 30: 0c13
|
||||
s32i a7, a2, 148 /* a7 -> [arg0+0x94] */ # 32: 726225
|
||||
s32i a8, a2, 144 /* [arg0+0x90]+0x1 -> [arg0+0x90] */ # 35: 826224
|
||||
ssai 16 # 38: 104040
|
||||
src a6, a7, a8 # 3b: 806781
|
||||
s8i a6, a9, 2 # 3e: 624902
|
||||
l32i a5, a2, 144 /* [arg0+0x90] */ # 41: 522224
|
||||
l32i a11, a2, 148 /* [arg0+0x94] */ # 44: b22225
|
||||
ssai 8 # 47: 004840
|
||||
src a11, a11, a5 # 4a: 50bb81
|
||||
s8i a11, a9, 1 # 4d: b24901
|
||||
l32i a10, a2, 144 /* [arg0+0x90] */ # 50: a22224
|
||||
s8i a10, a9, 0 # 53: a24900
|
||||
s8i a4, a9, 3 # 56: 424903
|
||||
.Lbr003: mov a2, a3 # 59: 2d03
|
||||
ret # 5b: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x60
|
||||
.balign 4
|
||||
.Lfunc002: l32i a5, a2, 152 /* [arg0+0x98] */ # 60: 522226
|
||||
l32i a8, a3, 4 /* [arg1+0x4] */ # 63: 8813
|
||||
l16ui a2, a3, 22 /* [arg1+0x16] */ # 65: 22130b
|
||||
l32i a7, a8, 4 /* [[arg1+0x4]+0x4] */ # 68: 7818
|
||||
l32i a6, a5, 4 /* [[arg0+0x98]+0x4] */ # 6a: 6815
|
||||
l32i a5, a5, 8 /* [[arg0+0x98]+0x8] */ # 6c: 5825
|
||||
add a9, a4, a6 # 6e: 6a94
|
||||
add a7, a7, a9 # 70: 9a77
|
||||
add a5, a5, a6 # 72: 6a55
|
||||
sub a2, a2, a5 # 74: 5022c0
|
||||
s32i a7, a8, 4 /* a7 -> [[arg1+0x4]+0x4] */ # 77: 7918
|
||||
s16i a2, a3, 22 /* a2 -> [arg1+0x16] */ # 79: 22530b
|
||||
movi a2, 1 /* 0x00000001 */ # 7c: 0c12
|
||||
ret /* 0x00000001 */ # 7e: 0df0
|
44
binary_sdk/libnet80211_stage1/ieee80211_ets.S
Normal file
44
binary_sdk/libnet80211_stage1/ieee80211_ets.S
Normal file
|
@ -0,0 +1,44 @@
|
|||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x4
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global ieee80211_getmgtframe
|
||||
.type ieee80211_getmgtframe, @function
|
||||
ieee80211_getmgtframe:
|
||||
movi a5, -4 /* 0xfffffffc */ # 4: 7cc5
|
||||
addi sp, sp, -16 /* (local0) */ # 6: 12c1f0
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 9: 0911
|
||||
s32i a12, sp, 8 /* a12 -> [(local2)] */ # b: c921
|
||||
movi a0, 256 /* 0x00000100 */ # d: 02a100
|
||||
mov a12, a3 /* arg1 */ # 10: cd03
|
||||
add a3, a3, a4 # 12: 4a33
|
||||
addi a3, a3, 3 # 14: 3b33
|
||||
and a4, a3, a5 # 16: 504310
|
||||
bgeu a0, a4, .Lbr001 # 19: 47b004
|
||||
movi a2, 0 /* 0x00000000 */ # 1c: 0c02
|
||||
j .Lbr003 # 1e: 860700
|
||||
.Lbr001: movi a3, 4 /* 0x00000004 */ # 21: 0c43
|
||||
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 23: 2901
|
||||
movi a5, 65 /* 0x00000041 */ # 25: 4c15
|
||||
bgeu a4, a5, .Lbr002 # 27: 57b401
|
||||
movi a3, 5 /* 0x00000005 */ # 2a: 0c53
|
||||
.Lbr002: movi a2, 0 /* 0x00000000 */ # 2c: 0c02
|
||||
call0 esf_buf_alloc # 2e: 01f4ffc0
|
||||
# 32: 0000
|
||||
beqz a2, .Lbr003 # 34: 8c82
|
||||
l32i a6, a2, 4 # 36: 6812
|
||||
l32i a6, a6, 4 # 38: 6816
|
||||
l32i a7, sp, 0 /* [(local0)] */ # 3a: 7801
|
||||
add a6, a12, a6 # 3c: 6a6c
|
||||
s32i a6, a7, 0 /* a6 -> [[(local0)]] */ # 3e: 6907
|
||||
.Lbr003: l32i a12, sp, 8 /* [(local2)] */ # 40: c821
|
||||
l32i a0, sp, 4 /* [(local1)] */ # 42: 0811
|
||||
addi sp, sp, 16 /* (top of frame) */ # 44: 12c110
|
||||
ret # 47: 0df0
|
1910
binary_sdk/libnet80211_stage1/ieee80211_hostap.S
Normal file
1910
binary_sdk/libnet80211_stage1/ieee80211_hostap.S
Normal file
File diff suppressed because it is too large
Load diff
1280
binary_sdk/libnet80211_stage1/ieee80211_ht.S
Normal file
1280
binary_sdk/libnet80211_stage1/ieee80211_ht.S
Normal file
File diff suppressed because it is too large
Load diff
0
binary_sdk/libnet80211_stage1/ieee80211_hwmp.S
Normal file
0
binary_sdk/libnet80211_stage1/ieee80211_hwmp.S
Normal file
1006
binary_sdk/libnet80211_stage1/ieee80211_input.S
Normal file
1006
binary_sdk/libnet80211_stage1/ieee80211_input.S
Normal file
File diff suppressed because it is too large
Load diff
0
binary_sdk/libnet80211_stage1/ieee80211_mesh.S
Normal file
0
binary_sdk/libnet80211_stage1/ieee80211_mesh.S
Normal file
0
binary_sdk/libnet80211_stage1/ieee80211_node.S
Normal file
0
binary_sdk/libnet80211_stage1/ieee80211_node.S
Normal file
2780
binary_sdk/libnet80211_stage1/ieee80211_output.S
Normal file
2780
binary_sdk/libnet80211_stage1/ieee80211_output.S
Normal file
File diff suppressed because it is too large
Load diff
248
binary_sdk/libnet80211_stage1/ieee80211_phy.S
Normal file
248
binary_sdk/libnet80211_stage1/ieee80211_phy.S
Normal file
|
@ -0,0 +1,248 @@
|
|||
|
||||
.section .data, "aw", @progbits
|
||||
|
||||
.Ldata001: .byte 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.word 0x00000000 # 14: 00000000
|
||||
.byte 0xe8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00
|
||||
.byte 0x3a, 0x01, 0x3a, 0x01, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0xd0, 0x07, 0x00, 0x00, 0x04, 0x01, 0x84, 0x01
|
||||
.byte 0x02, 0x01, 0xa2, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x7c, 0x15, 0x00, 0x00, 0x04, 0x02, 0x8b, 0x02
|
||||
.byte 0xdf, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0xf8, 0x2a, 0x00, 0x00, 0x04, 0x03, 0x96, 0x03
|
||||
.byte 0xd5, 0x00, 0x75, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0x70, 0x17, 0x00, 0x00, 0x00, 0x0b, 0x0c, 0x04
|
||||
.byte 0x3c, 0x00, 0x3c, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0x28, 0x23, 0x00, 0x00, 0x00, 0x0f, 0x12, 0x04
|
||||
.byte 0x3c, 0x00, 0x3c, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0xe0, 0x2e, 0x00, 0x00, 0x00, 0x0a, 0x18, 0x06
|
||||
.byte 0x30, 0x00, 0x30, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0x50, 0x46, 0x00, 0x00, 0x00, 0x0e, 0x24, 0x06
|
||||
.byte 0x30, 0x00, 0x30, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0xc0, 0x5d, 0x00, 0x00, 0x00, 0x09, 0x30, 0x08
|
||||
.byte 0x2c, 0x00, 0x2c, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0xa0, 0x8c, 0x00, 0x00, 0x00, 0x0d, 0x48, 0x08
|
||||
.byte 0x2c, 0x00, 0x2c, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0x80, 0xbb, 0x00, 0x00, 0x00, 0x08, 0x60, 0x08
|
||||
.byte 0x2c, 0x00, 0x2c, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0xf0, 0xd2, 0x00, 0x00, 0x00, 0x0c, 0x6c, 0x08
|
||||
.byte 0x2c, 0x00, 0x2c, 0x00
|
||||
.Label001: .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0xe8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00
|
||||
.byte 0x3a, 0x01, 0x3a, 0x01, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0xd0, 0x07, 0x00, 0x00, 0x04, 0x01, 0x84, 0x01
|
||||
.byte 0x02, 0x01, 0xa2, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x7c, 0x15, 0x00, 0x00, 0x04, 0x02, 0x8b, 0x01
|
||||
.byte 0xdf, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0xf8, 0x2a, 0x00, 0x00, 0x04, 0x03, 0x96, 0x01
|
||||
.byte 0xd5, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x4
|
||||
.balign 4
|
||||
.global ieee80211_get_11g_ratetable
|
||||
.type ieee80211_get_11g_ratetable, @function
|
||||
ieee80211_get_11g_ratetable:
|
||||
movi a2, .Ldata001 # 4: 21ffff
|
||||
ret /* .Ldata001 */ # 7: 0df0
|
||||
|
||||
.literal_position # c: d4000000
|
||||
# 10: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x14
|
||||
.balign 4
|
||||
.global ieee80211_get_ratetable
|
||||
.type ieee80211_get_ratetable, @function
|
||||
ieee80211_get_ratetable:
|
||||
l32i a2, a2, 0 /* [arg0] */ # 14: 2802
|
||||
movi a3, 192 /* 0x000000c0 */ # 16: 32a0c0
|
||||
ball a2, a3, .Lbr001 # 19: 37420a
|
||||
movi a4, 1152 /* 0x00000480 */ # 1c: 42a480
|
||||
ball a2, a4, .Lbr001 # 1f: 474204
|
||||
movi a2, .Label001 # 22: 21faff
|
||||
ret /* .Label001 */ # 25: 0df0
|
||||
.Lbr001: movi a2, .Ldata001 # 27: 21faff
|
||||
ret /* .Ldata001 */ # 2a: 0df0
|
||||
|
||||
.literal_position # 2c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x30
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global ieee80211_phy_init
|
||||
.type ieee80211_phy_init, @function
|
||||
ieee80211_phy_init:
|
||||
addi sp, sp, -16 /* (local0) */ # 30: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 33: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 35: 0901
|
||||
mov a12, a2 /* arg0 */ # 37: cd02
|
||||
call0 ieee80211_setup_ratetable # 39: 050000
|
||||
movi a3, 12 /* 0x0000000c */ # 3c: 0cc3
|
||||
movi a0, 3 /* 0x00000003 */ # 3e: 0c30
|
||||
movi a5, 4 /* 0x00000004 */ # 40: 0c45
|
||||
movi a2, g_ic # 42: 21faff
|
||||
addi a4, a12, -1 /* arg0-0x1 */ # 45: 0b4c
|
||||
movi a6, 0 /* 0x00000000 */ # 47: 0c06
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 49: c811
|
||||
s8i a6, a2, 125 /* 0x00 -> [g_ic+0x7d] */ # 4b: 62427d
|
||||
s8i a6, a2, 126 /* 0x00 -> [g_ic+0x7e] */ # 4e: 62427e
|
||||
s8i a5, a2, 127 /* 0x04 -> [g_ic+0x7f] */ # 51: 52427f
|
||||
movnez a0, a3, a4 # 54: 400393
|
||||
s8i a0, a2, 124 /* a0 -> [g_ic+0x7c] */ # 57: 02427c
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 5a: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 5c: 12c110
|
||||
ret /* g_ic */ # 5f: 0df0
|
||||
|
||||
.literal_position # 64: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x68
|
||||
.balign 4
|
||||
.global ieee80211_phy_type_get
|
||||
.type ieee80211_phy_type_get, @function
|
||||
ieee80211_phy_type_get:
|
||||
movi a2, g_ic+0x200 # 68: 21ffff
|
||||
l32i a2, a2, 0x31c /* [g_ic+0x51c] */ # 6b: 2222c7
|
||||
movi a3, 1 /* 0x00000001 */ # 6e: 0c13
|
||||
addi a2, a2, -1 /* [g_ic+0x51c]-0x1 */ # 70: 0b22
|
||||
movnez a2, a3, a2 # 72: 202393
|
||||
ret # 75: 0df0
|
||||
|
||||
.literal_position # 78: 00000000
|
||||
# 7c: d4000000
|
||||
# 80: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x84
|
||||
.balign 4
|
||||
.global ieee80211_setup_ratetable
|
||||
.type ieee80211_setup_ratetable, @function
|
||||
ieee80211_setup_ratetable:
|
||||
movi a4, .Ldata001 # 84: 41fdff
|
||||
movi a5, .Label001 # 87: 51fdff
|
||||
addi a6, a2, -1 /* arg0-0x1 */ # 8a: 0b62
|
||||
movnez a5, a4, a6 # 8c: 605493
|
||||
movi a6, g_ic # 8f: 61fcff
|
||||
l8ui a3, a5, 0 # 92: 320500
|
||||
s8i a3, a6, 44 /* a3 -> [g_ic+0x2c] */ # 95: 32462c
|
||||
beqz a3, .Lbr003 # 98: 9c83
|
||||
movi a2, 0 /* 0x00000000 */ # 9a: 0c02
|
||||
.Lbr002: add a4, a2, a6 # 9c: 6a42
|
||||
slli a3, a2, 4 # 9e: c03211
|
||||
add a3, a5, a3 # a1: 3a35
|
||||
addi a2, a2, 1 # a3: 1b22
|
||||
l8ui a3, a3, 30 # a5: 32031e
|
||||
s8i a3, a4, 45 # a8: 32442d
|
||||
l8ui a7, a6, 44 /* [g_ic+0x2c] */ # ab: 72062c
|
||||
extui a2, a2, 0, 8 # ae: 202074
|
||||
bltu a2, a7, .Lbr002 # b1: 7732e7
|
||||
.Lbr003: ret # b4: 0df0
|
||||
|
||||
.literal_position # b8: 00000000
|
||||
# bc: 00000000
|
||||
# c0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xc4
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global ieee80211_compute_duration
|
||||
.type ieee80211_compute_duration, @function
|
||||
ieee80211_compute_duration:
|
||||
addi sp, sp, -16 /* (local0) */ # c4: 12c1f0
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # c7: 0921
|
||||
add a0, a4, a2 # c9: 2a04
|
||||
l8ui a0, a0, 4 # cb: 020004
|
||||
mov a7, a3 /* arg1 */ # ce: 7d03
|
||||
slli a0, a0, 4 # d0: c00011
|
||||
add a0, a2, a0 # d3: 0a02
|
||||
l32i a3, a0, 24 # d5: 3860
|
||||
l8ui a2, a0, 20 # d7: 220014
|
||||
bnez a3, .Lbr004 # da: cc33
|
||||
movi a2, 0 /* 0x00000000 */ # dc: 0c02
|
||||
j .Lbr008 # de: 061400
|
||||
.Lbr004: s32i a7, sp, 4 /* arg1 -> [(local1)] */ # e1: 7911
|
||||
beqz a2, .Lbr005 # e3: ac52
|
||||
bnei a2, 1, .Lbr007 # e5: 661246
|
||||
slli a2, a3, 2 # e8: e02311
|
||||
movi a3, 1000 /* 0x000003e8 */ # eb: 32a3e8
|
||||
call0 __udivsi3 # ee: 01f2ffc0
|
||||
# f2: 0000
|
||||
mov a3, a2 # f4: 3d02
|
||||
l32i a2, sp, 4 /* [(local1)] */ # f6: 2811
|
||||
addx8 a2, a2, a3 # f8: 3022b0
|
||||
addi a2, a2, 21 # fb: 22c215
|
||||
call0 __udivsi3 # fe: 01efffc0
|
||||
# 102: 0000
|
||||
movi a0, 36 /* 0x00000024 */ # 104: 2c40
|
||||
addx4 a0, a2, a0 # 106: 0002a0
|
||||
j .Lbr007 # 109: 860800
|
||||
.Lbr005: beqz a5, .Lbr009 # 10c: ac95
|
||||
l8ui a2, a0, 28 # 10e: 22001c
|
||||
movi a4, 96 /* 0x00000060 */ # 111: 42a060
|
||||
beqz a2, .Lbr009 # 114: ac12
|
||||
s32i a4, sp, 0 /* 0x00000060 -> [(local0)] */ # 116: 4901
|
||||
.Lbr006: l32i a2, sp, 4 /* [(local1)] */ # 118: 2811
|
||||
movi a4, 1000 /* 0x000003e8 */ # 11a: 42a3e8
|
||||
slli a2, a2, 3 # 11d: d02211
|
||||
mull a2, a2, a4 # 120: 402282
|
||||
call0 __udivsi3 # 123: 01e7ffc0
|
||||
# 127: 0000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 129: 0801
|
||||
add a0, a0, a2 # 12b: 2a00
|
||||
addi a0, a0, 10 # 12d: ab00
|
||||
.Lbr007: extui a2, a0, 0, 16 # 12f: 0020f4
|
||||
.Lbr008: l32i a0, sp, 8 /* [(local2)] */ # 132: 0821
|
||||
addi sp, sp, 16 /* (top of frame) */ # 134: 12c110
|
||||
ret # 137: 0df0
|
||||
.Lbr009: movi a2, 192 /* 0x000000c0 */ # 139: 22a0c0
|
||||
s32i a2, sp, 0 /* 0x000000c0 -> [(local0)] */ # 13c: 2901
|
||||
j .Lbr006 # 13e: 86f5ff
|
||||
|
||||
.literal_position # 144: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x148
|
||||
.balign 4
|
||||
.global ieee80211_dot11Rate_rix
|
||||
.type ieee80211_dot11Rate_rix, @function
|
||||
ieee80211_dot11Rate_rix:
|
||||
movi a6, 0 /* 0x00000000 */ # 148: 0c06
|
||||
movi a8, .Ldata001 # 14a: 81feff
|
||||
.Lbr010: slli a7, a6, 4 # 14d: c07611
|
||||
add a7, a8, a7 # 150: 7a78
|
||||
l8ui a4, a7, 30 # 152: 42071e
|
||||
bne a4, a2, .Lbr011 # 155: 279409
|
||||
mov a2, a6 # 158: 2d06
|
||||
l8ui a8, a7, 29 # 15a: 82071d
|
||||
s8i a8, a3, 0 /* a8 -> [arg1] */ # 15d: 824300
|
||||
ret # 160: 0df0
|
||||
.Lbr011: addi a6, a6, 1 # 162: 1b66
|
||||
extui a6, a6, 0, 8 # 164: 606074
|
||||
bnei a6, 12, .Lbr010 # 167: 66a6e2
|
||||
movi a2, 255 /* 0x000000ff */ # 16a: 22a0ff
|
||||
ret /* 0x000000ff */ # 16d: 0df0
|
196
binary_sdk/libnet80211_stage1/ieee80211_power.S
Normal file
196
binary_sdk/libnet80211_stage1/ieee80211_power.S
Normal file
|
@ -0,0 +1,196 @@
|
|||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
# Function @ .irom0.text+0x0
|
||||
.balign 4
|
||||
.literal_position
|
||||
.global ieee80211_psq_init
|
||||
.type ieee80211_psq_init, @function
|
||||
ieee80211_psq_init:
|
||||
movi a6, 0 /* 0x00000000 */ # 0: 0c06
|
||||
movi a5, 0 /* 0x00000000 */ # 2: 0c05
|
||||
movi a4, 1 /* 0x00000001 */ # 4: 0c14
|
||||
.Lbr001: addi a4, a4, -1 # 6: 0b44
|
||||
add a3, a5, a2 # 8: 2a35
|
||||
s32i a6, a3, 0 # a: 6903
|
||||
addi a5, a5, 4 # c: 4b55
|
||||
bgei a4, 1, .Lbr001 # e: e614f4
|
||||
movi a4, 10 /* 0x0000000a */ # 11: 0ca4
|
||||
s32i a4, a2, 4 /* 0x0000000a -> [arg0+0x4] */ # 13: 4912
|
||||
ret /* arg0 */ # 15: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x18
|
||||
.balign 4
|
||||
.global ieee80211_psq_cleanup
|
||||
.type ieee80211_psq_cleanup, @function
|
||||
ieee80211_psq_cleanup:
|
||||
ret /* arg0 */ # 18: 0df0
|
||||
|
||||
.literal_position # 1c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x20
|
||||
.balign 4
|
||||
.global ieee80211_set_tim
|
||||
.type ieee80211_set_tim, @function
|
||||
ieee80211_set_tim:
|
||||
movi a10, 1 /* 0x00000001 */ # 20: 0c1a
|
||||
l16ui a6, a2, 26 /* [arg0+0x1a] */ # 22: 62120d
|
||||
movi a8, g_ic+0x152 # 25: 81fdff
|
||||
extui a7, a6, 0, 3 # 28: 607024
|
||||
extui a6, a6, 3, 11 # 2b: 6063a4
|
||||
add a6, a6, a8 # 2e: 8a66
|
||||
l8ui a5, a6, 128 # 30: 520680
|
||||
ssr a7 # 33: 000740
|
||||
sra a4, a5 # 36: 5040b1
|
||||
extui a4, a4, 0, 1 # 39: 404004
|
||||
sub a2, a3, a4 # 3c: 4023c0
|
||||
movnez a2, a10, a2 # 3f: 202a93
|
||||
beqz a2, .Lbr002 # 42: 9c52
|
||||
movi a11, -1 /* 0xffffffff */ # 44: 7cfb
|
||||
ssl a7 # 46: 001740
|
||||
sll a9, a10 # 49: 009aa1
|
||||
or a8, a9, a5 # 4c: 508920
|
||||
xor a9, a9, a11 # 4f: b09930
|
||||
and a9, a5, a9 # 52: 909510
|
||||
moveqz a8, a9, a3 # 55: 308983
|
||||
s8i a8, a6, 128 # 58: 824680
|
||||
.Lbr002: ret # 5b: 0df0
|
||||
|
||||
.literal_position # 60: 00000000
|
||||
# 64: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x68
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global ieee80211_pwrsave
|
||||
.type ieee80211_pwrsave, @function
|
||||
ieee80211_pwrsave:
|
||||
mov a6, a2 /* arg0 */ # 68: 6d02
|
||||
addi sp, sp, -16 /* (local0) */ # 6a: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 6d: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 6f: 0901
|
||||
l32i a2, a2, 196 /* [arg0+0xc4] */ # 71: 222231
|
||||
l32i a0, a6, 192 /* [arg0+0xc0] */ # 74: 022630
|
||||
mov a12, a3 /* arg1 */ # 77: cd03
|
||||
blt a0, a2, .Lbr003 # 79: 27201e
|
||||
l32i a3, a6, 200 /* [arg0+0xc8] */ # 7c: 322632
|
||||
l32i a2, a12, 0 /* [arg1] */ # 7f: 280c
|
||||
addi a3, a3, 1 /* [arg0+0xc8]+0x1 */ # 81: 1b33
|
||||
s32i a3, a6, 200 /* [arg0+0xc8]+0x1 -> [arg0+0xc8] */ # 83: 326632
|
||||
call0 pbuf_free # 86: 01f6ffc0
|
||||
# 8a: 0000
|
||||
mov a2, a12 /* arg1 */ # 8c: 2d0c
|
||||
movi a3, 1 /* 0x00000001 */ # 8e: 0c13
|
||||
call0 esf_buf_recycle # 90: 01f5ffc0
|
||||
# 94: 0000
|
||||
movi a2, 1 /* 0x00000001 */ # 96: 0c12
|
||||
j .Lbr007 # 98: 060b00
|
||||
.Lbr003: addi a4, a0, 1 /* [arg0+0xc0]+0x1 */ # 9b: 1b40
|
||||
movi a7, 0 /* 0x00000000 */ # 9d: 0c07
|
||||
l32i a5, a6, 212 /* [arg0+0xd4] */ # 9f: 522635
|
||||
l32i a2, a6, 208 /* [arg0+0xd0] */ # a2: 222634
|
||||
addi a5, a5, 1 /* [arg0+0xd4]+0x1 */ # a5: 1b55
|
||||
bnez a2, .Lbr004 # a7: cc42
|
||||
s32i a3, a6, 204 /* arg1 -> [arg0+0xcc] */ # a9: 326633
|
||||
j .Lbr005 # ac: 460000
|
||||
.Lbr004: s32i a3, a2, 28 /* arg1 -> [[arg0+0xd0]+0x1c] */ # af: 3972
|
||||
.Lbr005: s32i a7, a12, 28 /* 0x00000000 -> [arg1+0x1c] */ # b1: 797c
|
||||
s32i a12, a6, 208 /* arg1 -> [arg0+0xd0] */ # b3: c26634
|
||||
s32i a4, a6, 192 /* [arg0+0xc0]+0x1 -> [arg0+0xc0] */ # b6: 426630
|
||||
s32i a5, a6, 212 /* [arg0+0xd4]+0x1 -> [arg0+0xd4] */ # b9: 526635
|
||||
bnei a4, 1, .Lbr006 # bc: 661406
|
||||
mov a2, a6 /* arg0 */ # bf: 2d06
|
||||
movi a3, 1 /* 0x00000001 */ # c1: 0c13
|
||||
call0 ieee80211_set_tim # c3: 050000
|
||||
.Lbr006: movi a2, 0 /* 0x00000000 */ # c6: 0c02
|
||||
.Lbr007: l32i a12, sp, 4 /* [(local1)] */ # c8: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # ca: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # cc: 12c110
|
||||
ret # cf: 0df0
|
||||
|
||||
.literal_position # d4: 00000000
|
||||
# d8: 00000000
|
||||
# dc: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xe0
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word @ -0x8
|
||||
# (local3): word @ -0x4
|
||||
.balign 4
|
||||
.Lfunc001: addi sp, sp, -16 /* (local0) */ # e0: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # e3: 0901
|
||||
s32i a14, sp, 12 /* a14 -> [(local3)] */ # e5: e931
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # e7: c911
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # e9: d921
|
||||
mov a12, a2 /* arg0 */ # eb: cd02
|
||||
l32i a13, a2, 204 /* [arg0+0xcc] */ # ed: d22233
|
||||
movi a14, 0 /* 0x00000000 */ # f0: 0c0e
|
||||
bnez a13, .Lbr008 # f2: cc1d
|
||||
j .Lbr012 # f4: 061000
|
||||
.Lbr008: l32i a2, a13, 28 /* [[arg0+0xcc]+0x1c] */ # f7: 287d
|
||||
s32i a2, a12, 204 /* [[arg0+0xcc]+0x1c] -> [arg0+0xcc] */ # f9: 226c33
|
||||
call0 chm_check_same_channel # fc: 01f7ffc0
|
||||
# 100: 0000
|
||||
beqz a2, .Lbr009 # 102: 8c92
|
||||
mov a2, a13 /* [arg0+0xcc] */ # 104: 2d0d
|
||||
call0 ppTxPkt # 106: 01f5ffc0
|
||||
# 10a: 0000
|
||||
j .Lbr010 # 10c: c60300
|
||||
.Lbr009: movi a5, g_ic # 10f: 51f1ff
|
||||
addi a4, a13, 28 /* [arg0+0xcc]+0x1c */ # 112: 42cd1c
|
||||
l32i a6, a5, 0x1c4 /* [g_ic+0x1c4] */ # 115: 622571
|
||||
s32i a14, a13, 28 /* 0x00000000 -> [[arg0+0xcc]+0x1c] */ # 118: e97d
|
||||
s32i a13, a6, 0 /* [arg0+0xcc] -> [[g_ic+0x1c4]] */ # 11a: d906
|
||||
s32i a4, a5, 0x1c4 /* [arg0+0xcc]+0x1c -> [g_ic+0x1c4] */ # 11c: 426571
|
||||
.Lbr010: l32i a7, a12, 192 /* [arg0+0xc0] */ # 11f: 722c30
|
||||
l32i a13, a12, 204 /* [arg0+0xcc] */ # 122: d22c33
|
||||
addi a7, a7, -1 /* [arg0+0xc0]-0x1 */ # 125: 0b77
|
||||
s32i a7, a12, 192 /* [arg0+0xc0]-0x1 -> [arg0+0xc0] */ # 127: 726c30
|
||||
beqz a13, .Lbr011 # 12a: 8c1d
|
||||
j .Lbr008 # 12c: c6f1ff
|
||||
.Lbr011: s32i a14, a12, 208 /* 0x00000000 -> [arg0+0xd0] */ # 12f: e26c34
|
||||
s32i a14, a12, 204 /* 0x00000000 -> [arg0+0xcc] */ # 132: e26c33
|
||||
s32i a14, a12, 212 /* 0x00000000 -> [arg0+0xd4] */ # 135: e26c35
|
||||
.Lbr012: l32i a0, sp, 0 /* [(local0)] */ # 138: 0801
|
||||
s32i a14, a12, 192 /* 0x00000000 -> [arg0+0xc0] */ # 13a: e26c30
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 13d: d821
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 13f: c811
|
||||
l32i a14, sp, 12 /* [(local3)] */ # 141: e831
|
||||
addi sp, sp, 16 /* (top of frame) */ # 143: 12c110
|
||||
ret # 146: 0df0
|
||||
|
||||
# Function @ .irom0.text+0x148
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global ieee80211_node_pwrsave
|
||||
.type ieee80211_node_pwrsave, @function
|
||||
ieee80211_node_pwrsave:
|
||||
addi sp, sp, -16 /* (local0) */ # 148: 12c1f0
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 14b: 0911
|
||||
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 14d: 2901
|
||||
l32i a0, a2, 8 /* [arg0+0x8] */ # 14f: 0822
|
||||
beqz a3, .Lbr013 # 151: 8c83
|
||||
movi a3, 16 /* 0x00000010 */ # 153: 1c03
|
||||
or a3, a0, a3 # 155: 303020
|
||||
s32i a3, a2, 8 /* a3 -> [arg0+0x8] */ # 158: 3922
|
||||
j .Lbr014 # 15a: c60500
|
||||
.Lbr013: movi a3, 0 /* 0x00000000 */ # 15d: 0c03
|
||||
movi a4, -17 /* 0xffffffef */ # 15f: 6cf4
|
||||
and a4, a0, a4 # 161: 404010
|
||||
s32i a4, a2, 8 /* a4 -> [arg0+0x8] */ # 164: 4922
|
||||
call0 ieee80211_set_tim # 166: 050000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 169: 0801
|
||||
l32i a5, a0, 192 /* [[(local0)]+0xc0] */ # 16b: 522030
|
||||
beqz a5, .Lbr014 # 16e: 8c35
|
||||
mov a2, a0 /* [(local0)] */ # 170: 2d00
|
||||
call0 .Lfunc001 # 172: c5f6ff
|
||||
.Lbr014: l32i a0, sp, 4 /* [(local1)] */ # 175: 0811
|
||||
addi sp, sp, 16 /* (top of frame) */ # 177: 12c110
|
||||
ret # 17a: 0df0
|
236
binary_sdk/libnet80211_stage1/ieee80211_proto.S
Normal file
236
binary_sdk/libnet80211_stage1/ieee80211_proto.S
Normal file
|
@ -0,0 +1,236 @@
|
|||
|
||||
.section .data, "aw", @progbits
|
||||
|
||||
.global ieee80211_addr_bcast
|
||||
.type ieee80211_addr_bcast, @object
|
||||
ieee80211_addr_bcast:
|
||||
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
# 4: 00000400
|
||||
# 8: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xc
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global ieee80211_proto_attach
|
||||
.type ieee80211_proto_attach, @function
|
||||
ieee80211_proto_attach:
|
||||
movi a3, 2 /* 0x00000002 */ # c: 0c23
|
||||
movi a4, 0x00040000 # e: 41fdff
|
||||
movi a6, 1 /* 0x00000001 */ # 11: 0c16
|
||||
mov a5, a2 /* arg0 */ # 13: 5d02
|
||||
addi sp, sp, -16 /* (local0) */ # 15: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 18: 0901
|
||||
movi a2, ieee80211_tx_mgt_cb # 1a: 21f9ff
|
||||
l32i a0, a5, 28 /* [arg0+0x1c] */ # 1d: 0875
|
||||
s32i a6, a5, 12 /* 0x00000001 -> [arg0+0xc] */ # 1f: 6935
|
||||
or a0, a0, a4 # 21: 400020
|
||||
s32i a0, a5, 28 /* a0 -> [arg0+0x1c] */ # 24: 0975
|
||||
call0 ppRegisterTxCallback # 26: 01f8ffc0
|
||||
# 2a: 0000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 2c: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 2e: 12c110
|
||||
ret # 31: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x34
|
||||
.balign 4
|
||||
.global ieee80211_set_shortslottime
|
||||
.type ieee80211_set_shortslottime, @function
|
||||
ieee80211_set_shortslottime:
|
||||
movi a6, 1024 /* 0x00000400 */ # 34: 62a400
|
||||
l32i a5, a2, 28 /* [arg0+0x1c] */ # 37: 5872
|
||||
movi a4, -1025 /* 0xfffffbff */ # 39: 42abff
|
||||
and a4, a5, a4 # 3c: 404510
|
||||
or a5, a5, a6 # 3f: 605520
|
||||
moveqz a5, a4, a3 # 42: 305483
|
||||
s32i a5, a2, 28 /* a5 -> [arg0+0x1c] */ # 45: 5972
|
||||
ret /* arg0 */ # 47: 0df0
|
||||
|
||||
.literal_position # 4c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x50
|
||||
.balign 4
|
||||
.global ieee80211_iserp_rateset
|
||||
.type ieee80211_iserp_rateset, @function
|
||||
ieee80211_iserp_rateset:
|
||||
l8ui a8, a2, 0 /* [arg0] */ # 50: 820200
|
||||
bltui a8, 7, .Lbr003 # 53: b6781e
|
||||
movi a9, .Ldata001 # 56: 91fdff
|
||||
movi a10, 0 /* 0x00000000 */ # 59: 0c0a
|
||||
.Lbr001: blti a8, 1, .Lbr003 # 5b: a61816
|
||||
movi a5, 0 /* 0x00000000 */ # 5e: 0c05
|
||||
l32i a6, a9, 0 # 60: 6809
|
||||
.Lbr002: add a7, a5, a2 # 62: 2a75
|
||||
l8ui a7, a7, 1 # 64: 720701
|
||||
extui a7, a7, 0, 7 # 67: 707064
|
||||
beq a6, a7, .Lbr004 # 6a: 77160b
|
||||
blt a6, a7, .Lbr003 # 6d: 772604
|
||||
addi a5, a5, 1 # 70: 1b55
|
||||
bne a5, a8, .Lbr002 # 72: 8795ec
|
||||
.Lbr003: movi a2, 0 /* 0x00000000 */ # 75: 0c02
|
||||
ret /* 0x00000000 */ # 77: 0df0
|
||||
.Lbr004: addi a9, a9, 4 # 79: 4b99
|
||||
addi a10, a10, 1 # 7b: 1baa
|
||||
bnei a10, 7, .Lbr001 # 7d: 667ada
|
||||
movi a2, 1 /* 0x00000001 */ # 80: 0c12
|
||||
ret /* 0x00000001 */ # 82: 0df0
|
||||
|
||||
.literal_position # 84: 20000000
|
||||
|
||||
# Function @ .irom0.text+0x88
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.Lfunc001: addi sp, sp, -16 /* (local0) */ # 88: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 8b: 0901
|
||||
l8ui a0, a2, 0 /* [arg0] */ # 8d: 020200
|
||||
beqz a0, .Lbr009 # 90: bcf0
|
||||
movi a9, 0 /* 0x00000000 */ # 92: 0c09
|
||||
movi a11, 128 /* 0x00000080 */ # 94: b2a080
|
||||
movi a8, .Ldata002 # 97: 81fbff
|
||||
slli a10, a3, 4 # 9a: c0a311
|
||||
add a8, a8, a10 # 9d: aa88
|
||||
l8ui a7, a8, 0 # 9f: 720800
|
||||
.Lbr005: bnez a4, .Lbr006 # a2: cc94
|
||||
add a3, a2, a9 # a4: 9a32
|
||||
l8ui a0, a3, 1 # a6: 020301
|
||||
extui a0, a0, 0, 7 # a9: 000064
|
||||
s8i a0, a3, 1 # ac: 024301
|
||||
.Lbr006: beqz a7, .Lbr008 # af: 9c57
|
||||
movi a0, 0 /* 0x00000000 */ # b1: 0c00
|
||||
add a10, a2, a9 # b3: 9aa2
|
||||
l8ui a3, a10, 1 # b5: 320a01
|
||||
.Lbr007: add a5, a8, a0 # b8: 0a58
|
||||
l8ui a5, a5, 1 # ba: 520501
|
||||
addi a0, a0, 1 # bd: 1b00
|
||||
bne a5, a3, .Lbr010 # bf: 379517
|
||||
or a6, a3, a11 # c2: b06320
|
||||
s8i a6, a10, 1 # c5: 624a01
|
||||
.Lbr008: l8ui a10, a2, 0 /* [arg0] */ # c8: a20200
|
||||
addi a9, a9, 1 # cb: 1b99
|
||||
extui a9, a9, 0, 8 # cd: 909074
|
||||
bltu a9, a10, .Lbr005 # d0: a739ce
|
||||
.Lbr009: l32i a0, sp, 0 /* [(local0)] */ # d3: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # d5: 12c110
|
||||
ret /* arg0 */ # d8: 0df0
|
||||
.Lbr010: extui a0, a0, 0, 8 # da: 000074
|
||||
bne a7, a0, .Lbr007 # dd: 0797d7
|
||||
j .Lbr008 # e0: 06f9ff
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0xe4
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global ieee80211_setbasicrates
|
||||
.type ieee80211_setbasicrates, @function
|
||||
ieee80211_setbasicrates:
|
||||
movi a4, 0 /* 0x00000000 */ # e4: 0c04
|
||||
addi sp, sp, -16 /* (local0) */ # e6: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # e9: 0901
|
||||
call0 .Lfunc001 # eb: c5f9ff
|
||||
l32i a0, sp, 0 /* [(local0)] */ # ee: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # f0: 12c110
|
||||
ret # f3: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0xf8
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global ieee80211_addbasicrates
|
||||
.type ieee80211_addbasicrates, @function
|
||||
ieee80211_addbasicrates:
|
||||
movi a4, 1 /* 0x00000001 */ # f8: 0c14
|
||||
addi sp, sp, -16 /* (local0) */ # fa: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # fd: 0901
|
||||
call0 .Lfunc001 # ff: 85f8ff
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 102: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 104: 12c110
|
||||
ret # 107: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x10c
|
||||
.balign 4
|
||||
.global ieee80211_wme_initparams
|
||||
.type ieee80211_wme_initparams, @function
|
||||
ieee80211_wme_initparams:
|
||||
ret /* arg0 */ # 10c: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x110
|
||||
.balign 4
|
||||
.global ieee80211_wme_updateparams
|
||||
.type ieee80211_wme_updateparams, @function
|
||||
ieee80211_wme_updateparams:
|
||||
ret /* arg0 */ # 110: 0df0
|
||||
|
||||
.literal_position # 114: 00000000
|
||||
# 118: 00000000
|
||||
# 11c: 00000000
|
||||
# 120: 00000000
|
||||
# 124: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x128
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global ieee80211_mlme_connect_bss
|
||||
.type ieee80211_mlme_connect_bss, @function
|
||||
ieee80211_mlme_connect_bss:
|
||||
mov a3, a2 /* arg0 */ # 128: 3d02
|
||||
addi sp, sp, -16 /* (local0) */ # 12a: 12c1f0
|
||||
s32i a5, sp, 4 /* arg3 -> [(local1)] */ # 12d: 5911
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 12f: 0921
|
||||
movi a2, g_ic # 131: 21f8ff
|
||||
s32i a4, sp, 0 /* arg2 -> [(local0)] */ # 134: 4901
|
||||
l32i a2, a2, 16 /* [g_ic+0x10] */ # 136: 2842
|
||||
movi a4, 6 /* 0x00000006 */ # 138: 0c64
|
||||
s32i a3, a2, 136 /* arg0 -> [[g_ic+0x10]+0x88] */ # 13a: 326222
|
||||
addi a2, a2, 64 /* [g_ic+0x10]+0x40 */ # 13d: 22c240
|
||||
call0 memcpy # 140: 01f7ffc0
|
||||
# 144: 0000
|
||||
l32i a3, sp, 4 /* [(local1)] */ # 146: 3811
|
||||
movi a0, g_ic # 148: 01f4ff
|
||||
beqz a3, .Lbr011 # 14b: 8ce3
|
||||
movi a3, 2 /* 0x00000002 */ # 14d: 0c23
|
||||
movi a4, 176 /* 0x000000b0 */ # 14f: 42a0b0
|
||||
mov a2, a0 /* g_ic */ # 152: 2d00
|
||||
call0 ieee80211_sta_new_state # 154: 01f3ffc0
|
||||
# 158: 0000
|
||||
j .Lbr012 # 15a: 860400
|
||||
.Lbr011: movi a3, 3 /* 0x00000003 */ # 15d: 0c33
|
||||
mov a2, a0 /* g_ic */ # 15f: 2d00
|
||||
l32i a6, sp, 0 /* [(local0)] */ # 161: 6801
|
||||
movi a5, 32 /* 0x00000020 */ # 163: 2c05
|
||||
movi a4, 0 /* 0x00000000 */ # 165: 0c04
|
||||
movnez a4, a5, a6 # 167: 604593
|
||||
call0 ieee80211_sta_new_state # 16a: 01eeffc0
|
||||
# 16e: 0000
|
||||
.Lbr012: l32i a0, sp, 8 /* [(local2)] */ # 170: 0821
|
||||
addi sp, sp, 16 /* (top of frame) */ # 172: 12c110
|
||||
ret # 175: 0df0
|
||||
|
||||
.section .rodata, "a", @progbits
|
||||
|
||||
.Ldata001: .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
||||
.byte 0x0b, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
|
||||
.byte 0x0c, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00
|
||||
.byte 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.Ldata002: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x02, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x04, 0x02, 0x04, 0x0b, 0x16, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
1789
binary_sdk/libnet80211_stage1/ieee80211_scan.S
Normal file
1789
binary_sdk/libnet80211_stage1/ieee80211_scan.S
Normal file
File diff suppressed because it is too large
Load diff
1336
binary_sdk/libnet80211_stage1/ieee80211_sta.S
Normal file
1336
binary_sdk/libnet80211_stage1/ieee80211_sta.S
Normal file
File diff suppressed because it is too large
Load diff
0
binary_sdk/libnet80211_stage1/if_eagle.S
Normal file
0
binary_sdk/libnet80211_stage1/if_eagle.S
Normal file
497
binary_sdk/libnet80211_stage1/wl_chm.S
Normal file
497
binary_sdk/libnet80211_stage1/wl_chm.S
Normal file
|
@ -0,0 +1,497 @@
|
|||
|
||||
.section .text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
|
||||
# Function @ .text+0x4
|
||||
.balign 4
|
||||
.global chm_get_current_channel
|
||||
.type chm_get_current_channel, @function
|
||||
chm_get_current_channel:
|
||||
movi a2, .Ldata001 # 4: 21ffff
|
||||
l32i a2, a2, 60 /* [.Ldata009] */ # 7: 28f2
|
||||
ret /* [.Ldata009] */ # 9: 0df0
|
||||
|
||||
.section .bss, "aw", @nobits
|
||||
|
||||
.Ldata001: .word 0x00000000 # 0: 00000000
|
||||
.Ldata002: .word 0x00000000 # 4: 00000000
|
||||
.Ldata003: .word 0x00000000 # 8: 00000000
|
||||
.Ldata004: .word 0x00000000 # c: 00000000
|
||||
.Ldata005: .word 0x00000000 # 10: 00000000
|
||||
.Ldata006: .word 0x00000000 # 14: 00000000
|
||||
.Ldata007: .word 0x00000000 # 18: 00000000
|
||||
.Ldata008: .word 0x00000000 # 1c: 00000000
|
||||
.Label001: .space 28
|
||||
.Ldata009: .word 0x00000000 # 3c: 00000000
|
||||
.Ldata010: .byte 0x00
|
||||
.Ldata011: .byte 0x00
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00feef3f
|
||||
# 4: 00000000
|
||||
# 8: 00000000
|
||||
# c: 00000000
|
||||
# 10: 00000000
|
||||
# 14: 20000000
|
||||
# 18: 48020000
|
||||
# 1c: 00000000
|
||||
# 20: 00000000
|
||||
# 24: 00000000
|
||||
# 28: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x2c
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global chm_init
|
||||
.type chm_init, @function
|
||||
chm_init: movi a4, -32 /* 0xffffffe0 */ # 2c: 6c04
|
||||
movi a5, NMIIrqIsOn # 2e: 51f7ff
|
||||
movi a3, g_ic+0x180 # 31: 31f4ff
|
||||
movi a6, .Ldata001 # 34: 61f5ff
|
||||
addi sp, sp, -32 /* (local0) */ # 37: 12c1e0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 3a: c911
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 3c: d921
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 3e: 0901
|
||||
movi a13, 0x3feffe00 # 40: d1f0ff
|
||||
movi a0, 0 /* 0x00000000 */ # 43: 0c00
|
||||
s32i a2, a6, 0 /* arg0 -> [.Ldata001] */ # 45: 2906
|
||||
mov a12, a2 /* arg0 */ # 47: cd02
|
||||
l8ui a6, a3, 96 /* [g_ic+0x1e0] */ # 49: 620360
|
||||
l8ui a2, a5, 0 /* [NMIIrqIsOn] */ # 4c: 220500
|
||||
addmi a3, a3, 256 /* g_ic+0x280 */ # 4f: 32d301
|
||||
l8ui a3, a3, 141 /* [g_ic+0x30d] */ # 52: 32038d
|
||||
addi a6, a6, -1 /* [g_ic+0x1e0]-0x1 */ # 55: 0b66
|
||||
addi a3, a3, -1 /* [g_ic+0x30d]-0x1 */ # 57: 0b33
|
||||
extui a3, a3, 0, 8 # 59: 303074
|
||||
movnez a0, a3, a6 # 5c: 600393
|
||||
s32i a0, sp, 16 /* a0 -> [(local4)] */ # 5f: 0941
|
||||
bnez a2, .Lbr002 # 61: ec32
|
||||
call0 vPortEnterCritical # 63: 01eeffc0
|
||||
# 67: 0000
|
||||
movi a4, -32 /* 0xffffffe0 */ # 69: 6c04
|
||||
.Lbr001: memw # 6b: c02000
|
||||
l32i a9, a13, 0x200 /* [0x3ff00000] */ # 6e: 922d80
|
||||
and a9, a9, a4 # 71: 409910
|
||||
memw # 74: c02000
|
||||
s32i a9, a13, 0x200 /* a9 -> [0x3ff00000] */ # 77: 926d80
|
||||
memw # 7a: c02000
|
||||
l32i a8, a13, 0x200 /* [0x3ff00000] */ # 7d: 822d80
|
||||
bbsi a8, 0, .Lbr001 # 80: 07e8e7
|
||||
l32i a0, sp, 16 /* [(local4)] */ # 83: 0841
|
||||
movi a5, NMIIrqIsOn # 85: 51e2ff
|
||||
.Lbr002: movi a2, 132 /* 0x00000084 */ # 88: 22a084
|
||||
addx2 a0, a0, a0 # 8b: 000090
|
||||
addx4 a0, a0, a12 # 8e: c000a0
|
||||
add a0, a0, a2 # 91: 2a00
|
||||
s32i a0, a12, 0x14c /* a0 -> [arg0+0x14c] */ # 93: 026c53
|
||||
l8ui a10, a5, 0 /* [NMIIrqIsOn] */ # 96: a20500
|
||||
s32i a0, sp, 12 /* a0 -> [(local3)] */ # 99: 0931
|
||||
bnez a10, .Lbr003 # 9b: dcaa
|
||||
memw # 9d: c02000
|
||||
l32i a2, a13, 0x200 /* [0x3ff00000] */ # a0: 222d80
|
||||
movi a3, 1 /* 0x00000001 */ # a3: 0c13
|
||||
and a2, a2, a4 # a5: 402210
|
||||
or a2, a2, a3 # a8: 302220
|
||||
memw # ab: c02000
|
||||
s32i a2, a13, 0x200 /* a2 -> [0x3ff00000] */ # ae: 226d80
|
||||
call0 vPortExitCritical # b1: 01dbffc0
|
||||
# b5: 0000
|
||||
l32i a0, sp, 12 /* [(local3)] */ # b7: 0831
|
||||
.Lbr003: mov a2, a0 # b9: 2d00
|
||||
call0 chm_set_current_channel # bb: 01daffc0
|
||||
# bf: 0000
|
||||
movi a2, .Label001 # c1: 21d4ff
|
||||
movi a3, .Lfunc002 # c4: 31d5ff
|
||||
movi a4, 0 /* 0x00000000 */ # c7: 0c04
|
||||
call0 os_timer_setfn # c9: 01d7ffc0
|
||||
# cd: 0000
|
||||
l32i a12, sp, 4 /* [(local1)] */ # cf: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # d1: d821
|
||||
l32i a0, sp, 0 /* [(local0)] */ # d3: 0801
|
||||
addi sp, sp, 32 /* (top of frame) */ # d5: 12c120
|
||||
ret # d8: 0df0
|
||||
|
||||
.literal_position # dc: 00000000
|
||||
# e0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xe4
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word @ -0x8
|
||||
# (local3): word @ -0x4
|
||||
.balign 4
|
||||
.global chm_acquire_lock
|
||||
.type chm_acquire_lock, @function
|
||||
chm_acquire_lock:
|
||||
addi sp, sp, -16 /* (local0) */ # e4: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # e7: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # e9: 0901
|
||||
mov a12, a2 /* arg0 */ # eb: cd02
|
||||
movi a0, .Ldata001 # ed: 01fbff
|
||||
mov a2, a4 /* arg2 */ # f0: 2d04
|
||||
l8ui a4, a0, 64 /* [.Ldata010] */ # f2: 420040
|
||||
l8ui a5, a0, 65 /* [.Ldata011] */ # f5: 520041
|
||||
beqz a4, .Lbr005 # f8: 9c44
|
||||
s32i a2, sp, 12 /* arg2 -> [(local3)] */ # fa: 2931
|
||||
s32i a3, sp, 8 /* arg1 -> [(local2)] */ # fc: 3921
|
||||
bgeu a5, a12, .Lbr004 # fe: c7b504
|
||||
movi a2, 3 /* 0x00000003 */ # 101: 0c32
|
||||
j .Lbr006 # 103: c60500
|
||||
.Lbr004: call0 chm_cancel_op # 106: 050000
|
||||
l32i a2, sp, 12 /* [(local3)] */ # 109: 2831
|
||||
movi a0, .Ldata001 # 10b: 01f5ff
|
||||
l32i a3, sp, 8 /* [(local2)] */ # 10e: 3821
|
||||
.Lbr005: s8i a12, a0, 65 /* arg0 -> [.Ldata011] */ # 110: c24041
|
||||
s32i a3, a0, 24 /* a3 -> [.Ldata007] */ # 113: 3960
|
||||
s32i a2, a0, 28 /* a2 -> [.Ldata008] */ # 115: 2970
|
||||
movi a6, 1 /* 0x00000001 */ # 117: 0c16
|
||||
movi a2, 0 /* 0x00000000 */ # 119: 0c02
|
||||
s8i a6, a0, 64 /* 0x01 -> [.Ldata010] */ # 11b: 624040
|
||||
.Lbr006: l32i a12, sp, 4 /* [(local1)] */ # 11e: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 120: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 122: 12c110
|
||||
ret # 125: 0df0
|
||||
|
||||
.literal_position # 128: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x12c
|
||||
.balign 4
|
||||
.global chm_release_lock
|
||||
.type chm_release_lock, @function
|
||||
chm_release_lock:
|
||||
movi a3, .Ldata001 # 12c: 31ffff
|
||||
movi a2, 0 /* 0x00000000 */ # 12f: 0c02
|
||||
s32i a2, a3, 28 /* 0x00000000 -> [.Ldata008] */ # 131: 2973
|
||||
s32i a2, a3, 24 /* 0x00000000 -> [.Ldata007] */ # 133: 2963
|
||||
s8i a2, a3, 64 /* 0x00 -> [.Ldata010] */ # 135: 224340
|
||||
s8i a2, a3, 65 /* 0x00 -> [.Ldata011] */ # 138: 224341
|
||||
ret /* 0x00000000 */ # 13b: 0df0
|
||||
|
||||
.literal_position # 140: 00000000
|
||||
# 144: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x148
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global chm_start_op
|
||||
.type chm_start_op, @function
|
||||
chm_start_op:
|
||||
addi sp, sp, -16 /* (local0) */ # 148: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 14b: 0901
|
||||
movi a0, .Ldata001 # 14d: 01fcff
|
||||
l32i a7, a0, 4 /* [.Ldata002] */ # 150: 7810
|
||||
beqz a7, .Lbr010 # 152: 8cf7
|
||||
movi a2, 3 /* 0x00000003 */ # 154: 0c32
|
||||
j .Lbr009 # 156: 060100
|
||||
.Lbr007: call0 .Lfunc001 # 159: 450400
|
||||
.Lbr008: movi a2, 0 /* 0x00000000 */ # 15c: 0c02
|
||||
.Lbr009: l32i a0, sp, 0 /* [(local0)] */ # 15e: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 160: 12c110
|
||||
ret # 163: 0df0
|
||||
.Lbr010: s32i a2, a0, 4 /* arg0 -> [.Ldata002] */ # 165: 2910
|
||||
s32i a4, a0, 16 /* arg2 -> [.Ldata005] */ # 167: 4940
|
||||
movi a8, g_ic # 169: 81f6ff
|
||||
s32i a5, a0, 20 /* arg3 -> [.Ldata006] */ # 16c: 5950
|
||||
l32i a8, a8, 0 /* [g_ic] */ # 16e: 8808
|
||||
s32i a3, a0, 8 /* arg1 -> [.Ldata003] */ # 170: 3920
|
||||
l32i a8, a8, 0 /* [[g_ic]] */ # 172: 8808
|
||||
s32i a6, a0, 12 /* arg4 -> [.Ldata004] */ # 174: 6930
|
||||
bbci a8, 1, .Lbr007 # 176: 1768df
|
||||
call0 .Lfunc001 # 179: 450200
|
||||
j .Lbr008 # 17c: 06f7ff
|
||||
|
||||
.literal_position # 180: 00000000
|
||||
# 184: 04000000
|
||||
# 188: 20000000
|
||||
# 18c: 00000000
|
||||
# 190: 00000000
|
||||
# 194: 00000000
|
||||
# 198: 00000000
|
||||
# 19c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x1a0
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word @ -0x8
|
||||
# (local3): word @ -0x4
|
||||
.balign 4
|
||||
.Lfunc001: addi sp, sp, -16 /* (local0) */ # 1a0: 12c1f0
|
||||
s32i a13, sp, 12 /* a13 -> [(local3)] */ # 1a3: d931
|
||||
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 1a5: c921
|
||||
movi a13, .Ldata001 # 1a7: d1f6ff
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 1aa: 0911
|
||||
l32i a12, a13, 16 /* [.Ldata005] */ # 1ac: c84d
|
||||
l32i a0, a13, 12 /* [.Ldata004] */ # 1ae: 083d
|
||||
s32i a0, sp, 0 /* [.Ldata004] -> [(local0)] */ # 1b0: 0901
|
||||
call0 chm_get_current_channel # 1b2: 01f6ffc0
|
||||
# 1b6: 0000
|
||||
mov a3, a2 # 1b8: 3d02
|
||||
l32i a2, a13, 4 /* [.Ldata002] */ # 1ba: 281d
|
||||
l16ui a3, a3, 4 # 1bc: 321302
|
||||
l16ui a4, a2, 4 /* [[.Ldata002]+0x4] */ # 1bf: 421202
|
||||
beq a3, a4, .Lbr011 # 1c2: 471305
|
||||
call0 chm_set_current_channel # 1c5: 01f2ffc0
|
||||
# 1c9: 0000
|
||||
.Lbr011: beqz a12, .Lbr012 # 1cb: 8c5c
|
||||
l32i a2, sp, 0 /* [(local0)] */ # 1cd: 2801
|
||||
movi a3, 0 /* 0x00000000 */ # 1cf: 0c03
|
||||
callx0 a12 /* [.Ldata005] */ # 1d1: c00c00
|
||||
.Lbr012: l32i a4, a13, 8 /* [.Ldata003] */ # 1d4: 482d
|
||||
bnez a4, .Lbr013 # 1d6: ccc4
|
||||
movi a2, .Ldata002 # 1d8: 21ebff
|
||||
movi a3, 20 /* 0x00000014 */ # 1db: 1c43
|
||||
call0 bzero # 1dd: 01edffc0
|
||||
# 1e1: 0000
|
||||
j .Lbr014 # 1e3: 860500
|
||||
.Lbr013: movi a12, .Label001 # 1e6: c1e8ff
|
||||
mov a2, a12 /* .Label001 */ # 1e9: 2d0c
|
||||
call0 os_timer_disarm # 1eb: 01ebffc0
|
||||
# 1ef: 0000
|
||||
mov a2, a12 /* .Label001 */ # 1f1: 2d0c
|
||||
l32i a3, a13, 8 /* [.Ldata003] */ # 1f3: 382d
|
||||
movi a4, 0 /* 0x00000000 */ # 1f5: 0c04
|
||||
call0 os_timer_arm # 1f7: 01e9ffc0
|
||||
# 1fb: 0000
|
||||
.Lbr014: l32i a12, sp, 8 /* [(local2)] */ # 1fd: c821
|
||||
l32i a13, sp, 12 /* [(local3)] */ # 1ff: d831
|
||||
l32i a0, sp, 4 /* [(local1)] */ # 201: 0811
|
||||
addi sp, sp, 16 /* (top of frame) */ # 203: 12c110
|
||||
ret # 206: 0df0
|
||||
|
||||
.literal_position # 208: 00000000
|
||||
# 20c: 00000000
|
||||
# 210: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x214
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global chm_end_op
|
||||
.type chm_end_op, @function
|
||||
chm_end_op: movi a3, -4 /* 0xfffffffc */ # 214: 7cc3
|
||||
addi sp, sp, -16 /* (local0) */ # 216: 12c1f0
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 219: 0911
|
||||
movi a0, .Ldata001 # 21b: 01fbff
|
||||
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 21e: 2901
|
||||
beq a0, a3, .Lbr015 # 220: 37101d
|
||||
mov a2, a0 /* .Ldata001 */ # 223: 2d00
|
||||
l32i a3, a2, 20 /* [.Ldata006] */ # 225: 3852
|
||||
s32i a3, sp, 8 /* [.Ldata006] -> [(local2)] */ # 227: 3921
|
||||
addi a2, a2, 4 /* .Ldata002 */ # 229: 4b22
|
||||
movi a3, 20 /* 0x00000014 */ # 22b: 1c43
|
||||
call0 bzero # 22d: 01f8ffc0
|
||||
# 231: 0000
|
||||
l32i a5, sp, 8 /* [(local2)] */ # 233: 5821
|
||||
beqz a5, .Lbr015 # 235: 8c85
|
||||
movi a2, .Ldata001 # 237: 21f5ff
|
||||
l32i a3, sp, 0 /* [(local0)] */ # 23a: 3801
|
||||
l32i a2, a2, 12 /* [.Ldata004] */ # 23c: 2832
|
||||
callx0 a5 /* [(local2)] */ # 23e: c00500
|
||||
.Lbr015: l32i a0, sp, 4 /* [(local1)] */ # 241: 0811
|
||||
addi sp, sp, 16 /* (top of frame) */ # 243: 12c110
|
||||
ret # 246: 0df0
|
||||
|
||||
# Function @ .irom0.text+0x248
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.Lfunc002: movi a2, 0 /* 0x00000000 */ # 248: 0c02
|
||||
addi sp, sp, -16 /* (local0) */ # 24a: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 24d: 0901
|
||||
call0 chm_end_op # 24f: 050000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 252: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 254: 12c110
|
||||
ret # 257: 0df0
|
||||
|
||||
.literal_position # 25c: 00000000
|
||||
# 260: 00000000
|
||||
# 264: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x268
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global chm_cancel_op
|
||||
.type chm_cancel_op, @function
|
||||
chm_cancel_op:
|
||||
addi sp, sp, -16 /* (local0) */ # 268: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 26b: 0901
|
||||
movi a0, .Ldata001 # 26d: 01fbff
|
||||
l32i a2, a0, 4 /* [.Ldata002] */ # 270: 2810
|
||||
beqz a2, .Lbr016 # 272: 9c12
|
||||
mov a2, a0 /* .Ldata001 */ # 274: 2d00
|
||||
addi a2, a2, 32 /* .Label001 */ # 276: 22c220
|
||||
call0 os_timer_disarm # 279: 01faffc0
|
||||
# 27d: 0000
|
||||
movi a2, 4 /* 0x00000004 */ # 27f: 0c42
|
||||
call0 chm_end_op # 281: 050000
|
||||
movi a0, .Ldata001 # 284: 01f7ff
|
||||
.Lbr016: l32i a5, a0, 24 /* [.Ldata007] */ # 287: 5860
|
||||
beqz a5, .Lbr017 # 289: 8c55
|
||||
movi a3, 4 /* 0x00000004 */ # 28b: 0c43
|
||||
l32i a2, a0, 28 /* [.Ldata008] */ # 28d: 2870
|
||||
callx0 a5 /* [.Ldata007] */ # 28f: c00500
|
||||
.Lbr017: l32i a0, sp, 0 /* [(local0)] */ # 292: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 294: 12c110
|
||||
ret # 297: 0df0
|
||||
|
||||
.literal_position # 29c: 00000000
|
||||
# 2a0: 00000000
|
||||
# 2a4: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x2a8
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global chm_return_home_channel
|
||||
.type chm_return_home_channel, @function
|
||||
chm_return_home_channel:
|
||||
addi sp, sp, -16 /* (local0) */ # 2a8: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 2ab: c911
|
||||
movi a12, g_ic # 2ad: c1fbff
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 2b0: 0901
|
||||
l32i a12, a12, 0x14c /* [g_ic+0x14c] */ # 2b2: c22c53
|
||||
call0 chm_get_current_channel # 2b5: 01faffc0
|
||||
# 2b9: 0000
|
||||
l16ui a0, a2, 4 # 2bb: 021202
|
||||
l16ui a2, a12, 4 /* [[g_ic+0x14c]+0x4] */ # 2be: 221c02
|
||||
beq a0, a2, .Lbr018 # 2c1: 271007
|
||||
mov a2, a12 /* [g_ic+0x14c] */ # 2c4: 2d0c
|
||||
call0 chm_set_current_channel # 2c6: 01f7ffc0
|
||||
# 2ca: 0000
|
||||
.Lbr018: l32i a12, sp, 4 /* [(local1)] */ # 2cc: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 2ce: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 2d0: 12c110
|
||||
ret # 2d3: 0df0
|
||||
|
||||
.literal_position # 2d8: 00000000
|
||||
# 2dc: 00feef3f
|
||||
# 2e0: 00000000
|
||||
# 2e4: 00000000
|
||||
# 2e8: 00000000
|
||||
# 2ec: 00000000
|
||||
# 2f0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x2f4
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global chm_set_current_channel
|
||||
.type chm_set_current_channel, @function
|
||||
chm_set_current_channel:
|
||||
movi a3, 1 /* 0x00000001 */ # 2f4: 0c13
|
||||
movi a4, 0 /* 0x00000000 */ # 2f6: 0c04
|
||||
addi sp, sp, -16 /* (local0) */ # 2f8: 12c1f0
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 2fb: d921
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 2fd: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 2ff: 0901
|
||||
mov a12, a2 /* arg0 */ # 301: cd02
|
||||
l16ui a2, a2, 4 /* [arg0+0x4] */ # 303: 221202
|
||||
call0 phy_change_channel # 306: 01f8ffc0
|
||||
# 30a: 0000
|
||||
movi a2, NMIIrqIsOn # 30c: 21f3ff
|
||||
movi a0, -32 /* 0xffffffe0 */ # 30f: 6c00
|
||||
l8ui a2, a2, 0 /* [NMIIrqIsOn] */ # 311: 220200
|
||||
movi a13, 0x3feffe00 # 314: d1f2ff
|
||||
bnez a2, .Lbr020 # 317: ec42
|
||||
call0 vPortEnterCritical # 319: 01f4ffc0
|
||||
# 31d: 0000
|
||||
movi a0, -32 /* 0xffffffe0 */ # 31f: 6c00
|
||||
.Lbr019: memw # 321: c02000
|
||||
l32i a5, a13, 0x200 /* [0x3ff00000] */ # 324: 522d80
|
||||
and a5, a5, a0 # 327: 005510
|
||||
memw # 32a: c02000
|
||||
s32i a5, a13, 0x200 /* a5 -> [0x3ff00000] */ # 32d: 526d80
|
||||
memw # 330: c02000
|
||||
l32i a4, a13, 0x200 /* [0x3ff00000] */ # 333: 422d80
|
||||
bbsi a4, 0, .Lbr019 # 336: 07e4e7
|
||||
movi a2, NMIIrqIsOn # 339: 21e9ff
|
||||
l8ui a2, a2, 0 /* [NMIIrqIsOn] */ # 33c: 220200
|
||||
.Lbr020: movi a3, .Ldata001 # 33f: 31e9ff
|
||||
s32i a12, a3, 60 /* arg0 -> [.Ldata009] */ # 342: c9f3
|
||||
bnez a2, .Lbr021 # 344: dc82
|
||||
memw # 346: c02000
|
||||
l32i a4, a13, 0x200 /* [0x3ff00000] */ # 349: 422d80
|
||||
movi a5, 1 /* 0x00000001 */ # 34c: 0c15
|
||||
and a4, a4, a0 # 34e: 004410
|
||||
or a4, a4, a5 # 351: 504420
|
||||
memw # 354: c02000
|
||||
s32i a4, a13, 0x200 /* a4 -> [0x3ff00000] */ # 357: 426d80
|
||||
call0 vPortExitCritical # 35a: 01e5ffc0
|
||||
# 35e: 0000
|
||||
.Lbr021: l32i a12, sp, 4 /* [(local1)] */ # 360: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 362: d821
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 364: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 366: 12c110
|
||||
ret # 369: 0df0
|
||||
|
||||
.literal_position # 36c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x370
|
||||
.balign 4
|
||||
.global chm_freq2index
|
||||
.type chm_freq2index, @function
|
||||
chm_freq2index:
|
||||
movi a5, 0 /* 0x00000000 */ # 370: 0c05
|
||||
movi a6, .Ldata001 # 372: 61feff
|
||||
movi a7, 14 /* 0x0000000e */ # 375: 0ce7
|
||||
l32i a6, a6, 0 /* [.Ldata001] */ # 377: 6806
|
||||
.Lbr022: addx2 a8, a5, a5 # 379: 508590
|
||||
addx4 a8, a8, a6 # 37c: 6088a0
|
||||
l16ui a8, a8, 136 # 37f: 821844
|
||||
bne a8, a2, .Lbr023 # 382: 279803
|
||||
mov a2, a5 # 385: 2d05
|
||||
ret # 387: 0df0
|
||||
.Lbr023: addi a5, a5, 1 # 389: 1b55
|
||||
extui a5, a5, 0, 8 # 38b: 505074
|
||||
bne a5, a7, .Lbr022 # 38e: 7795e7
|
||||
movi a2, 255 /* 0x000000ff */ # 391: 22a0ff
|
||||
ret /* 0x000000ff */ # 394: 0df0
|
||||
|
||||
.literal_position # 398: 00000000
|
||||
# 39c: 00000000
|
||||
# 3a0: 00000000
|
||||
# 3a4: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x3a8
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global chm_check_same_channel
|
||||
.type chm_check_same_channel, @function
|
||||
chm_check_same_channel:
|
||||
movi a2, g_ic # 3a8: 21fcff
|
||||
addi sp, sp, -16 /* (local0) */ # 3ab: 12c1f0
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 3ae: 0911
|
||||
l32i a2, a2, 0x14c /* [g_ic+0x14c] */ # 3b0: 222253
|
||||
call0 ieee80211_chan2ieee # 3b3: 01faffc0
|
||||
# 3b7: 0000
|
||||
s32i a2, sp, 0 /* a2 -> [(local0)] */ # 3b9: 2901
|
||||
call0 chm_get_current_channel # 3bb: 01f9ffc0
|
||||
# 3bf: 0000
|
||||
call0 ieee80211_chan2ieee # 3c1: 01f8ffc0
|
||||
# 3c5: 0000
|
||||
movi a3, 0 /* 0x00000000 */ # 3c7: 0c03
|
||||
l32i a4, sp, 0 /* [(local0)] */ # 3c9: 4801
|
||||
l32i a0, sp, 4 /* [(local1)] */ # 3cb: 0811
|
||||
sub a4, a4, a2 # 3cd: 2044c0
|
||||
addi sp, sp, 16 /* (top of frame) */ # 3d0: 12c110
|
||||
movi a2, 1 /* 0x00000001 */ # 3d3: 0c12
|
||||
movnez a2, a3, a4 # 3d5: 402393
|
||||
ret # 3d8: 0df0
|
2572
binary_sdk/libnet80211_stage1/wl_cnx.S
Normal file
2572
binary_sdk/libnet80211_stage1/wl_cnx.S
Normal file
File diff suppressed because it is too large
Load diff
0
binary_sdk/libphy/ate_test.S
Normal file
0
binary_sdk/libphy/ate_test.S
Normal file
BIN
binary_sdk/libphy/ate_test.o
Normal file
BIN
binary_sdk/libphy/ate_test.o
Normal file
Binary file not shown.
251
binary_sdk/libphy/phy.S
Normal file
251
binary_sdk/libphy/phy.S
Normal file
|
@ -0,0 +1,251 @@
|
|||
|
||||
.section .text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
# 4: 00000000
|
||||
|
||||
# Function @ .text+0x8
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_register_phy_ops
|
||||
.type sdk_register_phy_ops, @function
|
||||
sdk_register_phy_ops:
|
||||
movi a3, 0 /* 0x00000000 */ # 8: 0c03
|
||||
addi sp, sp, -16 /* (local0) */ # a: 12c1f0
|
||||
mov a5, a2 /* arg0 */ # d: 5d02
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # f: 0901
|
||||
movi a0, .Ldata001 # 11: 01fbff
|
||||
movi a2, 1 /* 0x00000001 */ # 14: 0c12
|
||||
s32i a5, a0, 0 /* arg0 -> [.Ldata001] */ # 16: 5900
|
||||
call0 sdk_phy_init # 18: 01fbffc0
|
||||
# 1c: 0000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 1e: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 20: 12c110
|
||||
ret # 23: 0df0
|
||||
|
||||
.literal_position # 28: 00000000
|
||||
|
||||
# Function @ .text+0x2c
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_phy_change_channel
|
||||
.type sdk_phy_change_channel, @function
|
||||
sdk_phy_change_channel:
|
||||
addi sp, sp, -16 /* (local0) */ # 2c: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 2f: 0901
|
||||
movi a0, .Ldata001 # 31: 01fdff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # 34: 0800
|
||||
l32i a0, a0, 4 /* [[.Ldata001]+0x4] */ # 36: 0810
|
||||
callx0 a0 /* [[.Ldata001]+0x4] */ # 38: c00000
|
||||
movi a2, 0 /* 0x00000000 */ # 3b: 0c02
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 3d: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 3f: 12c110
|
||||
ret /* 0x00000000 */ # 42: 0df0
|
||||
|
||||
.literal_position # 44: 000af23f
|
||||
|
||||
# Function @ .text+0x48
|
||||
.balign 4
|
||||
.global sdk_phy_get_mactime
|
||||
.type sdk_phy_get_mactime, @function
|
||||
sdk_phy_get_mactime:
|
||||
movi a2, 0x3ff20a00 # 48: 21ffff
|
||||
memw # 4b: c02000
|
||||
l32i a2, a2, 0x200 /* [0x3ff20c00] */ # 4e: 222280
|
||||
ret /* [0x3ff20c00] */ # 51: 0df0
|
||||
|
||||
.section .bss, "aw", @nobits
|
||||
|
||||
.Ldata001: .word 0x00000000 # 0: 00000000
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x4
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_rf_init
|
||||
.type sdk_rf_init, @function
|
||||
sdk_rf_init:
|
||||
addi sp, sp, -16 /* (local0) */ # 4: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 7: 0901
|
||||
movi a0, .Ldata001 # 9: 01fdff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # c: 0800
|
||||
slli a4, a2, 24 # e: 804201
|
||||
l32i a0, a0, 0 /* [[.Ldata001]] */ # 11: 0800
|
||||
srai a2, a4, 24 # 13: 402831
|
||||
callx0 a0 /* [[.Ldata001]] */ # 16: c00000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 19: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 1b: 12c110
|
||||
ret # 1e: 0df0
|
||||
|
||||
.literal_position # 20: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x24
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_bb_init
|
||||
.type sdk_bb_init, @function
|
||||
sdk_bb_init:
|
||||
addi sp, sp, -16 /* (local0) */ # 24: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 27: 0901
|
||||
movi a0, .Ldata001 # 29: 01fdff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # 2c: 0800
|
||||
l32i a0, a0, 24 /* [[.Ldata001]+0x18] */ # 2e: 0860
|
||||
callx0 a0 /* [[.Ldata001]+0x18] */ # 30: c00000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 33: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 35: 12c110
|
||||
ret # 38: 0df0
|
||||
|
||||
.literal_position # 3c: 00000000
|
||||
# 40: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x44
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_phy_init
|
||||
.type sdk_phy_init, @function
|
||||
sdk_phy_init:
|
||||
addi sp, sp, -16 /* (local0) */ # 44: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 47: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 49: 0901
|
||||
mov a12, a3 /* arg1 */ # 4b: cd03
|
||||
movi a0, .Ldata001 # 4d: 01fbff
|
||||
slli a3, a2, 24 # 50: 803201
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # 53: 0800
|
||||
srai a2, a3, 24 # 55: 302831
|
||||
l32i a0, a0, 0 /* [[.Ldata001]] */ # 58: 0800
|
||||
mov a3, a12 /* arg1 */ # 5a: 3d0c
|
||||
callx0 a0 /* [[.Ldata001]] */ # 5c: c00000
|
||||
movi a0, .Ldata001 # 5f: 01f8ff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # 62: 0800
|
||||
l32i a0, a0, 24 /* [[.Ldata001]+0x18] */ # 64: 0860
|
||||
mov a2, a12 /* arg1 */ # 66: 2d0c
|
||||
callx0 a0 /* [[.Ldata001]+0x18] */ # 68: c00000
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 6b: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 6d: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 6f: 12c110
|
||||
ret # 72: 0df0
|
||||
|
||||
.literal_position # 74: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x78
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_RFChannelSel
|
||||
.type sdk_RFChannelSel, @function
|
||||
sdk_RFChannelSel:
|
||||
addi sp, sp, -16 /* (local0) */ # 78: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 7b: 0901
|
||||
movi a0, .Ldata001 # 7d: 01fdff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # 80: 0800
|
||||
slli a3, a2, 24 # 82: 803201
|
||||
l32i a0, a0, 8 /* [[.Ldata001]+0x8] */ # 85: 0820
|
||||
srai a2, a3, 24 # 87: 302831
|
||||
callx0 a0 /* [[.Ldata001]+0x8] */ # 8a: c00000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 8d: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 8f: 12c110
|
||||
ret # 92: 0df0
|
||||
|
||||
.literal_position # 94: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x98
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_phy_delete_channel
|
||||
.type sdk_phy_delete_channel, @function
|
||||
sdk_phy_delete_channel:
|
||||
addi sp, sp, -16 /* (local0) */ # 98: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 9b: 0901
|
||||
movi a0, .Ldata001 # 9d: 01fdff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # a0: 0800
|
||||
l32i a0, a0, 12 /* [[.Ldata001]+0xc] */ # a2: 0830
|
||||
callx0 a0 /* [[.Ldata001]+0xc] */ # a4: c00000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # a7: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # a9: 12c110
|
||||
ret # ac: 0df0
|
||||
|
||||
.literal_position # b0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xb4
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_phy_enable_agc
|
||||
.type sdk_phy_enable_agc, @function
|
||||
sdk_phy_enable_agc:
|
||||
addi sp, sp, -16 /* (local0) */ # b4: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # b7: 0901
|
||||
movi a0, .Ldata001 # b9: 01fdff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # bc: 0800
|
||||
l32i a0, a0, 16 /* [[.Ldata001]+0x10] */ # be: 0840
|
||||
callx0 a0 /* [[.Ldata001]+0x10] */ # c0: c00000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # c3: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # c5: 12c110
|
||||
ret # c8: 0df0
|
||||
|
||||
.literal_position # cc: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xd0
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_phy_disable_agc
|
||||
.type sdk_phy_disable_agc, @function
|
||||
sdk_phy_disable_agc:
|
||||
addi sp, sp, -16 /* (local0) */ # d0: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # d3: 0901
|
||||
movi a0, .Ldata001 # d5: 01fdff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # d8: 0800
|
||||
l32i a0, a0, 20 /* [[.Ldata001]+0x14] */ # da: 0850
|
||||
callx0 a0 /* [[.Ldata001]+0x14] */ # dc: c00000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # df: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # e1: 12c110
|
||||
ret # e4: 0df0
|
||||
|
||||
.literal_position # e8: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xec
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_phy_initialize_bb
|
||||
.type sdk_phy_initialize_bb, @function
|
||||
sdk_phy_initialize_bb:
|
||||
addi sp, sp, -16 /* (local0) */ # ec: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # ef: 0901
|
||||
movi a0, .Ldata001 # f1: 01fdff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # f4: 0800
|
||||
l32i a0, a0, 24 /* [[.Ldata001]+0x18] */ # f6: 0860
|
||||
callx0 a0 /* [[.Ldata001]+0x18] */ # f8: c00000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # fb: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # fd: 12c110
|
||||
ret # 100: 0df0
|
||||
|
||||
.literal_position # 104: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x108
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_phy_set_sense
|
||||
.type sdk_phy_set_sense, @function
|
||||
sdk_phy_set_sense:
|
||||
addi sp, sp, -16 /* (local0) */ # 108: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 10b: 0901
|
||||
movi a0, .Ldata001 # 10d: 01fdff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # 110: 0800
|
||||
l32i a0, a0, 28 /* [[.Ldata001]+0x1c] */ # 112: 0870
|
||||
callx0 a0 /* [[.Ldata001]+0x1c] */ # 114: c00000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 117: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 119: 12c110
|
||||
ret # 11c: 0df0
|
BIN
binary_sdk/libphy/phy.o
Normal file
BIN
binary_sdk/libphy/phy.o
Normal file
Binary file not shown.
1915
binary_sdk/libphy/phy_chip_v5_ana_romfunc.S
Normal file
1915
binary_sdk/libphy/phy_chip_v5_ana_romfunc.S
Normal file
File diff suppressed because it is too large
Load diff
BIN
binary_sdk/libphy/phy_chip_v5_ana_romfunc.o
Normal file
BIN
binary_sdk/libphy/phy_chip_v5_ana_romfunc.o
Normal file
Binary file not shown.
2136
binary_sdk/libphy/phy_chip_v5_cal_romfunc.S
Normal file
2136
binary_sdk/libphy/phy_chip_v5_cal_romfunc.S
Normal file
File diff suppressed because it is too large
Load diff
BIN
binary_sdk/libphy/phy_chip_v5_cal_romfunc.o
Normal file
BIN
binary_sdk/libphy/phy_chip_v5_cal_romfunc.o
Normal file
Binary file not shown.
1374
binary_sdk/libphy/phy_chip_v5_romfunc.S
Normal file
1374
binary_sdk/libphy/phy_chip_v5_romfunc.S
Normal file
File diff suppressed because it is too large
Load diff
BIN
binary_sdk/libphy/phy_chip_v5_romfunc.o
Normal file
BIN
binary_sdk/libphy/phy_chip_v5_romfunc.o
Normal file
Binary file not shown.
6280
binary_sdk/libphy/phy_chip_v6.S
Normal file
6280
binary_sdk/libphy/phy_chip_v6.S
Normal file
File diff suppressed because it is too large
Load diff
BIN
binary_sdk/libphy/phy_chip_v6.o
Normal file
BIN
binary_sdk/libphy/phy_chip_v6.o
Normal file
Binary file not shown.
2428
binary_sdk/libphy/phy_chip_v6_ana.S
Normal file
2428
binary_sdk/libphy/phy_chip_v6_ana.S
Normal file
File diff suppressed because it is too large
Load diff
BIN
binary_sdk/libphy/phy_chip_v6_ana.o
Normal file
BIN
binary_sdk/libphy/phy_chip_v6_ana.o
Normal file
Binary file not shown.
4535
binary_sdk/libphy/phy_chip_v6_cal.S
Normal file
4535
binary_sdk/libphy/phy_chip_v6_cal.S
Normal file
File diff suppressed because it is too large
Load diff
BIN
binary_sdk/libphy/phy_chip_v6_cal.o
Normal file
BIN
binary_sdk/libphy/phy_chip_v6_cal.o
Normal file
Binary file not shown.
361
binary_sdk/libphy/phy_chip_v6_unused.S
Normal file
361
binary_sdk/libphy/phy_chip_v6_unused.S
Normal file
|
@ -0,0 +1,361 @@
|
|||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
# Function @ .irom0.text+0x0
|
||||
.balign 4
|
||||
.literal_position
|
||||
.global sdk_chip_v6_set_sense
|
||||
.type sdk_chip_v6_set_sense, @function
|
||||
sdk_chip_v6_set_sense:
|
||||
ret /* arg0 */ # 0: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x4
|
||||
.balign 4
|
||||
.global sdk_chip_v6_get_sense
|
||||
.type sdk_chip_v6_get_sense, @function
|
||||
sdk_chip_v6_get_sense:
|
||||
ret /* arg0 */ # 4: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x8
|
||||
.balign 4
|
||||
.global sdk_chip_v6_unset_chanfreq
|
||||
.type sdk_chip_v6_unset_chanfreq, @function
|
||||
sdk_chip_v6_unset_chanfreq:
|
||||
movi a2, 0 /* 0x00000000 */ # 8: 0c02
|
||||
ret /* 0x00000000 */ # a: 0df0
|
||||
|
||||
.literal_position # c: 00000000
|
||||
# 10: 00000000
|
||||
# 14: 00000000
|
||||
# 18: 00000000
|
||||
# 1c: 000e0060
|
||||
# 20: 00000000
|
||||
# 24: 00000000
|
||||
# 28: 00000000
|
||||
# 2c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x30
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word @ -0x10
|
||||
# (local5): word @ -0xc
|
||||
# (local6): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global sdk_data_collect
|
||||
.type sdk_data_collect, @function
|
||||
sdk_data_collect:
|
||||
movi a2, .Label001 # 30: 21f7ff
|
||||
addi sp, sp, -32 /* (local0) */ # 33: 12c1e0
|
||||
s32i a12, sp, 20 /* a12 -> [(local5)] */ # 36: c951
|
||||
s32i a13, sp, 24 /* a13 -> [(local6)] */ # 38: d961
|
||||
s32i a0, sp, 16 /* a0 -> [(local4)] */ # 3a: 0941
|
||||
call0 ets_printf # 3c: 01f9ffc0
|
||||
# 40: 0000
|
||||
movi a2, sdk_chip6_sleep_params # 42: 21f3ff
|
||||
movi a3, sdk_chip6_sleep_params+0x168 # 45: 31f3ff
|
||||
movi a4, 0 /* 0x00000000 */ # 48: 0c04
|
||||
call0 sdk_rtc_mem_backup # 4a: 01f6ffc0
|
||||
# 4e: 0000
|
||||
movi a3, 1 /* 0x00000001 */ # 50: 0c13
|
||||
movi a4, 5 /* 0x00000005 */ # 52: 0c54
|
||||
movi a5, 7 /* 0x00000007 */ # 54: 0c75
|
||||
movi a13, sdk_g_phyFuns # 56: d1f0ff
|
||||
movi a6, 0 /* 0x00000000 */ # 59: 0c06
|
||||
l32i a0, a13, 0 /* [sdk_g_phyFuns] */ # 5b: 080d
|
||||
mov a12, a2 # 5d: cd02
|
||||
l32i a0, a0, 148 /* [[sdk_g_phyFuns]+0x94] */ # 5f: 022025
|
||||
movi a2, 98 /* 0x00000062 */ # 62: 22a062
|
||||
callx0 a0 /* [[sdk_g_phyFuns]+0x94] */ # 65: c00000
|
||||
movi a3, 1 /* 0x00000001 */ # 68: 0c13
|
||||
movi a4, 6 /* 0x00000006 */ # 6a: 0c64
|
||||
movi a5, 4 /* 0x00000004 */ # 6c: 0c45
|
||||
movi a6, 0 /* 0x00000000 */ # 6e: 0c06
|
||||
l32i a0, a13, 0 /* [sdk_g_phyFuns] */ # 70: 080d
|
||||
s32i a2, sp, 8 /* a2 -> [(local2)] */ # 72: 2921
|
||||
l32i a0, a0, 148 /* [[sdk_g_phyFuns]+0x94] */ # 74: 022025
|
||||
movi a2, 98 /* 0x00000062 */ # 77: 22a062
|
||||
callx0 a0 /* [[sdk_g_phyFuns]+0x94] */ # 7a: c00000
|
||||
movi a3, 4 /* 0x00000004 */ # 7d: 0c43
|
||||
movi a4, 3 /* 0x00000003 */ # 7f: 0c34
|
||||
movi a5, 4 /* 0x00000004 */ # 81: 0c45
|
||||
movi a6, 0 /* 0x00000000 */ # 83: 0c06
|
||||
l32i a0, a13, 0 /* [sdk_g_phyFuns] */ # 85: 080d
|
||||
s32i a2, sp, 12 /* a2 -> [(local3)] */ # 87: 2931
|
||||
l32i a0, a0, 148 /* [[sdk_g_phyFuns]+0x94] */ # 89: 022025
|
||||
movi a2, 103 /* 0x00000067 */ # 8c: 22a067
|
||||
callx0 a0 /* [[sdk_g_phyFuns]+0x94] */ # 8f: c00000
|
||||
movi a3, 1 /* 0x00000001 */ # 92: 0c13
|
||||
movi a4, 2 /* 0x00000002 */ # 94: 0c24
|
||||
movi a5, 4 /* 0x00000004 */ # 96: 0c45
|
||||
movi a6, 0 /* 0x00000000 */ # 98: 0c06
|
||||
l32i a0, a13, 0 /* [sdk_g_phyFuns] */ # 9a: 080d
|
||||
mov a13, a2 # 9c: dd02
|
||||
l32i a0, a0, 148 /* [[sdk_g_phyFuns]+0x94] */ # 9e: 022025
|
||||
movi a2, 97 /* 0x00000061 */ # a1: 22a061
|
||||
callx0 a0 /* [[sdk_g_phyFuns]+0x94] */ # a4: c00000
|
||||
slli a4, a2, 24 # a7: 804201
|
||||
slli a3, a13, 16 # aa: 003d11
|
||||
l32i a2, sp, 8 /* [(local2)] */ # ad: 2821
|
||||
or a3, a3, a4 # af: 403320
|
||||
l32i a4, sp, 12 /* [(local3)] */ # b2: 4831
|
||||
extui a2, a2, 0, 8 # b4: 202074
|
||||
extui a4, a4, 0, 8 # b7: 404074
|
||||
slli a4, a4, 8 # ba: 804411
|
||||
or a2, a2, a4 # bd: 402220
|
||||
mov a4, a12 # c0: 4d0c
|
||||
or a2, a2, a3 # c2: 302220
|
||||
s32i a2, sp, 0 /* a2 -> [(local0)] */ # c5: 2901
|
||||
mov a3, sp /* (local0) */ # c7: 3d01
|
||||
mov a2, sp /* (local0) */ # c9: 2d01
|
||||
call0 sdk_rtc_mem_backup # cb: 01d7ffc0
|
||||
# cf: 0000
|
||||
movi a5, 0x60000e00 # d1: 51d2ff
|
||||
memw # d4: c02000
|
||||
addi a3, sp, 4 /* (local1) */ # d7: 4b31
|
||||
add a12, a12, a2 # d9: 2acc
|
||||
l32i a5, a5, 0x3fc /* [0x600011fc] */ # db: 5225ff
|
||||
s32i a5, sp, 4 /* [0x600011fc] -> [(local1)] */ # de: 5911
|
||||
addi a2, sp, 4 /* (local1) */ # e0: 4b21
|
||||
mov a4, a12 # e2: 4d0c
|
||||
call0 sdk_rtc_mem_backup # e4: 01d2ffc0
|
||||
# e8: 0000
|
||||
l32i a0, sp, 16 /* [(local4)] */ # ea: 0841
|
||||
add a2, a2, a12 # ec: ca22
|
||||
l32i a13, sp, 24 /* [(local6)] */ # ee: d861
|
||||
l32i a12, sp, 20 /* [(local5)] */ # f0: c851
|
||||
addi sp, sp, 32 /* (top of frame) */ # f2: 12c120
|
||||
ret # f5: 0df0
|
||||
|
||||
.literal_position # f8: 000af23f
|
||||
# fc: aa5555aa
|
||||
# 100: 890f0000
|
||||
# 104: ac540000
|
||||
# 108: 20110000
|
||||
# 10c: 6c0d0000
|
||||
# 110: 00000000
|
||||
# 114: 00000000
|
||||
# 118: 00000000
|
||||
# 11c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x120
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global sdk_operation_test
|
||||
.type sdk_operation_test, @function
|
||||
sdk_operation_test:
|
||||
addi sp, sp, -16 /* (local0) */ # 120: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 123: c911
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 125: d921
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 127: 0901
|
||||
movi a2, 0x3ff20a00 # 129: 21f3ff
|
||||
memw # 12c: c02000
|
||||
movi a3, 0x00000f89 # 12f: 31f4ff
|
||||
movi a4, 1234 /* 0x000004d2 */ # 132: 42a4d2
|
||||
l32i a2, a2, 0x200 /* [0x3ff20c00] */ # 135: 222280
|
||||
movi a5, 0xaa5555aa # 138: 51f1ff
|
||||
add a4, a2, a4 /* [0x3ff20c00]+0x4d2 */ # 13b: 4a42
|
||||
xor a4, a4, a5 # 13d: 504430
|
||||
mull a2, a2, a4 # 140: 402282
|
||||
mull a2, a2, a3 # 143: 302282
|
||||
movi a3, 0x000054ac # 146: 31efff
|
||||
call0 __udivsi3 # 149: 01f1ffc0
|
||||
# 14d: 0000
|
||||
movi a3, 0x00001120 # 14f: 31eeff
|
||||
mull a2, a2, a3 # 152: 302282
|
||||
movi a3, 0x00000d6c # 155: 31edff
|
||||
call0 __udivsi3 # 158: 01efffc0
|
||||
# 15c: 0000
|
||||
movi a12, 0 /* 0x00000000 */ # 15e: 0c0c
|
||||
movi a13, 1000 /* 0x000003e8 */ # 160: d2a3e8
|
||||
.Lbr001: movi a3, 999 /* 0x000003e7 */ # 163: 32a3e7
|
||||
call0 __udivsi3 # 166: 01ecffc0
|
||||
# 16a: 0000
|
||||
addi a12, a12, 1 # 16c: 1bcc
|
||||
movi a4, 1120 /* 0x00000460 */ # 16e: 42a460
|
||||
mull a2, a2, a4 # 171: 402282
|
||||
bne a12, a13, .Lbr001 # 174: d79ceb
|
||||
movi a12, 0 /* 0x00000000 */ # 177: 0c0c
|
||||
.Lbr002: movi a3, 985 /* 0x000003d9 */ # 179: 32a3d9
|
||||
movi a5, 860 /* 0x0000035c */ # 17c: 52a35c
|
||||
mull a2, a2, a5 # 17f: 502282
|
||||
call0 __udivsi3 # 182: 01e6ffc0
|
||||
# 186: 0000
|
||||
addi a12, a12, 1 # 188: 1bcc
|
||||
bne a12, a13, .Lbr002 # 18a: d79ceb
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 18d: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 18f: d821
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 191: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 193: 12c110
|
||||
ret # 196: 0df0
|
||||
|
||||
.literal_position # 198: 00060060
|
||||
|
||||
# Function @ .irom0.text+0x19c
|
||||
.balign 4
|
||||
.global sdk_slop_wdt_feed
|
||||
.type sdk_slop_wdt_feed, @function
|
||||
sdk_slop_wdt_feed:
|
||||
movi a2, 115 /* 0x00000073 */ # 19c: 22a073
|
||||
movi a3, 0x60000600 # 19f: 31feff
|
||||
memw # 1a2: c02000
|
||||
s32i a2, a3, 0x314 /* 0x00000073 -> [0x60000914] */ # 1a5: 2263c5
|
||||
ret /* 0x00000073 */ # 1a8: 0df0
|
||||
|
||||
.literal_position # 1ac: 04000000
|
||||
# 1b0: 00feef3f
|
||||
# 1b4: 00000000
|
||||
# 1b8: 000af23f
|
||||
# 1bc: 00060060
|
||||
# 1c0: 00000000
|
||||
# 1c4: 00000000
|
||||
# 1c8: 00000000
|
||||
# 1cc: 00000000
|
||||
# 1d0: 00000000
|
||||
# 1d4: 00000000
|
||||
# 1d8: 00000000
|
||||
# 1dc: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x1e0
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_slop_test
|
||||
.type sdk_slop_test, @function
|
||||
sdk_slop_test:
|
||||
movi a2, .Lstr001 # 1e0: 21f3ff
|
||||
addi sp, sp, -32 /* (local0) */ # 1e3: 12c1e0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 1e6: c911
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 1e8: d921
|
||||
s32i a14, sp, 12 /* a14 -> [(local3)] */ # 1ea: e931
|
||||
s32i a15, sp, 16 /* a15 -> [(local4)] */ # 1ec: f941
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1ee: 0901
|
||||
call0 ets_printf # 1f0: 01f4ffc0
|
||||
# 1f4: 0000
|
||||
movi a10, 1 /* 0x00000001 */ # 1f6: 0c1a
|
||||
movi a9, 0x3feffe00 # 1f8: 91eeff
|
||||
memw # 1fb: c02000
|
||||
l32i a8, a9, 0x214 /* [0x3ff00014] */ # 1fe: 822985
|
||||
or a8, a8, a10 # 201: a08820
|
||||
memw # 204: c02000
|
||||
movi a2, 106 /* 0x0000006a */ # 207: 22a06a
|
||||
movi a3, 2 /* 0x00000002 */ # 20a: 0c23
|
||||
movi a4, 8 /* 0x00000008 */ # 20c: 0c84
|
||||
movi a5, 4 /* 0x00000004 */ # 20e: 0c45
|
||||
movi a0, sdk_g_phyFuns # 210: 01e9ff
|
||||
movi a6, 0 /* 0x00000000 */ # 213: 0c06
|
||||
l32i a0, a0, 0 /* [sdk_g_phyFuns] */ # 215: 0800
|
||||
movi a7, 0 /* 0x00000000 */ # 217: 0c07
|
||||
l32i a0, a0, 156 /* [[sdk_g_phyFuns]+0x9c] */ # 219: 022027
|
||||
s32i a8, a9, 0x214 /* a8 -> [0x3ff00014] */ # 21c: 826985
|
||||
callx0 a0 /* [[sdk_g_phyFuns]+0x9c] */ # 21f: c00000
|
||||
movi a12, 0x3ff20a00 # 222: c1e5ff
|
||||
memw # 225: c02000
|
||||
l32i a11, a12, 0x200 /* [0x3ff20c00] */ # 228: b22c80
|
||||
movi a2, 14 /* 0x0000000e */ # 22b: 0ce2
|
||||
call0 sdk_RFChannelSel # 22d: 01e5ffc0
|
||||
# 231: 0000
|
||||
movi a13, 0 /* 0x00000000 */ # 233: 0c0d
|
||||
movi a14, 0x60000600 # 235: e1e1ff
|
||||
movi a15, 200 /* 0x000000c8 */ # 238: f2a0c8
|
||||
.Lbr003: call0 sdk_slop_wdt_feed # 23b: 050000
|
||||
call0 sdk_operation_test # 23e: 050000
|
||||
memw # 241: c02000
|
||||
s32i a2, a14, 0x138 /* a2 -> [0x60000738] */ # 244: 226e4e
|
||||
movi a2, 2 /* 0x00000002 */ # 247: 0c22
|
||||
call0 sdk_pm_set_sleep_mode # 249: 01dfffc0
|
||||
# 24d: 0000
|
||||
movi a2, 8 /* 0x00000008 */ # 24f: 0c82
|
||||
movi a3, 0 /* 0x00000000 */ # 251: 0c03
|
||||
call0 sdk_pm_wakeup_opt # 253: 01deffc0
|
||||
# 257: 0000
|
||||
movi a2, 170 /* 0x000000aa */ # 259: 22a0aa
|
||||
call0 sdk_pm_set_sleep_cycles # 25c: 01ddffc0
|
||||
# 260: 0000
|
||||
memw # 262: c02000
|
||||
movi a2, 2 /* 0x00000002 */ # 265: 0c22
|
||||
l32i a0, a12, 0x200 /* [0x3ff20c00] */ # 267: 022c80
|
||||
call0 sdk_pm_goto_sleep # 26a: 01daffc0
|
||||
# 26e: 0000
|
||||
movi a2, 2 /* 0x00000002 */ # 270: 0c22
|
||||
call0 sdk_pm_wait4wakeup # 272: 01d9ffc0
|
||||
# 276: 0000
|
||||
movi a2, 2 /* 0x00000002 */ # 278: 0c22
|
||||
movi a3, 0 /* 0x00000000 */ # 27a: 0c03
|
||||
call0 sdk_pm_wakeup_init # 27c: 01d8ffc0
|
||||
# 280: 0000
|
||||
memw # 282: c02000
|
||||
l32i a3, a12, 0x200 /* [0x3ff20c00] */ # 285: 322c80
|
||||
addi a13, a13, 1 # 288: 1bdd
|
||||
bne a13, a15, .Lbr003 # 28a: f79dad
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 28d: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 28f: d821
|
||||
l32i a14, sp, 12 /* [(local3)] */ # 291: e831
|
||||
l32i a15, sp, 16 /* [(local4)] */ # 293: f841
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 295: 0801
|
||||
addi sp, sp, 32 /* (top of frame) */ # 297: 12c120
|
||||
ret # 29a: 0df0
|
||||
|
||||
.literal_position # 29c: 000e0060
|
||||
# 2a0: 10000000
|
||||
# 2a4: 10000000
|
||||
# 2a8: 00000000
|
||||
# 2ac: 00000000
|
||||
# 2b0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x2b4
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_wd_reset_cnt
|
||||
.type sdk_wd_reset_cnt, @function
|
||||
sdk_wd_reset_cnt:
|
||||
addi sp, sp, -16 /* (local0) */ # 2b4: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 2b7: 0901
|
||||
call0 sdk_rtc_get_reset_reason # 2b9: 01fbffc0
|
||||
# 2bd: 0000
|
||||
movi a0, 0x60000e00 # 2bf: 01f7ff
|
||||
bnei a2, 4, .Lbr004 # 2c2: 664219
|
||||
memw # 2c5: c02000
|
||||
l32i a3, a0, 0x3fc /* [0x600011fc] */ # 2c8: 3220ff
|
||||
addi a3, a3, 1 /* [0x600011fc]+0x1 */ # 2cb: 1b33
|
||||
memw # 2cd: c02000
|
||||
movi a2, .Lstr002 # 2d0: 21f4ff
|
||||
s32i a3, a0, 0x3fc /* [0x600011fc]+0x1 -> [0x600011fc] */ # 2d3: 3260ff
|
||||
call0 ets_printf # 2d6: 01f5ffc0
|
||||
# 2da: 0000
|
||||
j .Lbr006 # 2dc: 860500
|
||||
.Lbr004: beqi a2, 2, .Lbr005 # 2df: 262202
|
||||
bnei a2, 1, .Lbr006 # 2e2: 661210
|
||||
.Lbr005: movi a3, 0 /* 0x00000000 */ # 2e5: 0c03
|
||||
memw # 2e7: c02000
|
||||
movi a2, .Lstr002 # 2ea: 21eeff
|
||||
s32i a3, a0, 0x3fc /* 0x00000000 -> [0x600011fc] */ # 2ed: 3260ff
|
||||
call0 ets_printf # 2f0: 01f0ffc0
|
||||
# 2f4: 0000
|
||||
.Lbr006: l32i a0, sp, 0 /* [(local0)] */ # 2f6: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 2f8: 12c110
|
||||
ret # 2fb: 0df0
|
||||
|
||||
.section .rodata.str1.4, "MSa", @progbits, 1
|
||||
|
||||
.Label001: .word 0x000a6364 # 0: 64630a00
|
||||
.Lstr001: .asciz "slop_test\n" # 4: 736c6f70
|
||||
# 8: 5f746573
|
||||
# c: 740a00
|
||||
.balign 4
|
||||
.Lstr002: .asciz "wd_reset %d\n" # 10: 77645f72
|
||||
# 14: 65736574
|
||||
# 18: 2025640a
|
||||
# 1c: 00
|
BIN
binary_sdk/libphy/phy_chip_v6_unused.o
Normal file
BIN
binary_sdk/libphy/phy_chip_v6_unused.o
Normal file
Binary file not shown.
1569
binary_sdk/libphy/phy_sleep.S
Normal file
1569
binary_sdk/libphy/phy_sleep.S
Normal file
File diff suppressed because it is too large
Load diff
BIN
binary_sdk/libphy/phy_sleep.o
Normal file
BIN
binary_sdk/libphy/phy_sleep.o
Normal file
Binary file not shown.
0
binary_sdk/libphy_stage1/ate_test.S
Normal file
0
binary_sdk/libphy_stage1/ate_test.S
Normal file
248
binary_sdk/libphy_stage1/phy.S
Normal file
248
binary_sdk/libphy_stage1/phy.S
Normal file
|
@ -0,0 +1,248 @@
|
|||
|
||||
.section .text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
# 4: 00000000
|
||||
|
||||
# Function @ .text+0x8
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global register_phy_ops
|
||||
.type register_phy_ops, @function
|
||||
register_phy_ops:
|
||||
movi a3, 0 /* 0x00000000 */ # 8: 0c03
|
||||
addi sp, sp, -16 /* (local0) */ # a: 12c1f0
|
||||
mov a5, a2 /* arg0 */ # d: 5d02
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # f: 0901
|
||||
movi a0, .Ldata001 # 11: 01fbff
|
||||
movi a2, 1 /* 0x00000001 */ # 14: 0c12
|
||||
s32i a5, a0, 0 /* arg0 -> [.Ldata001] */ # 16: 5900
|
||||
call0 phy_init # 18: 01fbffc0
|
||||
# 1c: 0000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 1e: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 20: 12c110
|
||||
ret # 23: 0df0
|
||||
|
||||
.literal_position # 28: 00000000
|
||||
|
||||
# Function @ .text+0x2c
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global phy_change_channel
|
||||
.type phy_change_channel, @function
|
||||
phy_change_channel:
|
||||
addi sp, sp, -16 /* (local0) */ # 2c: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 2f: 0901
|
||||
movi a0, .Ldata001 # 31: 01fdff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # 34: 0800
|
||||
l32i a0, a0, 4 /* [[.Ldata001]+0x4] */ # 36: 0810
|
||||
callx0 a0 /* [[.Ldata001]+0x4] */ # 38: c00000
|
||||
movi a2, 0 /* 0x00000000 */ # 3b: 0c02
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 3d: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 3f: 12c110
|
||||
ret /* 0x00000000 */ # 42: 0df0
|
||||
|
||||
.literal_position # 44: 000af23f
|
||||
|
||||
# Function @ .text+0x48
|
||||
.balign 4
|
||||
.global phy_get_mactime
|
||||
.type phy_get_mactime, @function
|
||||
phy_get_mactime:
|
||||
movi a2, 0x3ff20a00 # 48: 21ffff
|
||||
memw # 4b: c02000
|
||||
l32i a2, a2, 0x200 /* [0x3ff20c00] */ # 4e: 222280
|
||||
ret /* [0x3ff20c00] */ # 51: 0df0
|
||||
|
||||
.section .bss, "aw", @nobits
|
||||
|
||||
.Ldata001: .word 0x00000000 # 0: 00000000
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x4
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global rf_init
|
||||
.type rf_init, @function
|
||||
rf_init: addi sp, sp, -16 /* (local0) */ # 4: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 7: 0901
|
||||
movi a0, .Ldata001 # 9: 01fdff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # c: 0800
|
||||
slli a4, a2, 24 # e: 804201
|
||||
l32i a0, a0, 0 /* [[.Ldata001]] */ # 11: 0800
|
||||
srai a2, a4, 24 # 13: 402831
|
||||
callx0 a0 /* [[.Ldata001]] */ # 16: c00000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 19: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 1b: 12c110
|
||||
ret # 1e: 0df0
|
||||
|
||||
.literal_position # 20: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x24
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global bb_init
|
||||
.type bb_init, @function
|
||||
bb_init: addi sp, sp, -16 /* (local0) */ # 24: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 27: 0901
|
||||
movi a0, .Ldata001 # 29: 01fdff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # 2c: 0800
|
||||
l32i a0, a0, 24 /* [[.Ldata001]+0x18] */ # 2e: 0860
|
||||
callx0 a0 /* [[.Ldata001]+0x18] */ # 30: c00000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 33: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 35: 12c110
|
||||
ret # 38: 0df0
|
||||
|
||||
.literal_position # 3c: 00000000
|
||||
# 40: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x44
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global phy_init
|
||||
.type phy_init, @function
|
||||
phy_init: addi sp, sp, -16 /* (local0) */ # 44: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 47: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 49: 0901
|
||||
mov a12, a3 /* arg1 */ # 4b: cd03
|
||||
movi a0, .Ldata001 # 4d: 01fbff
|
||||
slli a3, a2, 24 # 50: 803201
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # 53: 0800
|
||||
srai a2, a3, 24 # 55: 302831
|
||||
l32i a0, a0, 0 /* [[.Ldata001]] */ # 58: 0800
|
||||
mov a3, a12 /* arg1 */ # 5a: 3d0c
|
||||
callx0 a0 /* [[.Ldata001]] */ # 5c: c00000
|
||||
movi a0, .Ldata001 # 5f: 01f8ff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # 62: 0800
|
||||
l32i a0, a0, 24 /* [[.Ldata001]+0x18] */ # 64: 0860
|
||||
mov a2, a12 /* arg1 */ # 66: 2d0c
|
||||
callx0 a0 /* [[.Ldata001]+0x18] */ # 68: c00000
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 6b: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 6d: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 6f: 12c110
|
||||
ret # 72: 0df0
|
||||
|
||||
.literal_position # 74: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x78
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global RFChannelSel
|
||||
.type RFChannelSel, @function
|
||||
RFChannelSel:
|
||||
addi sp, sp, -16 /* (local0) */ # 78: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 7b: 0901
|
||||
movi a0, .Ldata001 # 7d: 01fdff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # 80: 0800
|
||||
slli a3, a2, 24 # 82: 803201
|
||||
l32i a0, a0, 8 /* [[.Ldata001]+0x8] */ # 85: 0820
|
||||
srai a2, a3, 24 # 87: 302831
|
||||
callx0 a0 /* [[.Ldata001]+0x8] */ # 8a: c00000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 8d: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 8f: 12c110
|
||||
ret # 92: 0df0
|
||||
|
||||
.literal_position # 94: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x98
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global phy_delete_channel
|
||||
.type phy_delete_channel, @function
|
||||
phy_delete_channel:
|
||||
addi sp, sp, -16 /* (local0) */ # 98: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 9b: 0901
|
||||
movi a0, .Ldata001 # 9d: 01fdff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # a0: 0800
|
||||
l32i a0, a0, 12 /* [[.Ldata001]+0xc] */ # a2: 0830
|
||||
callx0 a0 /* [[.Ldata001]+0xc] */ # a4: c00000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # a7: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # a9: 12c110
|
||||
ret # ac: 0df0
|
||||
|
||||
.literal_position # b0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xb4
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global phy_enable_agc
|
||||
.type phy_enable_agc, @function
|
||||
phy_enable_agc:
|
||||
addi sp, sp, -16 /* (local0) */ # b4: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # b7: 0901
|
||||
movi a0, .Ldata001 # b9: 01fdff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # bc: 0800
|
||||
l32i a0, a0, 16 /* [[.Ldata001]+0x10] */ # be: 0840
|
||||
callx0 a0 /* [[.Ldata001]+0x10] */ # c0: c00000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # c3: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # c5: 12c110
|
||||
ret # c8: 0df0
|
||||
|
||||
.literal_position # cc: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xd0
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global phy_disable_agc
|
||||
.type phy_disable_agc, @function
|
||||
phy_disable_agc:
|
||||
addi sp, sp, -16 /* (local0) */ # d0: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # d3: 0901
|
||||
movi a0, .Ldata001 # d5: 01fdff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # d8: 0800
|
||||
l32i a0, a0, 20 /* [[.Ldata001]+0x14] */ # da: 0850
|
||||
callx0 a0 /* [[.Ldata001]+0x14] */ # dc: c00000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # df: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # e1: 12c110
|
||||
ret # e4: 0df0
|
||||
|
||||
.literal_position # e8: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xec
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global phy_initialize_bb
|
||||
.type phy_initialize_bb, @function
|
||||
phy_initialize_bb:
|
||||
addi sp, sp, -16 /* (local0) */ # ec: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # ef: 0901
|
||||
movi a0, .Ldata001 # f1: 01fdff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # f4: 0800
|
||||
l32i a0, a0, 24 /* [[.Ldata001]+0x18] */ # f6: 0860
|
||||
callx0 a0 /* [[.Ldata001]+0x18] */ # f8: c00000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # fb: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # fd: 12c110
|
||||
ret # 100: 0df0
|
||||
|
||||
.literal_position # 104: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x108
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global phy_set_sense
|
||||
.type phy_set_sense, @function
|
||||
phy_set_sense:
|
||||
addi sp, sp, -16 /* (local0) */ # 108: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 10b: 0901
|
||||
movi a0, .Ldata001 # 10d: 01fdff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # 110: 0800
|
||||
l32i a0, a0, 28 /* [[.Ldata001]+0x1c] */ # 112: 0870
|
||||
callx0 a0 /* [[.Ldata001]+0x1c] */ # 114: c00000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 117: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 119: 12c110
|
||||
ret # 11c: 0df0
|
1915
binary_sdk/libphy_stage1/phy_chip_v5_ana_romfunc.S
Normal file
1915
binary_sdk/libphy_stage1/phy_chip_v5_ana_romfunc.S
Normal file
File diff suppressed because it is too large
Load diff
2136
binary_sdk/libphy_stage1/phy_chip_v5_cal_romfunc.S
Normal file
2136
binary_sdk/libphy_stage1/phy_chip_v5_cal_romfunc.S
Normal file
File diff suppressed because it is too large
Load diff
1373
binary_sdk/libphy_stage1/phy_chip_v5_romfunc.S
Normal file
1373
binary_sdk/libphy_stage1/phy_chip_v5_romfunc.S
Normal file
File diff suppressed because it is too large
Load diff
6277
binary_sdk/libphy_stage1/phy_chip_v6.S
Normal file
6277
binary_sdk/libphy_stage1/phy_chip_v6.S
Normal file
File diff suppressed because it is too large
Load diff
2425
binary_sdk/libphy_stage1/phy_chip_v6_ana.S
Normal file
2425
binary_sdk/libphy_stage1/phy_chip_v6_ana.S
Normal file
File diff suppressed because it is too large
Load diff
4532
binary_sdk/libphy_stage1/phy_chip_v6_cal.S
Normal file
4532
binary_sdk/libphy_stage1/phy_chip_v6_cal.S
Normal file
File diff suppressed because it is too large
Load diff
360
binary_sdk/libphy_stage1/phy_chip_v6_unused.S
Normal file
360
binary_sdk/libphy_stage1/phy_chip_v6_unused.S
Normal file
|
@ -0,0 +1,360 @@
|
|||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
# Function @ .irom0.text+0x0
|
||||
.balign 4
|
||||
.literal_position
|
||||
.global chip_v6_set_sense
|
||||
.type chip_v6_set_sense, @function
|
||||
chip_v6_set_sense:
|
||||
ret /* arg0 */ # 0: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x4
|
||||
.balign 4
|
||||
.global chip_v6_get_sense
|
||||
.type chip_v6_get_sense, @function
|
||||
chip_v6_get_sense:
|
||||
ret /* arg0 */ # 4: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x8
|
||||
.balign 4
|
||||
.global chip_v6_unset_chanfreq
|
||||
.type chip_v6_unset_chanfreq, @function
|
||||
chip_v6_unset_chanfreq:
|
||||
movi a2, 0 /* 0x00000000 */ # 8: 0c02
|
||||
ret /* 0x00000000 */ # a: 0df0
|
||||
|
||||
.literal_position # c: 00000000
|
||||
# 10: 00000000
|
||||
# 14: 00000000
|
||||
# 18: 00000000
|
||||
# 1c: 000e0060
|
||||
# 20: 00000000
|
||||
# 24: 00000000
|
||||
# 28: 00000000
|
||||
# 2c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x30
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word @ -0x10
|
||||
# (local5): word @ -0xc
|
||||
# (local6): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global data_collect
|
||||
.type data_collect, @function
|
||||
data_collect:
|
||||
movi a2, .Label001 # 30: 21f7ff
|
||||
addi sp, sp, -32 /* (local0) */ # 33: 12c1e0
|
||||
s32i a12, sp, 20 /* a12 -> [(local5)] */ # 36: c951
|
||||
s32i a13, sp, 24 /* a13 -> [(local6)] */ # 38: d961
|
||||
s32i a0, sp, 16 /* a0 -> [(local4)] */ # 3a: 0941
|
||||
call0 ets_printf # 3c: 01f9ffc0
|
||||
# 40: 0000
|
||||
movi a2, chip6_sleep_params # 42: 21f3ff
|
||||
movi a3, chip6_sleep_params+0x168 # 45: 31f3ff
|
||||
movi a4, 0 /* 0x00000000 */ # 48: 0c04
|
||||
call0 rtc_mem_backup # 4a: 01f6ffc0
|
||||
# 4e: 0000
|
||||
movi a3, 1 /* 0x00000001 */ # 50: 0c13
|
||||
movi a4, 5 /* 0x00000005 */ # 52: 0c54
|
||||
movi a5, 7 /* 0x00000007 */ # 54: 0c75
|
||||
movi a13, g_phyFuns # 56: d1f0ff
|
||||
movi a6, 0 /* 0x00000000 */ # 59: 0c06
|
||||
l32i a0, a13, 0 /* [g_phyFuns] */ # 5b: 080d
|
||||
mov a12, a2 # 5d: cd02
|
||||
l32i a0, a0, 148 /* [[g_phyFuns]+0x94] */ # 5f: 022025
|
||||
movi a2, 98 /* 0x00000062 */ # 62: 22a062
|
||||
callx0 a0 /* [[g_phyFuns]+0x94] */ # 65: c00000
|
||||
movi a3, 1 /* 0x00000001 */ # 68: 0c13
|
||||
movi a4, 6 /* 0x00000006 */ # 6a: 0c64
|
||||
movi a5, 4 /* 0x00000004 */ # 6c: 0c45
|
||||
movi a6, 0 /* 0x00000000 */ # 6e: 0c06
|
||||
l32i a0, a13, 0 /* [g_phyFuns] */ # 70: 080d
|
||||
s32i a2, sp, 8 /* a2 -> [(local2)] */ # 72: 2921
|
||||
l32i a0, a0, 148 /* [[g_phyFuns]+0x94] */ # 74: 022025
|
||||
movi a2, 98 /* 0x00000062 */ # 77: 22a062
|
||||
callx0 a0 /* [[g_phyFuns]+0x94] */ # 7a: c00000
|
||||
movi a3, 4 /* 0x00000004 */ # 7d: 0c43
|
||||
movi a4, 3 /* 0x00000003 */ # 7f: 0c34
|
||||
movi a5, 4 /* 0x00000004 */ # 81: 0c45
|
||||
movi a6, 0 /* 0x00000000 */ # 83: 0c06
|
||||
l32i a0, a13, 0 /* [g_phyFuns] */ # 85: 080d
|
||||
s32i a2, sp, 12 /* a2 -> [(local3)] */ # 87: 2931
|
||||
l32i a0, a0, 148 /* [[g_phyFuns]+0x94] */ # 89: 022025
|
||||
movi a2, 103 /* 0x00000067 */ # 8c: 22a067
|
||||
callx0 a0 /* [[g_phyFuns]+0x94] */ # 8f: c00000
|
||||
movi a3, 1 /* 0x00000001 */ # 92: 0c13
|
||||
movi a4, 2 /* 0x00000002 */ # 94: 0c24
|
||||
movi a5, 4 /* 0x00000004 */ # 96: 0c45
|
||||
movi a6, 0 /* 0x00000000 */ # 98: 0c06
|
||||
l32i a0, a13, 0 /* [g_phyFuns] */ # 9a: 080d
|
||||
mov a13, a2 # 9c: dd02
|
||||
l32i a0, a0, 148 /* [[g_phyFuns]+0x94] */ # 9e: 022025
|
||||
movi a2, 97 /* 0x00000061 */ # a1: 22a061
|
||||
callx0 a0 /* [[g_phyFuns]+0x94] */ # a4: c00000
|
||||
slli a4, a2, 24 # a7: 804201
|
||||
slli a3, a13, 16 # aa: 003d11
|
||||
l32i a2, sp, 8 /* [(local2)] */ # ad: 2821
|
||||
or a3, a3, a4 # af: 403320
|
||||
l32i a4, sp, 12 /* [(local3)] */ # b2: 4831
|
||||
extui a2, a2, 0, 8 # b4: 202074
|
||||
extui a4, a4, 0, 8 # b7: 404074
|
||||
slli a4, a4, 8 # ba: 804411
|
||||
or a2, a2, a4 # bd: 402220
|
||||
mov a4, a12 # c0: 4d0c
|
||||
or a2, a2, a3 # c2: 302220
|
||||
s32i a2, sp, 0 /* a2 -> [(local0)] */ # c5: 2901
|
||||
mov a3, sp /* (local0) */ # c7: 3d01
|
||||
mov a2, sp /* (local0) */ # c9: 2d01
|
||||
call0 rtc_mem_backup # cb: 01d7ffc0
|
||||
# cf: 0000
|
||||
movi a5, 0x60000e00 # d1: 51d2ff
|
||||
memw # d4: c02000
|
||||
addi a3, sp, 4 /* (local1) */ # d7: 4b31
|
||||
add a12, a12, a2 # d9: 2acc
|
||||
l32i a5, a5, 0x3fc /* [0x600011fc] */ # db: 5225ff
|
||||
s32i a5, sp, 4 /* [0x600011fc] -> [(local1)] */ # de: 5911
|
||||
addi a2, sp, 4 /* (local1) */ # e0: 4b21
|
||||
mov a4, a12 # e2: 4d0c
|
||||
call0 rtc_mem_backup # e4: 01d2ffc0
|
||||
# e8: 0000
|
||||
l32i a0, sp, 16 /* [(local4)] */ # ea: 0841
|
||||
add a2, a2, a12 # ec: ca22
|
||||
l32i a13, sp, 24 /* [(local6)] */ # ee: d861
|
||||
l32i a12, sp, 20 /* [(local5)] */ # f0: c851
|
||||
addi sp, sp, 32 /* (top of frame) */ # f2: 12c120
|
||||
ret # f5: 0df0
|
||||
|
||||
.literal_position # f8: 000af23f
|
||||
# fc: aa5555aa
|
||||
# 100: 890f0000
|
||||
# 104: ac540000
|
||||
# 108: 20110000
|
||||
# 10c: 6c0d0000
|
||||
# 110: 00000000
|
||||
# 114: 00000000
|
||||
# 118: 00000000
|
||||
# 11c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x120
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global operation_test
|
||||
.type operation_test, @function
|
||||
operation_test:
|
||||
addi sp, sp, -16 /* (local0) */ # 120: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 123: c911
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 125: d921
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 127: 0901
|
||||
movi a2, 0x3ff20a00 # 129: 21f3ff
|
||||
memw # 12c: c02000
|
||||
movi a3, 0x00000f89 # 12f: 31f4ff
|
||||
movi a4, 1234 /* 0x000004d2 */ # 132: 42a4d2
|
||||
l32i a2, a2, 0x200 /* [0x3ff20c00] */ # 135: 222280
|
||||
movi a5, 0xaa5555aa # 138: 51f1ff
|
||||
add a4, a2, a4 /* [0x3ff20c00]+0x4d2 */ # 13b: 4a42
|
||||
xor a4, a4, a5 # 13d: 504430
|
||||
mull a2, a2, a4 # 140: 402282
|
||||
mull a2, a2, a3 # 143: 302282
|
||||
movi a3, 0x000054ac # 146: 31efff
|
||||
call0 __udivsi3 # 149: 01f1ffc0
|
||||
# 14d: 0000
|
||||
movi a3, 0x00001120 # 14f: 31eeff
|
||||
mull a2, a2, a3 # 152: 302282
|
||||
movi a3, 0x00000d6c # 155: 31edff
|
||||
call0 __udivsi3 # 158: 01efffc0
|
||||
# 15c: 0000
|
||||
movi a12, 0 /* 0x00000000 */ # 15e: 0c0c
|
||||
movi a13, 1000 /* 0x000003e8 */ # 160: d2a3e8
|
||||
.Lbr001: movi a3, 999 /* 0x000003e7 */ # 163: 32a3e7
|
||||
call0 __udivsi3 # 166: 01ecffc0
|
||||
# 16a: 0000
|
||||
addi a12, a12, 1 # 16c: 1bcc
|
||||
movi a4, 1120 /* 0x00000460 */ # 16e: 42a460
|
||||
mull a2, a2, a4 # 171: 402282
|
||||
bne a12, a13, .Lbr001 # 174: d79ceb
|
||||
movi a12, 0 /* 0x00000000 */ # 177: 0c0c
|
||||
.Lbr002: movi a3, 985 /* 0x000003d9 */ # 179: 32a3d9
|
||||
movi a5, 860 /* 0x0000035c */ # 17c: 52a35c
|
||||
mull a2, a2, a5 # 17f: 502282
|
||||
call0 __udivsi3 # 182: 01e6ffc0
|
||||
# 186: 0000
|
||||
addi a12, a12, 1 # 188: 1bcc
|
||||
bne a12, a13, .Lbr002 # 18a: d79ceb
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 18d: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 18f: d821
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 191: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 193: 12c110
|
||||
ret # 196: 0df0
|
||||
|
||||
.literal_position # 198: 00060060
|
||||
|
||||
# Function @ .irom0.text+0x19c
|
||||
.balign 4
|
||||
.global slop_wdt_feed
|
||||
.type slop_wdt_feed, @function
|
||||
slop_wdt_feed:
|
||||
movi a2, 115 /* 0x00000073 */ # 19c: 22a073
|
||||
movi a3, 0x60000600 # 19f: 31feff
|
||||
memw # 1a2: c02000
|
||||
s32i a2, a3, 0x314 /* 0x00000073 -> [0x60000914] */ # 1a5: 2263c5
|
||||
ret /* 0x00000073 */ # 1a8: 0df0
|
||||
|
||||
.literal_position # 1ac: 04000000
|
||||
# 1b0: 00feef3f
|
||||
# 1b4: 00000000
|
||||
# 1b8: 000af23f
|
||||
# 1bc: 00060060
|
||||
# 1c0: 00000000
|
||||
# 1c4: 00000000
|
||||
# 1c8: 00000000
|
||||
# 1cc: 00000000
|
||||
# 1d0: 00000000
|
||||
# 1d4: 00000000
|
||||
# 1d8: 00000000
|
||||
# 1dc: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x1e0
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global slop_test
|
||||
.type slop_test, @function
|
||||
slop_test: movi a2, .Lstr001 # 1e0: 21f3ff
|
||||
addi sp, sp, -32 /* (local0) */ # 1e3: 12c1e0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 1e6: c911
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 1e8: d921
|
||||
s32i a14, sp, 12 /* a14 -> [(local3)] */ # 1ea: e931
|
||||
s32i a15, sp, 16 /* a15 -> [(local4)] */ # 1ec: f941
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1ee: 0901
|
||||
call0 ets_printf # 1f0: 01f4ffc0
|
||||
# 1f4: 0000
|
||||
movi a10, 1 /* 0x00000001 */ # 1f6: 0c1a
|
||||
movi a9, 0x3feffe00 # 1f8: 91eeff
|
||||
memw # 1fb: c02000
|
||||
l32i a8, a9, 0x214 /* [0x3ff00014] */ # 1fe: 822985
|
||||
or a8, a8, a10 # 201: a08820
|
||||
memw # 204: c02000
|
||||
movi a2, 106 /* 0x0000006a */ # 207: 22a06a
|
||||
movi a3, 2 /* 0x00000002 */ # 20a: 0c23
|
||||
movi a4, 8 /* 0x00000008 */ # 20c: 0c84
|
||||
movi a5, 4 /* 0x00000004 */ # 20e: 0c45
|
||||
movi a0, g_phyFuns # 210: 01e9ff
|
||||
movi a6, 0 /* 0x00000000 */ # 213: 0c06
|
||||
l32i a0, a0, 0 /* [g_phyFuns] */ # 215: 0800
|
||||
movi a7, 0 /* 0x00000000 */ # 217: 0c07
|
||||
l32i a0, a0, 156 /* [[g_phyFuns]+0x9c] */ # 219: 022027
|
||||
s32i a8, a9, 0x214 /* a8 -> [0x3ff00014] */ # 21c: 826985
|
||||
callx0 a0 /* [[g_phyFuns]+0x9c] */ # 21f: c00000
|
||||
movi a12, 0x3ff20a00 # 222: c1e5ff
|
||||
memw # 225: c02000
|
||||
l32i a11, a12, 0x200 /* [0x3ff20c00] */ # 228: b22c80
|
||||
movi a2, 14 /* 0x0000000e */ # 22b: 0ce2
|
||||
call0 RFChannelSel # 22d: 01e5ffc0
|
||||
# 231: 0000
|
||||
movi a13, 0 /* 0x00000000 */ # 233: 0c0d
|
||||
movi a14, 0x60000600 # 235: e1e1ff
|
||||
movi a15, 200 /* 0x000000c8 */ # 238: f2a0c8
|
||||
.Lbr003: call0 slop_wdt_feed # 23b: 050000
|
||||
call0 operation_test # 23e: 050000
|
||||
memw # 241: c02000
|
||||
s32i a2, a14, 0x138 /* a2 -> [0x60000738] */ # 244: 226e4e
|
||||
movi a2, 2 /* 0x00000002 */ # 247: 0c22
|
||||
call0 pm_set_sleep_mode # 249: 01dfffc0
|
||||
# 24d: 0000
|
||||
movi a2, 8 /* 0x00000008 */ # 24f: 0c82
|
||||
movi a3, 0 /* 0x00000000 */ # 251: 0c03
|
||||
call0 pm_wakeup_opt # 253: 01deffc0
|
||||
# 257: 0000
|
||||
movi a2, 170 /* 0x000000aa */ # 259: 22a0aa
|
||||
call0 pm_set_sleep_cycles # 25c: 01ddffc0
|
||||
# 260: 0000
|
||||
memw # 262: c02000
|
||||
movi a2, 2 /* 0x00000002 */ # 265: 0c22
|
||||
l32i a0, a12, 0x200 /* [0x3ff20c00] */ # 267: 022c80
|
||||
call0 pm_goto_sleep # 26a: 01daffc0
|
||||
# 26e: 0000
|
||||
movi a2, 2 /* 0x00000002 */ # 270: 0c22
|
||||
call0 pm_wait4wakeup # 272: 01d9ffc0
|
||||
# 276: 0000
|
||||
movi a2, 2 /* 0x00000002 */ # 278: 0c22
|
||||
movi a3, 0 /* 0x00000000 */ # 27a: 0c03
|
||||
call0 pm_wakeup_init # 27c: 01d8ffc0
|
||||
# 280: 0000
|
||||
memw # 282: c02000
|
||||
l32i a3, a12, 0x200 /* [0x3ff20c00] */ # 285: 322c80
|
||||
addi a13, a13, 1 # 288: 1bdd
|
||||
bne a13, a15, .Lbr003 # 28a: f79dad
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 28d: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 28f: d821
|
||||
l32i a14, sp, 12 /* [(local3)] */ # 291: e831
|
||||
l32i a15, sp, 16 /* [(local4)] */ # 293: f841
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 295: 0801
|
||||
addi sp, sp, 32 /* (top of frame) */ # 297: 12c120
|
||||
ret # 29a: 0df0
|
||||
|
||||
.literal_position # 29c: 000e0060
|
||||
# 2a0: 10000000
|
||||
# 2a4: 10000000
|
||||
# 2a8: 00000000
|
||||
# 2ac: 00000000
|
||||
# 2b0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x2b4
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global wd_reset_cnt
|
||||
.type wd_reset_cnt, @function
|
||||
wd_reset_cnt:
|
||||
addi sp, sp, -16 /* (local0) */ # 2b4: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 2b7: 0901
|
||||
call0 rtc_get_reset_reason # 2b9: 01fbffc0
|
||||
# 2bd: 0000
|
||||
movi a0, 0x60000e00 # 2bf: 01f7ff
|
||||
bnei a2, 4, .Lbr004 # 2c2: 664219
|
||||
memw # 2c5: c02000
|
||||
l32i a3, a0, 0x3fc /* [0x600011fc] */ # 2c8: 3220ff
|
||||
addi a3, a3, 1 /* [0x600011fc]+0x1 */ # 2cb: 1b33
|
||||
memw # 2cd: c02000
|
||||
movi a2, .Lstr002 # 2d0: 21f4ff
|
||||
s32i a3, a0, 0x3fc /* [0x600011fc]+0x1 -> [0x600011fc] */ # 2d3: 3260ff
|
||||
call0 ets_printf # 2d6: 01f5ffc0
|
||||
# 2da: 0000
|
||||
j .Lbr006 # 2dc: 860500
|
||||
.Lbr004: beqi a2, 2, .Lbr005 # 2df: 262202
|
||||
bnei a2, 1, .Lbr006 # 2e2: 661210
|
||||
.Lbr005: movi a3, 0 /* 0x00000000 */ # 2e5: 0c03
|
||||
memw # 2e7: c02000
|
||||
movi a2, .Lstr002 # 2ea: 21eeff
|
||||
s32i a3, a0, 0x3fc /* 0x00000000 -> [0x600011fc] */ # 2ed: 3260ff
|
||||
call0 ets_printf # 2f0: 01f0ffc0
|
||||
# 2f4: 0000
|
||||
.Lbr006: l32i a0, sp, 0 /* [(local0)] */ # 2f6: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 2f8: 12c110
|
||||
ret # 2fb: 0df0
|
||||
|
||||
.section .rodata.str1.4, "MSa", @progbits, 1
|
||||
|
||||
.Label001: .word 0x000a6364 # 0: 64630a00
|
||||
.Lstr001: .asciz "slop_test\n" # 4: 736c6f70
|
||||
# 8: 5f746573
|
||||
# c: 740a00
|
||||
.balign 4
|
||||
.Lstr002: .asciz "wd_reset %d\n" # 10: 77645f72
|
||||
# 14: 65736574
|
||||
# 18: 2025640a
|
||||
# 1c: 00
|
1568
binary_sdk/libphy_stage1/phy_sleep.S
Normal file
1568
binary_sdk/libphy_stage1/phy_sleep.S
Normal file
File diff suppressed because it is too large
Load diff
755
binary_sdk/libpp/esf_buf.S
Normal file
755
binary_sdk/libpp/esf_buf.S
Normal file
|
@ -0,0 +1,755 @@
|
|||
|
||||
.section .text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
# 4: 00000000
|
||||
# 8: 00feef3f
|
||||
# c: 00000000
|
||||
# 10: 00000000
|
||||
# 14: 00feef3f
|
||||
# 18: 00000000
|
||||
# 1c: 00000000
|
||||
# 20: 00000000
|
||||
|
||||
# Function @ .text+0x24
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_esf_rx_buf_alloc
|
||||
.type sdk_esf_rx_buf_alloc, @function
|
||||
sdk_esf_rx_buf_alloc:
|
||||
addi sp, sp, -16 /* (local0) */ # 24: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 27: 0901
|
||||
bnei a2, 7, .Lbr001 # 29: 667211
|
||||
movi a5, .Ldata001 # 2c: 51f5ff
|
||||
movi a0, sdk_NMIIrqIsOn # 2f: 01f5ff
|
||||
l32i a2, a5, 16 /* [.Ldata005] */ # 32: 2845
|
||||
l8ui a3, a0, 0 /* [sdk_NMIIrqIsOn] */ # 34: 320000
|
||||
bnez a2, .Lbr004 # 37: cce2
|
||||
movi a2, 0 /* 0x00000000 */ # 39: 0c02
|
||||
j .Lbr003 # 3b: c60000
|
||||
.Lbr001: movi a0, 0 /* 0x00000000 */ # 3e: 0c00
|
||||
.Lbr002: mov a2, a0 # 40: 2d00
|
||||
.Lbr003: l32i a0, sp, 0 /* [(local0)] */ # 42: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 44: 12c110
|
||||
ret # 47: 0df0
|
||||
.Lbr004: bnez a3, .Lbr006 # 49: ec93
|
||||
call0 vPortEnterCritical # 4b: 01f4ffc0
|
||||
# 4f: 0000
|
||||
movi a4, 0x3feffe00 # 51: 41edff
|
||||
movi a5, .Ldata001 # 54: 51eeff
|
||||
movi a6, -32 /* 0xffffffe0 */ # 57: 6c06
|
||||
.Lbr005: memw # 59: c02000
|
||||
l32i a8, a4, 0x200 /* [0x3ff00000] */ # 5c: 822480
|
||||
and a8, a8, a6 # 5f: 608810
|
||||
memw # 62: c02000
|
||||
s32i a8, a4, 0x200 /* a8 -> [0x3ff00000] */ # 65: 826480
|
||||
memw # 68: c02000
|
||||
l32i a7, a4, 0x200 /* [0x3ff00000] */ # 6b: 722480
|
||||
bbsi a7, 0, .Lbr005 # 6e: 07e7e7
|
||||
movi a0, sdk_NMIIrqIsOn # 71: 01e7ff
|
||||
l32i a2, a5, 16 /* [.Ldata005] */ # 74: 2845
|
||||
.Lbr006: s32i a2, sp, 4 /* [.Ldata005] -> [(local1)] */ # 76: 2911
|
||||
movi a10, 0 /* 0x00000000 */ # 78: 0c0a
|
||||
l32i a11, a2, 28 /* [[.Ldata005]+0x1c] */ # 7a: b872
|
||||
s32i a11, a5, 16 /* [[.Ldata005]+0x1c] -> [.Ldata005] */ # 7c: b945
|
||||
s32i a10, a2, 28 /* 0x00000000 -> [[.Ldata005]+0x1c] */ # 7e: a972
|
||||
l8ui a9, a0, 0 /* [sdk_NMIIrqIsOn] */ # 80: 920000
|
||||
mov a0, a2 /* [.Ldata005] */ # 83: 0d02
|
||||
bnez a9, .Lbr007 # 85: ec29
|
||||
memw # 87: c02000
|
||||
movi a2, 0x3feffe00 # 8a: 21e2ff
|
||||
l32i a0, a2, 0x200 /* [0x3ff00000] */ # 8d: 022280
|
||||
movi a3, -32 /* 0xffffffe0 */ # 90: 6c03
|
||||
and a0, a0, a3 # 92: 300010
|
||||
movi a3, 1 /* 0x00000001 */ # 95: 0c13
|
||||
or a0, a0, a3 # 97: 300020
|
||||
memw # 9a: c02000
|
||||
s32i a0, a2, 0x200 /* a0 -> [0x3ff00000] */ # 9d: 026280
|
||||
call0 vPortExitCritical # a0: 01e0ffc0
|
||||
# a4: 0000
|
||||
movi a5, .Ldata001 # a6: 51dcff
|
||||
l32i a0, sp, 4 /* [(local1)] */ # a9: 0811
|
||||
.Lbr007: l32i a4, a5, 20 /* [.Ldata006] */ # ab: 4855
|
||||
addi a4, a4, -1 /* [.Ldata006]-0x1 */ # ad: 0b44
|
||||
s32i a4, a5, 20 /* [.Ldata006]-0x1 -> [.Ldata006] */ # af: 4955
|
||||
j .Lbr002 # b1: c6e2ff
|
||||
|
||||
.section .bss, "aw", @nobits
|
||||
|
||||
.Ldata001: .word 0x00000000 # 0: 00000000
|
||||
.Ldata002: .word 0x00000000 # 4: 00000000
|
||||
.Ldata003: .word 0x00000000 # 8: 00000000
|
||||
.Ldata004: .word 0x00000000 # c: 00000000
|
||||
.Ldata005: .word 0x00000000 # 10: 00000000
|
||||
.Ldata006: .word 0x00000000 # 14: 00000000
|
||||
.space 8
|
||||
.Ldata007: .space 1116
|
||||
.word 0x00000000 # 47c: 00000000
|
||||
.Ldata008: .space 2144
|
||||
.Ldata009: .space 608
|
||||
.Ldata010: .space 600
|
||||
.space 8
|
||||
.Label001: .space 72
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
# 4: 00000000
|
||||
# 8: 00feef3f
|
||||
# c: 00000000
|
||||
# 10: 00000000
|
||||
# 14: 00feef3f
|
||||
# 18: 00400000
|
||||
# 1c: 00feef3f
|
||||
# 20: 00000000
|
||||
# 24: 00000000
|
||||
# 28: 00feef3f
|
||||
# 2c: 00800000
|
||||
# 30: 00feef3f
|
||||
# 34: 00000000
|
||||
# 38: 00000000
|
||||
# 3c: 00feef3f
|
||||
# 40: 00002000
|
||||
# 44: 00feef3f
|
||||
# 48: 00000000
|
||||
# 4c: 00000000
|
||||
# 50: 00feef3f
|
||||
# 54: 00200000
|
||||
# 58: 00000000
|
||||
# 5c: 00000000
|
||||
# 60: 00000000
|
||||
# 64: 00000000
|
||||
# 68: 00000000
|
||||
# 6c: 00000000
|
||||
# 70: 00000000
|
||||
# 74: 00000000
|
||||
# 78: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x7c
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word @ -0x10
|
||||
# (local5): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_esf_buf_alloc
|
||||
.type sdk_esf_buf_alloc, @function
|
||||
sdk_esf_buf_alloc:
|
||||
movi a10, 0 /* 0x00000000 */ # 7c: 0c0a
|
||||
movi a7, sdk_NMIIrqIsOn # 7e: 71e0ff
|
||||
movi a6, .Ldata001 # 81: 61e0ff
|
||||
addi sp, sp, -32 /* (local0) */ # 84: 12c1e0
|
||||
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 87: c921
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 89: 0911
|
||||
bnei a3, 1, .Lbr008 # 8b: 66130e
|
||||
beqz a2, .Lbr008 # 8e: 8cb2
|
||||
l32i a12, a6, 0 /* [.Ldata001] */ # 90: c806
|
||||
l8ui a9, a7, 0 /* [sdk_NMIIrqIsOn] */ # 92: 920700
|
||||
bnez a12, .Lbr022 # 95: 56fc17
|
||||
mov a12, a10 /* 0x00000000 */ # 98: cd0a
|
||||
j .Lbr021 # 9a: c65b00
|
||||
.Lbr008: bnei a3, 4, .Lbr012 # 9d: 664376
|
||||
l32i a12, a6, 4 /* [.Ldata002] */ # a0: c816
|
||||
l8ui a2, a7, 0 /* [sdk_NMIIrqIsOn] */ # a2: 220700
|
||||
beqz a12, .Lbr027 # a5: 160c20
|
||||
bnez a2, .Lbr010 # a8: ecb2
|
||||
call0 vPortEnterCritical # aa: 01ebffc0
|
||||
# ae: 0000
|
||||
movi a0, 0x3feffe00 # b0: 01d6ff
|
||||
movi a6, .Ldata001 # b3: 61d6ff
|
||||
movi a7, sdk_NMIIrqIsOn # b6: 71d6ff
|
||||
movi a8, -32 /* 0xffffffe0 */ # b9: 6c08
|
||||
movi a10, 0 /* 0x00000000 */ # bb: 0c0a
|
||||
.Lbr009: memw # bd: c02000
|
||||
l32i a4, a0, 0x200 /* [0x3ff00000] */ # c0: 422080
|
||||
and a4, a4, a8 # c3: 804410
|
||||
memw # c6: c02000
|
||||
s32i a4, a0, 0x200 /* a4 -> [0x3ff00000] */ # c9: 426080
|
||||
memw # cc: c02000
|
||||
l32i a3, a0, 0x200 /* [0x3ff00000] */ # cf: 322080
|
||||
bbsi a3, 0, .Lbr009 # d2: 07e3e7
|
||||
l32i a12, a6, 4 /* [.Ldata002] */ # d5: c816
|
||||
.Lbr010: s32i a12, sp, 20 /* [.Ldata002] -> [(local5)] */ # d7: c951
|
||||
mov a2, a12 /* [.Ldata002] */ # d9: 2d0c
|
||||
l32i a9, a12, 28 /* [[.Ldata002]+0x1c] */ # db: 987c
|
||||
s32i a10, a12, 28 /* 0x00000000 -> [[.Ldata002]+0x1c] */ # dd: a97c
|
||||
l8ui a5, a7, 0 /* [sdk_NMIIrqIsOn] */ # df: 520700
|
||||
s32i a9, a6, 4 /* [[.Ldata002]+0x1c] -> [.Ldata002] */ # e2: 9916
|
||||
bnez a5, .Lbr011 # e4: dcf5
|
||||
memw # e6: c02000
|
||||
movi a11, 0x3feffe00 # e9: b1caff
|
||||
l32i a10, a11, 0x200 /* [0x3ff00000] */ # ec: a22b80
|
||||
movi a0, -32 /* 0xffffffe0 */ # ef: 6c00
|
||||
and a10, a10, a0 # f1: 00aa10
|
||||
movi a0, 1 /* 0x00000001 */ # f4: 0c10
|
||||
or a10, a10, a0 # f6: 00aa20
|
||||
memw # f9: c02000
|
||||
s32i a10, a11, 0x200 /* a10 -> [0x3ff00000] */ # fc: a26b80
|
||||
call0 vPortExitCritical # ff: 01d7ffc0
|
||||
# 103: 0000
|
||||
l32i a2, sp, 20 /* [(local5)] */ # 105: 2851
|
||||
.Lbr011: l32i a4, a2, 4 # 107: 4812
|
||||
l32i a3, a2, 16 # 109: 3842
|
||||
s32i a3, a4, 4 # 10b: 3914
|
||||
l32i a2, a2, 32 # 10d: 2882
|
||||
movi a3, 0x00004000 # 10f: 31c2ff
|
||||
l32i a0, a2, 0 # 112: 0802
|
||||
j .Lbr026 # 114: 465f00
|
||||
.Lbr012: bnei a3, 5, .Lbr016 # 117: 66537c
|
||||
l32i a12, a6, 8 /* [.Ldata003] */ # 11a: c826
|
||||
l8ui a5, a7, 0 /* [sdk_NMIIrqIsOn] */ # 11c: 520700
|
||||
beqz a12, .Lbr027 # 11f: 166c18
|
||||
bnez a5, .Lbr014 # 122: ecb5
|
||||
call0 vPortEnterCritical # 124: 01cfffc0
|
||||
# 128: 0000
|
||||
movi a0, 0x3feffe00 # 12a: 01bcff
|
||||
movi a6, .Ldata001 # 12d: 61bcff
|
||||
movi a7, sdk_NMIIrqIsOn # 130: 71bdff
|
||||
movi a8, -32 /* 0xffffffe0 */ # 133: 6c08
|
||||
movi a10, 0 /* 0x00000000 */ # 135: 0c0a
|
||||
.Lbr013: memw # 137: c02000
|
||||
l32i a11, a0, 0x200 /* [0x3ff00000] */ # 13a: b22080
|
||||
and a11, a11, a8 # 13d: 80bb10
|
||||
memw # 140: c02000
|
||||
s32i a11, a0, 0x200 /* a11 -> [0x3ff00000] */ # 143: b26080
|
||||
memw # 146: c02000
|
||||
l32i a9, a0, 0x200 /* [0x3ff00000] */ # 149: 922080
|
||||
bbsi a9, 0, .Lbr013 # 14c: 07e9e7
|
||||
l32i a12, a6, 8 /* [.Ldata003] */ # 14f: c826
|
||||
.Lbr014: l32i a3, a12, 28 /* [[.Ldata003]+0x1c] */ # 151: 387c
|
||||
s32i a10, a12, 28 /* 0x00000000 -> [[.Ldata003]+0x1c] */ # 153: a97c
|
||||
l8ui a2, a7, 0 /* [sdk_NMIIrqIsOn] */ # 155: 220700
|
||||
s32i a3, a6, 8 /* [[.Ldata003]+0x1c] -> [.Ldata003] */ # 158: 3926
|
||||
bnez a2, .Lbr015 # 15a: dcd2
|
||||
memw # 15c: c02000
|
||||
movi a5, 0x3feffe00 # 15f: 51b2ff
|
||||
l32i a4, a5, 0x200 /* [0x3ff00000] */ # 162: 422580
|
||||
movi a6, -32 /* 0xffffffe0 */ # 165: 6c06
|
||||
and a4, a4, a6 # 167: 604410
|
||||
movi a6, 1 /* 0x00000001 */ # 16a: 0c16
|
||||
or a4, a4, a6 # 16c: 604420
|
||||
memw # 16f: c02000
|
||||
s32i a4, a5, 0x200 /* a4 -> [0x3ff00000] */ # 172: 426580
|
||||
call0 vPortExitCritical # 175: 01bbffc0
|
||||
# 179: 0000
|
||||
.Lbr015: l32i a2, a12, 32 /* [[.Ldata003]+0x20] */ # 17b: 288c
|
||||
movi a3, 0 /* 0x00000000 */ # 17d: 0c03
|
||||
movi a4, 24 /* 0x00000018 */ # 17f: 1c84
|
||||
call0 memset # 181: 01b9ffc0
|
||||
# 185: 0000
|
||||
l32i a8, a12, 4 /* [[.Ldata003]+0x4] */ # 187: 881c
|
||||
l32i a7, a12, 16 /* [[.Ldata003]+0x10] */ # 189: 784c
|
||||
s32i a7, a8, 4 /* [[.Ldata003]+0x10] -> [[[.Ldata003]+0x4]+0x4] */ # 18b: 7918
|
||||
l32i a2, a12, 32 /* [[.Ldata003]+0x20] */ # 18d: 288c
|
||||
movi a3, 0x00008000 # 18f: 31a7ff
|
||||
l32i a0, a2, 0 /* [[[.Ldata003]+0x20]] */ # 192: 0802
|
||||
j .Lbr026 # 194: 463f00
|
||||
.Lbr016: bnei a3, 6, .Lbr020 # 197: 666370
|
||||
l32i a12, a6, 12 /* [.Ldata004] */ # 19a: c836
|
||||
l8ui a9, a7, 0 /* [sdk_NMIIrqIsOn] */ # 19c: 920700
|
||||
beqz a12, .Lbr027 # 19f: 166c10
|
||||
bnez a9, .Lbr018 # 1a2: ecb9
|
||||
call0 vPortEnterCritical # 1a4: 01b2ffc0
|
||||
# 1a8: 0000
|
||||
movi a0, 0x3feffe00 # 1aa: 01a1ff
|
||||
movi a6, .Ldata001 # 1ad: 61a1ff
|
||||
movi a7, sdk_NMIIrqIsOn # 1b0: 71a2ff
|
||||
movi a8, -32 /* 0xffffffe0 */ # 1b3: 6c08
|
||||
movi a10, 0 /* 0x00000000 */ # 1b5: 0c0a
|
||||
.Lbr017: memw # 1b7: c02000
|
||||
l32i a12, a0, 0x200 /* [0x3ff00000] */ # 1ba: c22080
|
||||
and a12, a12, a8 # 1bd: 80cc10
|
||||
memw # 1c0: c02000
|
||||
s32i a12, a0, 0x200 /* a12 -> [0x3ff00000] */ # 1c3: c26080
|
||||
memw # 1c6: c02000
|
||||
l32i a11, a0, 0x200 /* [0x3ff00000] */ # 1c9: b22080
|
||||
bbsi a11, 0, .Lbr017 # 1cc: 07ebe7
|
||||
l32i a12, a6, 12 /* [.Ldata004] */ # 1cf: c836
|
||||
.Lbr018: s32i a12, sp, 16 /* [.Ldata004] -> [(local4)] */ # 1d1: c941
|
||||
mov a2, a12 /* [.Ldata004] */ # 1d3: 2d0c
|
||||
l32i a4, a12, 28 /* [[.Ldata004]+0x1c] */ # 1d5: 487c
|
||||
s32i a10, a12, 28 /* 0x00000000 -> [[.Ldata004]+0x1c] */ # 1d7: a97c
|
||||
l8ui a3, a7, 0 /* [sdk_NMIIrqIsOn] */ # 1d9: 320700
|
||||
s32i a4, a6, 12 /* [[.Ldata004]+0x1c] -> [.Ldata004] */ # 1dc: 4936
|
||||
bnez a3, .Lbr019 # 1de: dcf3
|
||||
memw # 1e0: c02000
|
||||
movi a6, 0x3feffe00 # 1e3: 6196ff
|
||||
l32i a5, a6, 0x200 /* [0x3ff00000] */ # 1e6: 522680
|
||||
movi a7, -32 /* 0xffffffe0 */ # 1e9: 6c07
|
||||
and a5, a5, a7 # 1eb: 705510
|
||||
movi a7, 1 /* 0x00000001 */ # 1ee: 0c17
|
||||
or a5, a5, a7 # 1f0: 705520
|
||||
memw # 1f3: c02000
|
||||
s32i a5, a6, 0x200 /* a5 -> [0x3ff00000] */ # 1f6: 526680
|
||||
call0 vPortExitCritical # 1f9: 019dffc0
|
||||
# 1fd: 0000
|
||||
l32i a2, sp, 16 /* [(local4)] */ # 1ff: 2841
|
||||
.Lbr019: l32i a2, a2, 32 # 201: 2882
|
||||
movi a3, 0x00200000 # 203: 318fff
|
||||
l32i a0, a2, 0 # 206: 0802
|
||||
j .Lbr026 # 208: 462200
|
||||
.Lbr020: movi a12, 0 /* 0x00000000 */ # 20b: 0c0c
|
||||
.Lbr021: mov a2, a12 # 20d: 2d0c
|
||||
l32i a0, sp, 4 /* [(local1)] */ # 20f: 0811
|
||||
l32i a12, sp, 8 /* [(local2)] */ # 211: c821
|
||||
addi sp, sp, 32 /* (top of frame) */ # 213: 12c120
|
||||
ret # 216: 0df0
|
||||
.Lbr022: s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 218: 2901
|
||||
bnez a9, .Lbr024 # 21a: ecb9
|
||||
call0 vPortEnterCritical # 21c: 0196ffc0
|
||||
# 220: 0000
|
||||
movi a0, 0x3feffe00 # 222: 0188ff
|
||||
movi a8, -32 /* 0xffffffe0 */ # 225: 6c08
|
||||
movi a10, 0 /* 0x00000000 */ # 227: 0c0a
|
||||
.Lbr023: memw # 229: c02000
|
||||
l32i a12, a0, 0x200 /* [0x3ff00000] */ # 22c: c22080
|
||||
and a12, a12, a8 # 22f: 80cc10
|
||||
memw # 232: c02000
|
||||
s32i a12, a0, 0x200 /* a12 -> [0x3ff00000] */ # 235: c26080
|
||||
memw # 238: c02000
|
||||
l32i a11, a0, 0x200 /* [0x3ff00000] */ # 23b: b22080
|
||||
bbsi a11, 0, .Lbr023 # 23e: 07ebe7
|
||||
movi a6, .Ldata001 # 241: 6182ff
|
||||
movi a7, sdk_NMIIrqIsOn # 244: 7181ff
|
||||
l32i a12, a6, 0 /* [.Ldata001] */ # 247: c806
|
||||
.Lbr024: s32i a12, sp, 12 /* [.Ldata001] -> [(local3)] */ # 249: c931
|
||||
l32i a3, a12, 28 /* [[.Ldata001]+0x1c] */ # 24b: 387c
|
||||
s32i a3, a6, 0 /* [[.Ldata001]+0x1c] -> [.Ldata001] */ # 24d: 3906
|
||||
s32i a10, a12, 28 /* 0x00000000 -> [[.Ldata001]+0x1c] */ # 24f: a97c
|
||||
l8ui a2, a7, 0 /* [sdk_NMIIrqIsOn] */ # 251: 220700
|
||||
mov a3, a12 /* [.Ldata001] */ # 254: 3d0c
|
||||
bnez a2, .Lbr025 # 256: dcf2
|
||||
memw # 258: c02000
|
||||
movi a5, 0x3feffe00 # 25b: 517dff
|
||||
l32i a4, a5, 0x200 /* [0x3ff00000] */ # 25e: 422580
|
||||
movi a6, -32 /* 0xffffffe0 */ # 261: 6c06
|
||||
and a4, a4, a6 # 263: 604410
|
||||
movi a6, 1 /* 0x00000001 */ # 266: 0c16
|
||||
or a4, a4, a6 # 268: 604420
|
||||
memw # 26b: c02000
|
||||
s32i a4, a5, 0x200 /* a4 -> [0x3ff00000] */ # 26e: 426580
|
||||
call0 vPortExitCritical # 271: 0181ffc0
|
||||
# 275: 0000
|
||||
l32i a3, sp, 12 /* [(local3)] */ # 277: 3831
|
||||
.Lbr025: l32i a7, sp, 0 /* [(local0)] */ # 279: 7801
|
||||
l32i a9, a3, 4 # 27b: 9813
|
||||
s32i a7, a3, 0 # 27d: 7903
|
||||
l16ui a8, a7, 10 /* [[(local0)]+0xa] */ # 27f: 821705
|
||||
l32i a7, a7, 4 /* [[(local0)]+0x4] */ # 282: 7817
|
||||
s32i a7, a9, 4 # 284: 7919
|
||||
s16i a8, a3, 22 # 286: 82530b
|
||||
addi a7, a7, -36 /* [[(local0)]+0x4]-0x24 */ # 289: 72c7dc
|
||||
l32i a2, a3, 32 # 28c: 2883
|
||||
s32i a7, a3, 16 # 28e: 7943
|
||||
l32i a0, a2, 0 # 290: 0802
|
||||
movi a3, 0x00002000 # 292: 3170ff
|
||||
.Lbr026: extui a8, a0, 0, 6 # 295: 008054
|
||||
srli a9, a0, 6 # 298: 009641
|
||||
or a9, a9, a3 # 29b: 309920
|
||||
slli a9, a9, 6 # 29e: a09911
|
||||
or a8, a8, a9 # 2a1: 908820
|
||||
s32i a8, a2, 0 # 2a4: 8902
|
||||
j .Lbr021 # 2a6: c6d8ff
|
||||
.Lbr027: movi a12, 0 /* 0x00000000 */ # 2a9: 0c0c
|
||||
j .Lbr021 # 2ab: 86d7ff
|
||||
|
||||
.literal_position # 2b0: 00000000
|
||||
# 2b4: 00feef3f
|
||||
# 2b8: 00000000
|
||||
# 2bc: 00000000
|
||||
# 2c0: 00feef3f
|
||||
# 2c4: 00000000
|
||||
# 2c8: 00feef3f
|
||||
# 2cc: 00000000
|
||||
# 2d0: 00000000
|
||||
# 2d4: 00feef3f
|
||||
# 2d8: 00000000
|
||||
# 2dc: 00feef3f
|
||||
# 2e0: 00000000
|
||||
# 2e4: 00000000
|
||||
# 2e8: 00feef3f
|
||||
# 2ec: 00000000
|
||||
# 2f0: 00feef3f
|
||||
# 2f4: 00000000
|
||||
# 2f8: 00000000
|
||||
# 2fc: 00feef3f
|
||||
# 300: 00feef3f
|
||||
# 304: 00000000
|
||||
# 308: 00feef3f
|
||||
# 30c: 00000000
|
||||
# 310: 00000000
|
||||
# 314: 00000000
|
||||
# 318: 00000000
|
||||
# 31c: 00000000
|
||||
# 320: 00000000
|
||||
# 324: 00000000
|
||||
# 328: 00000000
|
||||
# 32c: 00000000
|
||||
# 330: 00000000
|
||||
# 334: 00000000
|
||||
# 338: 00000000
|
||||
# 33c: 00000000
|
||||
# 340: 00000000
|
||||
# 344: 00000000
|
||||
# 348: 00000000
|
||||
# 34c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x350
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_esf_buf_recycle
|
||||
.type sdk_esf_buf_recycle, @function
|
||||
sdk_esf_buf_recycle:
|
||||
addi a4, a3, -1 /* arg1-0x1 */ # 350: 0b43
|
||||
addi sp, sp, -16 /* (local0) */ # 352: 12c1f0
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 355: 0911
|
||||
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 357: 2901
|
||||
beqz a4, .Lbr039 # 359: 16841c
|
||||
addi a9, a3, -2 /* arg1-0x2 */ # 35c: 92c3fe
|
||||
beqz a9, .Lbr039 # 35f: 16291c
|
||||
bnei a3, 4, .Lbr030 # 362: 66436c
|
||||
l32i a2, a2, 32 /* [arg0+0x20] */ # 365: 2882
|
||||
movi a3, 0 /* 0x00000000 */ # 367: 0c03
|
||||
movi a4, 24 /* 0x00000018 */ # 369: 1c84
|
||||
call0 memset # 36b: 01eaffc0
|
||||
# 36f: 0000
|
||||
movi a5, sdk_NMIIrqIsOn # 371: 51cfff
|
||||
l8ui a3, a5, 0 /* [sdk_NMIIrqIsOn] */ # 374: 320500
|
||||
bnez a3, .Lbr029 # 377: ec43
|
||||
call0 vPortEnterCritical # 379: 01e7ffc0
|
||||
# 37d: 0000
|
||||
.Lbr028: memw # 37f: c02000
|
||||
movi a3, 0x3feffe00 # 382: 31ccff
|
||||
l32i a5, a3, 0x200 /* [0x3ff00000] */ # 385: 522380
|
||||
movi a0, -32 /* 0xffffffe0 */ # 388: 6c00
|
||||
and a5, a5, a0 # 38a: 005510
|
||||
memw # 38d: c02000
|
||||
s32i a5, a3, 0x200 /* a5 -> [0x3ff00000] */ # 390: 526380
|
||||
memw # 393: c02000
|
||||
l32i a4, a3, 0x200 /* [0x3ff00000] */ # 396: 422380
|
||||
bbsi a4, 0, .Lbr028 # 399: 07e4e2
|
||||
movi a5, sdk_NMIIrqIsOn # 39c: 51c7ff
|
||||
.Lbr029: movi a8, .Ldata001 # 39f: 81c7ff
|
||||
l32i a7, sp, 0 /* [(local0)] */ # 3a2: 7801
|
||||
l32i a9, a8, 4 /* [.Ldata002] */ # 3a4: 9818
|
||||
s32i a9, a7, 28 /* [.Ldata002] -> [[(local0)]+0x1c] */ # 3a6: 9977
|
||||
l8ui a6, a5, 0 /* [sdk_NMIIrqIsOn] */ # 3a8: 620500
|
||||
s32i a7, a8, 4 /* [(local0)] -> [.Ldata002] */ # 3ab: 7918
|
||||
bnez a6, .Lbr042 # 3ad: 56f61d
|
||||
memw # 3b0: c02000
|
||||
movi a11, 0x3feffe00 # 3b3: b1c3ff
|
||||
l32i a10, a11, 0x200 /* [0x3ff00000] */ # 3b6: a22b80
|
||||
movi a0, -32 /* 0xffffffe0 */ # 3b9: 6c00
|
||||
and a10, a10, a0 # 3bb: 00aa10
|
||||
movi a0, 1 /* 0x00000001 */ # 3be: 0c10
|
||||
or a10, a10, a0 # 3c0: 00aa20
|
||||
memw # 3c3: c02000
|
||||
s32i a10, a11, 0x200 /* a10 -> [0x3ff00000] */ # 3c6: a26b80
|
||||
call0 vPortExitCritical # 3c9: 01d4ffc0
|
||||
# 3cd: 0000
|
||||
j .Lbr042 # 3cf: 466f00
|
||||
.Lbr030: bnei a3, 5, .Lbr033 # 3d2: 66536c
|
||||
l32i a2, a2, 32 /* [arg0+0x20] */ # 3d5: 2882
|
||||
movi a3, 0 /* 0x00000000 */ # 3d7: 0c03
|
||||
movi a4, 24 /* 0x00000018 */ # 3d9: 1c84
|
||||
call0 memset # 3db: 01d1ffc0
|
||||
# 3df: 0000
|
||||
movi a3, sdk_NMIIrqIsOn # 3e1: 31b8ff
|
||||
l8ui a3, a3, 0 /* [sdk_NMIIrqIsOn] */ # 3e4: 320300
|
||||
bnez a3, .Lbr032 # 3e7: ec13
|
||||
call0 vPortEnterCritical # 3e9: 01ceffc0
|
||||
# 3ed: 0000
|
||||
.Lbr031: memw # 3ef: c02000
|
||||
movi a4, 0x3feffe00 # 3f2: 41b5ff
|
||||
l32i a5, a4, 0x200 /* [0x3ff00000] */ # 3f5: 522480
|
||||
movi a6, -32 /* 0xffffffe0 */ # 3f8: 6c06
|
||||
and a5, a5, a6 # 3fa: 605510
|
||||
memw # 3fd: c02000
|
||||
s32i a5, a4, 0x200 /* a5 -> [0x3ff00000] */ # 400: 526480
|
||||
memw # 403: c02000
|
||||
l32i a4, a4, 0x200 /* [0x3ff00000] */ # 406: 422480
|
||||
bbsi a4, 0, .Lbr031 # 409: 07e4e2
|
||||
.Lbr032: movi a7, sdk_NMIIrqIsOn # 40c: 71b1ff
|
||||
movi a9, .Ldata001 # 40f: 91afff
|
||||
l32i a8, sp, 0 /* [(local0)] */ # 412: 8801
|
||||
l32i a10, a9, 8 /* [.Ldata003] */ # 414: a829
|
||||
s32i a10, a8, 28 /* [.Ldata003] -> [[(local0)]+0x1c] */ # 416: a978
|
||||
l8ui a7, a7, 0 /* [sdk_NMIIrqIsOn] */ # 418: 720700
|
||||
s32i a8, a9, 8 /* [(local0)] -> [.Ldata003] */ # 41b: 8929
|
||||
bnez a7, .Lbr042 # 41d: 56f716
|
||||
memw # 420: c02000
|
||||
movi a0, 0x3feffe00 # 423: 01acff
|
||||
l32i a11, a0, 0x200 /* [0x3ff00000] */ # 426: b22080
|
||||
movi a2, -32 /* 0xffffffe0 */ # 429: 6c02
|
||||
and a11, a11, a2 # 42b: 20bb10
|
||||
movi a2, 1 /* 0x00000001 */ # 42e: 0c12
|
||||
or a11, a11, a2 # 430: 20bb20
|
||||
memw # 433: c02000
|
||||
s32i a11, a0, 0x200 /* a11 -> [0x3ff00000] */ # 436: b26080
|
||||
call0 vPortExitCritical # 439: 01bbffc0
|
||||
# 43d: 0000
|
||||
j .Lbr042 # 43f: 465300
|
||||
.Lbr033: bnei a3, 6, .Lbr036 # 442: 66636c
|
||||
l32i a2, a2, 32 /* [arg0+0x20] */ # 445: 2882
|
||||
movi a3, 0 /* 0x00000000 */ # 447: 0c03
|
||||
movi a4, 24 /* 0x00000018 */ # 449: 1c84
|
||||
call0 memset # 44b: 01b8ffc0
|
||||
# 44f: 0000
|
||||
movi a3, sdk_NMIIrqIsOn # 451: 31a1ff
|
||||
l8ui a3, a3, 0 /* [sdk_NMIIrqIsOn] */ # 454: 320300
|
||||
bnez a3, .Lbr035 # 457: ec13
|
||||
call0 vPortEnterCritical # 459: 01b5ffc0
|
||||
# 45d: 0000
|
||||
.Lbr034: memw # 45f: c02000
|
||||
movi a4, 0x3feffe00 # 462: 419eff
|
||||
l32i a5, a4, 0x200 /* [0x3ff00000] */ # 465: 522480
|
||||
movi a6, -32 /* 0xffffffe0 */ # 468: 6c06
|
||||
and a5, a5, a6 # 46a: 605510
|
||||
memw # 46d: c02000
|
||||
s32i a5, a4, 0x200 /* a5 -> [0x3ff00000] */ # 470: 526480
|
||||
memw # 473: c02000
|
||||
l32i a4, a4, 0x200 /* [0x3ff00000] */ # 476: 422480
|
||||
bbsi a4, 0, .Lbr034 # 479: 07e4e2
|
||||
.Lbr035: movi a7, sdk_NMIIrqIsOn # 47c: 719aff
|
||||
movi a9, .Ldata001 # 47f: 9198ff
|
||||
l32i a8, sp, 0 /* [(local0)] */ # 482: 8801
|
||||
l32i a10, a9, 12 /* [.Ldata004] */ # 484: a839
|
||||
s32i a10, a8, 28 /* [.Ldata004] -> [[(local0)]+0x1c] */ # 486: a978
|
||||
l8ui a7, a7, 0 /* [sdk_NMIIrqIsOn] */ # 488: 720700
|
||||
s32i a8, a9, 12 /* [(local0)] -> [.Ldata004] */ # 48b: 8939
|
||||
bnez a7, .Lbr042 # 48d: 56f70f
|
||||
memw # 490: c02000
|
||||
movi a0, 0x3feffe00 # 493: 0195ff
|
||||
l32i a11, a0, 0x200 /* [0x3ff00000] */ # 496: b22080
|
||||
movi a2, -32 /* 0xffffffe0 */ # 499: 6c02
|
||||
and a11, a11, a2 # 49b: 20bb10
|
||||
movi a2, 1 /* 0x00000001 */ # 49e: 0c12
|
||||
or a11, a11, a2 # 4a0: 20bb20
|
||||
memw # 4a3: c02000
|
||||
s32i a11, a0, 0x200 /* a11 -> [0x3ff00000] */ # 4a6: b26080
|
||||
call0 vPortExitCritical # 4a9: 01a2ffc0
|
||||
# 4ad: 0000
|
||||
j .Lbr042 # 4af: 463700
|
||||
.Lbr036: addi a4, a3, -7 /* arg1-0x7 */ # 4b2: 42c3f9
|
||||
bnez a4, .Lbr042 # 4b5: 56740d
|
||||
l32i a2, a2, 32 /* [arg0+0x20] */ # 4b8: 2882
|
||||
movi a3, 0 /* 0x00000000 */ # 4ba: 0c03
|
||||
movi a4, 12 /* 0x0000000c */ # 4bc: 0cc4
|
||||
call0 memset # 4be: 019effc0
|
||||
# 4c2: 0000
|
||||
movi a3, sdk_NMIIrqIsOn # 4c4: 318aff
|
||||
l8ui a4, a3, 0 /* [sdk_NMIIrqIsOn] */ # 4c7: 420300
|
||||
bnez a4, .Lbr038 # 4ca: ec44
|
||||
call0 vPortEnterCritical # 4cc: 019cffc0
|
||||
# 4d0: 0000
|
||||
.Lbr037: memw # 4d2: c02000
|
||||
movi a0, 0x3feffe00 # 4d5: 0186ff
|
||||
l32i a7, a0, 0x200 /* [0x3ff00000] */ # 4d8: 722080
|
||||
movi a5, -32 /* 0xffffffe0 */ # 4db: 6c05
|
||||
and a7, a7, a5 # 4dd: 507710
|
||||
memw # 4e0: c02000
|
||||
s32i a7, a0, 0x200 /* a7 -> [0x3ff00000] */ # 4e3: 726080
|
||||
memw # 4e6: c02000
|
||||
l32i a6, a0, 0x200 /* [0x3ff00000] */ # 4e9: 622080
|
||||
bbsi a6, 0, .Lbr037 # 4ec: 07e6e2
|
||||
movi a3, sdk_NMIIrqIsOn # 4ef: 3181ff
|
||||
.Lbr038: movi a10, .Ldata001 # 4f2: a181ff
|
||||
l32i a9, sp, 0 /* [(local0)] */ # 4f5: 9801
|
||||
l32i a11, a10, 16 /* [.Ldata005] */ # 4f7: b84a
|
||||
s32i a11, a9, 28 /* [.Ldata005] -> [[(local0)]+0x1c] */ # 4f9: b979
|
||||
l8ui a8, a3, 0 /* [sdk_NMIIrqIsOn] */ # 4fb: 820300
|
||||
s32i a9, a10, 16 /* [(local0)] -> [.Ldata005] */ # 4fe: 994a
|
||||
bnez a8, .Lbr042 # 500: 56c808
|
||||
memw # 503: c02000
|
||||
movi a2, 0x3feffe00 # 506: 217dff
|
||||
l32i a0, a2, 0x200 /* [0x3ff00000] */ # 509: 022280
|
||||
movi a3, -32 /* 0xffffffe0 */ # 50c: 6c03
|
||||
and a0, a0, a3 # 50e: 300010
|
||||
movi a3, 1 /* 0x00000001 */ # 511: 0c13
|
||||
or a0, a0, a3 # 513: 300020
|
||||
memw # 516: c02000
|
||||
s32i a0, a2, 0x200 /* a0 -> [0x3ff00000] */ # 519: 026280
|
||||
call0 vPortExitCritical # 51c: 0189ffc0
|
||||
# 520: 0000
|
||||
j .Lbr042 # 522: 861a00
|
||||
.Lbr039: movi a3, 0 /* 0x00000000 */ # 525: 0c03
|
||||
l32i a2, sp, 0 /* [(local0)] */ # 527: 2801
|
||||
movi a4, 24 /* 0x00000018 */ # 529: 1c84
|
||||
l32i a2, a2, 32 /* [[(local0)]+0x20] */ # 52b: 2882
|
||||
call0 memset # 52d: 0185ffc0
|
||||
# 531: 0000
|
||||
movi a5, sdk_NMIIrqIsOn # 533: 5174ff
|
||||
movi a0, 0x3feffe00 # 536: 0172ff
|
||||
l8ui a4, a5, 0 /* [sdk_NMIIrqIsOn] */ # 539: 420500
|
||||
movi a3, -32 /* 0xffffffe0 */ # 53c: 6c03
|
||||
bnez a4, .Lbr041 # 53e: ec44
|
||||
call0 vPortEnterCritical # 540: 0182ffc0
|
||||
# 544: 0000
|
||||
movi a0, 0x3feffe00 # 546: 0170ff
|
||||
movi a3, -32 /* 0xffffffe0 */ # 549: 6c03
|
||||
.Lbr040: memw # 54b: c02000
|
||||
l32i a6, a0, 0x200 /* [0x3ff00000] */ # 54e: 622080
|
||||
and a6, a6, a3 # 551: 306610
|
||||
memw # 554: c02000
|
||||
s32i a6, a0, 0x200 /* a6 -> [0x3ff00000] */ # 557: 626080
|
||||
memw # 55a: c02000
|
||||
l32i a5, a0, 0x200 /* [0x3ff00000] */ # 55d: 522080
|
||||
bbsi a5, 0, .Lbr040 # 560: 07e5e7
|
||||
movi a5, sdk_NMIIrqIsOn # 563: 516aff
|
||||
.Lbr041: movi a9, .Ldata001 # 566: 916aff
|
||||
l32i a8, sp, 0 /* [(local0)] */ # 569: 8801
|
||||
l32i a10, a9, 0 /* [.Ldata001] */ # 56b: a809
|
||||
s32i a10, a8, 28 /* [.Ldata001] -> [[(local0)]+0x1c] */ # 56d: a978
|
||||
l8ui a7, a5, 0 /* [sdk_NMIIrqIsOn] */ # 56f: 720500
|
||||
s32i a8, a9, 0 /* [(local0)] -> [.Ldata001] */ # 572: 8909
|
||||
bnez a7, .Lbr042 # 574: dc87
|
||||
memw # 576: c02000
|
||||
l32i a11, a0, 0x200 /* [0x3ff00000] */ # 579: b22080
|
||||
movi a2, 1 /* 0x00000001 */ # 57c: 0c12
|
||||
and a11, a11, a3 # 57e: 30bb10
|
||||
or a11, a11, a2 # 581: 20bb20
|
||||
memw # 584: c02000
|
||||
s32i a11, a0, 0x200 /* a11 -> [0x3ff00000] */ # 587: b26080
|
||||
call0 vPortExitCritical # 58a: 0170ffc0
|
||||
# 58e: 0000
|
||||
.Lbr042: l32i a0, sp, 4 /* [(local1)] */ # 590: 0811
|
||||
addi sp, sp, 16 /* (top of frame) */ # 592: 12c110
|
||||
ret # 595: 0df0
|
||||
|
||||
.literal_position # 598: 400f0000
|
||||
# 59c: 20000000
|
||||
# 5a0: 00000000
|
||||
# 5a4: 80040000
|
||||
# 5a8: 00f00000
|
||||
# 5ac: e00c0000
|
||||
# 5b0: a0110000
|
||||
|
||||
# Function @ .irom0.text+0x5b4
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word @ -0x10
|
||||
# (local5): word @ -0xc
|
||||
# (local6): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global sdk_esf_buf_setup
|
||||
.type sdk_esf_buf_setup, @function
|
||||
sdk_esf_buf_setup:
|
||||
addi sp, sp, -32 /* (local0) */ # 5b4: 12c1e0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 5b7: 0901
|
||||
s32i a14, sp, 12 /* a14 -> [(local3)] */ # 5b9: e931
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 5bb: c911
|
||||
s32i a15, sp, 16 /* a15 -> [(local4)] */ # 5bd: f941
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 5bf: d921
|
||||
movi a15, 60 /* 0x0000003c */ # 5c1: 3ccf
|
||||
movi a13, .Ldata010 # 5c3: d1f5ff
|
||||
movi a12, .Ldata007 # 5c6: c1f5ff
|
||||
movi a14, 1 /* 0x00000001 */ # 5c9: 0c1e
|
||||
.Lbr043: movi a4, sdk_wDevCtrl # 5cb: 41f5ff
|
||||
mov a2, a12 # 5ce: 2d0c
|
||||
l32i a4, a4, 40 /* [sdk_wDevCtrl+0x28] */ # 5d0: 48a4
|
||||
movi a3, 1 /* 0x00000001 */ # 5d2: 0c13
|
||||
add a5, a15, a4 # 5d4: 4a5f
|
||||
s32i a5, a12, 4 # 5d6: 591c
|
||||
s32i a5, a12, 8 # 5d8: 592c
|
||||
l32i a4, a4, 4 /* [[sdk_wDevCtrl+0x28]+0x4] */ # 5da: 4814
|
||||
s32i a4, a12, 16 # 5dc: 494c
|
||||
s16i a14, a12, 12 # 5de: e25c06
|
||||
s32i a13, a12, 32 # 5e1: d98c
|
||||
call0 sdk_esf_buf_recycle # 5e3: 050000
|
||||
addi a12, a12, 36 # 5e6: c2cc24
|
||||
addi a13, a13, 24 # 5e9: d2cd18
|
||||
addi a15, a15, -12 # 5ec: f2cff4
|
||||
bgei a15, 1, .Lbr043 # 5ef: e61fd8
|
||||
movi a14, 8 /* 0x00000008 */ # 5f2: 0c8e
|
||||
movi a15, 0x0000f000 # 5f4: f1edff
|
||||
movi a7, .Ldata008 # 5f7: 71ebff
|
||||
s32i a7, sp, 20 /* .Ldata008 -> [(local5)] */ # 5fa: 7951
|
||||
.Lbr044: memw # 5fc: c02000
|
||||
l32i a8, sp, 20 /* [(local5)] */ # 5ff: 8851
|
||||
l16ui a10, a8, 0 /* [[(local5)]] */ # 601: a21800
|
||||
movi a11, 256 /* 0x00000100 */ # 604: b2a100
|
||||
and a10, a10, a15 # 607: f0aa10
|
||||
or a10, a10, a11 # 60a: b0aa20
|
||||
memw # 60d: c02000
|
||||
s32i a13, a12, 32 # 610: d98c
|
||||
mov a2, a12 # 612: 2d0c
|
||||
movi a3, 4 /* 0x00000004 */ # 614: 0c43
|
||||
s16i a10, a8, 0 /* a10 -> [[(local5)]] */ # 616: a25800
|
||||
s32i a8, a12, 4 # 619: 891c
|
||||
s32i a8, a12, 8 # 61b: 892c
|
||||
movi a9, 1 /* 0x00000001 */ # 61d: 0c19
|
||||
s16i a9, a12, 12 # 61f: 925c06
|
||||
addi a8, a8, 12 /* [(local5)]+0xc */ # 622: cb88
|
||||
s32i a8, a12, 16 # 624: 894c
|
||||
call0 sdk_esf_buf_recycle # 626: 050000
|
||||
addi a12, a12, 36 # 629: c2cc24
|
||||
addi a13, a13, 24 # 62c: d2cd18
|
||||
addi a14, a14, -1 # 62f: 0bee
|
||||
l32i a11, sp, 20 /* [(local5)] */ # 631: b851
|
||||
movi a0, 268 /* 0x0000010c */ # 633: 02a10c
|
||||
add a11, a11, a0 /* [(local5)]+0x10c */ # 636: 0abb
|
||||
s32i a11, sp, 20 /* [(local5)]+0x10c -> [(local5)] */ # 638: b951
|
||||
bgei a14, 1, .Lbr044 # 63a: e61ebe
|
||||
movi a14, 8 /* 0x00000008 */ # 63d: 0c8e
|
||||
movi a3, .Ldata009 # 63f: 31dbff
|
||||
s32i a3, sp, 24 /* .Ldata009 -> [(local6)] */ # 642: 3961
|
||||
.Lbr045: memw # 644: c02000
|
||||
l32i a4, sp, 24 /* [(local6)] */ # 647: 4861
|
||||
l16ui a6, a4, 0 /* [[(local6)]] */ # 649: 621400
|
||||
movi a7, 64 /* 0x00000040 */ # 64c: 4c07
|
||||
and a6, a6, a15 # 64e: f06610
|
||||
or a6, a6, a7 # 651: 706620
|
||||
memw # 654: c02000
|
||||
s32i a13, a12, 32 # 657: d98c
|
||||
mov a2, a12 # 659: 2d0c
|
||||
movi a3, 5 /* 0x00000005 */ # 65b: 0c53
|
||||
s16i a6, a4, 0 /* a6 -> [[(local6)]] */ # 65d: 625400
|
||||
s32i a4, a12, 4 # 660: 491c
|
||||
s32i a4, a12, 8 # 662: 492c
|
||||
movi a5, 1 /* 0x00000001 */ # 664: 0c15
|
||||
s16i a5, a12, 12 # 666: 525c06
|
||||
addi a4, a4, 12 /* [(local6)]+0xc */ # 669: cb44
|
||||
s32i a4, a12, 16 # 66b: 494c
|
||||
call0 sdk_esf_buf_recycle # 66d: 050000
|
||||
addi a12, a12, 36 # 670: c2cc24
|
||||
addi a13, a13, 24 # 673: d2cd18
|
||||
l32i a7, sp, 24 /* [(local6)] */ # 676: 7861
|
||||
addi a14, a14, -1 # 678: 0bee
|
||||
addi a7, a7, 76 /* [(local6)]+0x4c */ # 67a: 72c74c
|
||||
s32i a7, sp, 24 /* [(local6)]+0x4c -> [(local6)] */ # 67d: 7961
|
||||
bgei a14, 1, .Lbr045 # 67f: e61ec1
|
||||
movi a14, 4 /* 0x00000004 */ # 682: 0c4e
|
||||
.Lbr046: s32i a13, a12, 32 # 684: d98c
|
||||
mov a2, a12 # 686: 2d0c
|
||||
movi a3, 6 /* 0x00000006 */ # 688: 0c63
|
||||
call0 sdk_esf_buf_recycle # 68a: 050000
|
||||
addi a12, a12, 36 # 68d: c2cc24
|
||||
addi a13, a13, 24 # 690: d2cd18
|
||||
addi a14, a14, -1 # 693: 0bee
|
||||
bgei a14, 1, .Lbr046 # 695: e61eeb
|
||||
movi a14, 6 /* 0x00000006 */ # 698: 0c6e
|
||||
movi a13, .Label001 # 69a: d1c5ff
|
||||
.Lbr047: s32i a13, a12, 32 # 69d: d98c
|
||||
mov a2, a12 # 69f: 2d0c
|
||||
movi a3, 7 /* 0x00000007 */ # 6a1: 0c73
|
||||
call0 sdk_esf_buf_recycle # 6a3: 050000
|
||||
addi a12, a12, 36 # 6a6: c2cc24
|
||||
addi a13, a13, 12 # 6a9: cbdd
|
||||
addi a14, a14, -1 # 6ab: 0bee
|
||||
bgei a14, 1, .Lbr047 # 6ad: e61eec
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 6b0: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 6b2: d821
|
||||
l32i a14, sp, 12 /* [(local3)] */ # 6b4: e831
|
||||
l32i a15, sp, 16 /* [(local4)] */ # 6b6: f841
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 6b8: 0801
|
||||
addi sp, sp, 32 /* (top of frame) */ # 6ba: 12c120
|
||||
ret # 6bd: 0df0
|
600
binary_sdk/libpp/if_hwctrl.S
Normal file
600
binary_sdk/libpp/if_hwctrl.S
Normal file
|
@ -0,0 +1,600 @@
|
|||
|
||||
.section .bss, "aw", @nobits
|
||||
|
||||
.global sdk_interface_mask
|
||||
.type sdk_interface_mask, @object
|
||||
sdk_interface_mask:
|
||||
.byte 0x00
|
||||
.space 15
|
||||
.global sdk_if_ctrl
|
||||
.type sdk_if_ctrl, @object
|
||||
sdk_if_ctrl:
|
||||
.space 32
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 10000000
|
||||
|
||||
# Function @ .irom0.text+0x4
|
||||
.balign 4
|
||||
.global sdk_ic_get_addr
|
||||
.type sdk_ic_get_addr, @function
|
||||
sdk_ic_get_addr:
|
||||
movi a3, sdk_if_ctrl # 4: 31ffff
|
||||
slli a2, a2, 4 # 7: c02211
|
||||
add a2, a3, a2 # a: 2a23
|
||||
ret # c: 0df0
|
||||
|
||||
.literal_position # 10: 10000000
|
||||
|
||||
# Function @ .irom0.text+0x14
|
||||
.balign 4
|
||||
.global sdk_ic_set_opmode
|
||||
.type sdk_ic_set_opmode, @function
|
||||
sdk_ic_set_opmode:
|
||||
movi a5, sdk_if_ctrl # 14: 51ffff
|
||||
slli a6, a2, 4 # 17: c06211
|
||||
add a5, a5, a6 # 1a: 6a55
|
||||
s32i a3, a5, 8 # 1c: 3925
|
||||
s8i a4, a5, 12 # 1e: 42450c
|
||||
ret /* arg0 */ # 21: 0df0
|
||||
|
||||
.literal_position # 24: 10000000
|
||||
# 28: 00000000
|
||||
# 2c: 00000000
|
||||
# 30: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x34
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word @ -0x8
|
||||
# (local3): word @ -0x4
|
||||
.balign 4
|
||||
.global sdk_ic_enable_interface
|
||||
.type sdk_ic_enable_interface, @function
|
||||
sdk_ic_enable_interface:
|
||||
addi sp, sp, -16 /* (local0) */ # 34: 12c1f0
|
||||
s32i a5, sp, 4 /* arg3 -> [(local1)] */ # 37: 5911
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 39: 0921
|
||||
s32i a12, sp, 12 /* a12 -> [(local3)] */ # 3b: c931
|
||||
s32i a4, sp, 0 /* arg2 -> [(local0)] */ # 3d: 4901
|
||||
mov a12, a2 /* arg0 */ # 3f: cd02
|
||||
movi a2, sdk_if_ctrl # 41: 21f8ff
|
||||
slli a4, a12, 4 # 44: c04c11
|
||||
add a2, a2, a4 # 47: 4a22
|
||||
movi a4, 6 /* 0x00000006 */ # 49: 0c64
|
||||
call0 memcpy # 4b: 01f8ffc0
|
||||
# 4f: 0000
|
||||
mov a2, a12 /* arg0 */ # 51: 2d0c
|
||||
l32i a3, sp, 0 /* [(local0)] */ # 53: 3801
|
||||
l32i a4, sp, 4 /* [(local1)] */ # 55: 4811
|
||||
call0 sdk_ic_set_opmode # 57: 050000
|
||||
ssl a12 # 5a: 001c40
|
||||
movi a5, sdk_interface_mask # 5d: 51f2ff
|
||||
movi a3, 1 /* 0x00000001 */ # 60: 0c13
|
||||
l8ui a2, a5, 0 /* [sdk_interface_mask] */ # 62: 220500
|
||||
sll a3, a3 # 65: 0033a1
|
||||
or a2, a2, a3 # 68: 302220
|
||||
extui a2, a2, 0, 8 # 6b: 202074
|
||||
s8i a2, a5, 0 /* a2 -> [sdk_interface_mask] */ # 6e: 224500
|
||||
call0 __popcountsi2 # 71: 01efffc0
|
||||
# 75: 0000
|
||||
extui a2, a2, 0, 8 # 77: 202074
|
||||
l32i a12, sp, 12 /* [(local3)] */ # 7a: c831
|
||||
l32i a0, sp, 8 /* [(local2)] */ # 7c: 0821
|
||||
addi sp, sp, 16 /* (top of frame) */ # 7e: 12c110
|
||||
ret # 81: 0df0
|
||||
|
||||
.literal_position # 84: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x88
|
||||
.balign 4
|
||||
.global sdk_ic_interface_enabled
|
||||
.type sdk_ic_interface_enabled, @function
|
||||
sdk_ic_interface_enabled:
|
||||
movi a3, sdk_interface_mask # 88: 31ffff
|
||||
l8ui a3, a3, 0 /* [sdk_interface_mask] */ # 8b: 320300
|
||||
ssr a2 # 8e: 000240
|
||||
srl a2, a3 # 91: 302091
|
||||
extui a2, a2, 0, 1 # 94: 202004
|
||||
ret # 97: 0df0
|
||||
|
||||
.literal_position # 9c: 00000000
|
||||
# a0: 00000000
|
||||
# a4: 00000000
|
||||
# a8: 00000000
|
||||
# ac: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xb0
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_ic_disable_interface
|
||||
.type sdk_ic_disable_interface, @function
|
||||
sdk_ic_disable_interface:
|
||||
addi sp, sp, -16 /* (local0) */ # b0: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # b3: 0901
|
||||
movi a0, sdk_interface_mask # b5: 01f9ff
|
||||
movi a4, 1 /* 0x00000001 */ # b8: 0c14
|
||||
l8ui a0, a0, 0 /* [sdk_interface_mask] */ # ba: 020000
|
||||
ssr a2 # bd: 000240
|
||||
srl a3, a0 # c0: 003091
|
||||
bbci a3, 0, .Lbr001 # c3: 07631f
|
||||
ssl a2 # c6: 001240
|
||||
sll a3, a4 # c9: 0034a1
|
||||
movi a4, -1 /* 0xffffffff */ # cc: 7cf4
|
||||
xor a3, a3, a4 # ce: 403330
|
||||
movi a4, sdk_interface_mask # d1: 41f3ff
|
||||
and a3, a0, a3 # d4: 303010
|
||||
s8i a3, a4, 0 /* a3 -> [sdk_interface_mask] */ # d7: 324400
|
||||
call0 sdk_rc_disable_trc_by_interface # da: 01f3ffc0
|
||||
# de: 0000
|
||||
movi a0, sdk_interface_mask # e0: 01f1ff
|
||||
l8ui a0, a0, 0 /* [sdk_interface_mask] */ # e3: 020000
|
||||
.Lbr001: mov a2, a0 /* [sdk_interface_mask] */ # e6: 2d00
|
||||
call0 __popcountsi2 # e8: 01f1ffc0
|
||||
# ec: 0000
|
||||
extui a2, a2, 0, 8 # ee: 202074
|
||||
l32i a0, sp, 0 /* [(local0)] */ # f1: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # f3: 12c110
|
||||
ret # f6: 0df0
|
||||
|
||||
.literal_position # f8: 10000000
|
||||
|
||||
# Function @ .irom0.text+0xfc
|
||||
.balign 4
|
||||
.global sdk_ic_is_pure_sta
|
||||
.type sdk_ic_is_pure_sta, @function
|
||||
sdk_ic_is_pure_sta:
|
||||
movi a4, sdk_if_ctrl # fc: 41ffff
|
||||
slli a5, a2, 4 # ff: c05211
|
||||
add a4, a4, a5 # 102: 5a44
|
||||
l32i a3, a4, 8 # 104: 3824
|
||||
movi a2, 0 /* 0x00000000 */ # 106: 0c02
|
||||
beqi a3, 1, .Lbr002 # 108: 261307
|
||||
l8ui a7, a4, 12 # 10b: 72040c
|
||||
movi a6, 1 /* 0x00000001 */ # 10e: 0c16
|
||||
moveqz a2, a6, a7 # 110: 702683
|
||||
.Lbr002: extui a2, a2, 0, 8 # 113: 202074
|
||||
ret # 116: 0df0
|
||||
|
||||
.literal_position # 118: 10000000
|
||||
|
||||
# Function @ .irom0.text+0x11c
|
||||
.balign 4
|
||||
.global sdk_ic_get_ptk_alg
|
||||
.type sdk_ic_get_ptk_alg, @function
|
||||
sdk_ic_get_ptk_alg:
|
||||
movi a3, sdk_if_ctrl # 11c: 31ffff
|
||||
slli a2, a2, 4 # 11f: c02211
|
||||
add a2, a3, a2 # 122: 2a23
|
||||
l8ui a2, a2, 13 # 124: 22020d
|
||||
ret # 127: 0df0
|
||||
|
||||
.literal_position # 12c: 10000000
|
||||
|
||||
# Function @ .irom0.text+0x130
|
||||
.balign 4
|
||||
.global sdk_ic_get_gtk_alg
|
||||
.type sdk_ic_get_gtk_alg, @function
|
||||
sdk_ic_get_gtk_alg:
|
||||
movi a3, sdk_if_ctrl # 130: 31ffff
|
||||
slli a2, a2, 4 # 133: c02211
|
||||
add a2, a3, a2 # 136: 2a23
|
||||
l8ui a2, a2, 14 # 138: 22020e
|
||||
ret # 13b: 0df0
|
||||
|
||||
.literal_position # 140: 10000000
|
||||
|
||||
# Function @ .irom0.text+0x144
|
||||
.balign 4
|
||||
.global sdk_ic_set_ptk_alg
|
||||
.type sdk_ic_set_ptk_alg, @function
|
||||
sdk_ic_set_ptk_alg:
|
||||
movi a4, sdk_if_ctrl # 144: 41ffff
|
||||
slli a5, a2, 4 # 147: c05211
|
||||
add a4, a4, a5 # 14a: 5a44
|
||||
s8i a3, a4, 13 # 14c: 32440d
|
||||
ret /* arg0 */ # 14f: 0df0
|
||||
|
||||
.literal_position # 154: 10000000
|
||||
|
||||
# Function @ .irom0.text+0x158
|
||||
.balign 4
|
||||
.global sdk_ic_set_gtk_alg
|
||||
.type sdk_ic_set_gtk_alg, @function
|
||||
sdk_ic_set_gtk_alg:
|
||||
movi a4, sdk_if_ctrl # 158: 41ffff
|
||||
slli a5, a2, 4 # 15b: c05211
|
||||
add a4, a4, a5 # 15e: 5a44
|
||||
s8i a3, a4, 14 # 160: 32440e
|
||||
ret /* arg0 */ # 163: 0df0
|
||||
|
||||
.literal_position # 168: 10000000
|
||||
|
||||
# Function @ .irom0.text+0x16c
|
||||
.balign 4
|
||||
.global sdk_ic_interface_is_p2p
|
||||
.type sdk_ic_interface_is_p2p, @function
|
||||
sdk_ic_interface_is_p2p:
|
||||
movi a3, sdk_if_ctrl # 16c: 31ffff
|
||||
slli a2, a2, 4 # 16f: c02211
|
||||
add a2, a3, a2 # 172: 2a23
|
||||
l8ui a2, a2, 12 # 174: 22020c
|
||||
ret # 177: 0df0
|
||||
|
||||
.literal_position # 17c: 00000000
|
||||
# 180: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x184
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.Lfunc001: movi a3, 0 /* 0x00000000 */ # 184: 0c03
|
||||
addi sp, sp, -16 /* (local0) */ # 186: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 189: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 18b: 0901
|
||||
mov a12, a2 /* arg0 */ # 18d: cd02
|
||||
call0 sdk_ic_set_ptk_alg # 18f: 050000
|
||||
mov a2, a12 /* arg0 */ # 192: 2d0c
|
||||
movi a3, 0 /* 0x00000000 */ # 194: 0c03
|
||||
call0 sdk_ic_set_gtk_alg # 196: 050000
|
||||
mov a2, a12 /* arg0 */ # 199: 2d0c
|
||||
call0 sdk_wDev_Crypto_Disable # 19b: 01f8ffc0
|
||||
# 19f: 0000
|
||||
mov a3, a12 /* arg0 */ # 1a1: 3d0c
|
||||
movi a2, 1 /* 0x00000001 */ # 1a3: 0c12
|
||||
movi a4, 0 /* 0x00000000 */ # 1a5: 0c04
|
||||
call0 sdk_wDev_SetRxPolicy # 1a7: 01f6ffc0
|
||||
# 1ab: 0000
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 1ad: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 1af: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 1b1: 12c110
|
||||
ret # 1b4: 0df0
|
||||
|
||||
.literal_position # 1b8: 00000000
|
||||
# 1bc: 00000000
|
||||
# 1c0: 00000000
|
||||
# 1c4: 00000000
|
||||
# 1c8: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x1cc
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.Lfunc002: addi sp, sp, -16 /* (local0) */ # 1cc: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 1cf: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1d1: 0901
|
||||
mov a12, a2 /* arg0 */ # 1d3: cd02
|
||||
movi a2, .Lstr001 # 1d5: 21f8ff
|
||||
mov a3, a12 /* arg0 */ # 1d8: 3d0c
|
||||
call0 printf # 1da: 01f8ffc0
|
||||
# 1de: 0000
|
||||
movi a2, 0 /* 0x00000000 */ # 1e0: 0c02
|
||||
mov a3, a12 /* arg0 */ # 1e2: 3d0c
|
||||
movi a4, 0 /* 0x00000000 */ # 1e4: 0c04
|
||||
call0 sdk_wDev_SetRxPolicy # 1e6: 01f6ffc0
|
||||
# 1ea: 0000
|
||||
mov a2, a12 /* arg0 */ # 1ec: 2d0c
|
||||
call0 sdk_ic_disable_interface # 1ee: 050000
|
||||
bnez a2, .Lbr003 # 1f1: cca2
|
||||
call0 sdk_wDevDisableRx # 1f3: 01f4ffc0
|
||||
# 1f7: 0000
|
||||
call0 sdk_pm_force_scan_unlock # 1f9: 01f3ffc0
|
||||
# 1fd: 0000
|
||||
.Lbr003: l32i a12, sp, 4 /* [(local1)] */ # 1ff: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 201: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 203: 12c110
|
||||
ret # 206: 0df0
|
||||
|
||||
.literal_position # 208: 0c000000
|
||||
# 20c: 18000000
|
||||
# 210: 00000000
|
||||
# 214: 00000000
|
||||
# 218: 00000000
|
||||
# 21c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x220
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_ic_set_vif
|
||||
.type sdk_ic_set_vif, @function
|
||||
sdk_ic_set_vif:
|
||||
addi sp, sp, -32 /* (local0) */ # 220: 12c1e0
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 223: 0921
|
||||
s32i a5, sp, 4 /* arg3 -> [(local1)] */ # 225: 5911
|
||||
s32i a6, sp, 0 /* arg4 -> [(local0)] */ # 227: 6901
|
||||
s32i a12, sp, 12 /* a12 -> [(local3)] */ # 229: c931
|
||||
s32i a13, sp, 16 /* a13 -> [(local4)] */ # 22b: d941
|
||||
mov a12, a2 /* arg0 */ # 22d: cd02
|
||||
mov a13, a4 /* arg2 */ # 22f: dd04
|
||||
bnei a3, 2, .Lbr004 # 231: 662316
|
||||
movi a2, .Lstr002 # 234: 21f5ff
|
||||
mov a3, a12 /* arg0 */ # 237: 3d0c
|
||||
call0 printf # 239: 01f5ffc0
|
||||
# 23d: 0000
|
||||
mov a2, a12 /* arg0 */ # 23f: 2d0c
|
||||
l32i a3, sp, 4 /* [(local1)] */ # 241: 3811
|
||||
l32i a4, sp, 0 /* [(local0)] */ # 243: 4801
|
||||
call0 sdk_ic_set_opmode # 245: 050000
|
||||
j .Lbr007 # 248: 860d00
|
||||
.Lbr004: bnei a3, 1, .Lbr006 # 24b: 661330
|
||||
movi a2, .Lstr003 # 24e: 21efff
|
||||
mov a3, a12 /* arg0 */ # 251: 3d0c
|
||||
call0 printf # 253: 01f0ffc0
|
||||
# 257: 0000
|
||||
mov a2, a12 /* arg0 */ # 259: 2d0c
|
||||
mov a3, a13 /* arg2 */ # 25b: 3d0d
|
||||
call0 sdk_wDev_SetMacAddress # 25d: 01eeffc0
|
||||
# 261: 0000
|
||||
mov a3, a13 /* arg2 */ # 263: 3d0d
|
||||
mov a2, a12 /* arg0 */ # 265: 2d0c
|
||||
l32i a4, sp, 4 /* [(local1)] */ # 267: 4811
|
||||
l32i a5, sp, 0 /* [(local0)] */ # 269: 5801
|
||||
call0 sdk_ic_enable_interface # 26b: 050000
|
||||
bnei a2, 1, .Lbr005 # 26e: 661205
|
||||
call0 sdk_wDevEnableRx # 271: 01eaffc0
|
||||
# 275: 0000
|
||||
.Lbr005: mov a2, a12 /* arg0 */ # 277: 2d0c
|
||||
call0 .Lfunc001 # 279: 85f0ff
|
||||
j .Lbr007 # 27c: 860000
|
||||
.Lbr006: call0 .Lfunc002 # 27f: c5f4ff
|
||||
.Lbr007: l32i a12, sp, 12 /* [(local3)] */ # 282: c831
|
||||
l32i a13, sp, 16 /* [(local4)] */ # 284: d841
|
||||
l32i a0, sp, 8 /* [(local2)] */ # 286: 0821
|
||||
addi sp, sp, 32 /* (top of frame) */ # 288: 12c120
|
||||
ret # 28b: 0df0
|
||||
|
||||
.literal_position # 290: 24000000
|
||||
# 294: 00000000
|
||||
# 298: 00feef3f
|
||||
# 29c: 00000000
|
||||
# 2a0: 00000000
|
||||
# 2a4: 00000000
|
||||
# 2a8: 00000000
|
||||
# 2ac: 00000000
|
||||
# 2b0: 00000000
|
||||
# 2b4: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x2b8
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word @ -0x10
|
||||
# (local5): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_ic_set_sta
|
||||
.type sdk_ic_set_sta, @function
|
||||
sdk_ic_set_sta:
|
||||
addi sp, sp, -32 /* (local0) */ # 2b8: 12c1e0
|
||||
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 2bb: c921
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 2bd: 0911
|
||||
s32i a14, sp, 16 /* a14 -> [(local4)] */ # 2bf: e941
|
||||
s32i a13, sp, 12 /* a13 -> [(local3)] */ # 2c1: d931
|
||||
mov a14, a6 /* arg4 */ # 2c3: ed06
|
||||
mov a13, a2 /* arg0 */ # 2c5: dd02
|
||||
beqz a3, .Lbr010 # 2c7: 169308
|
||||
mov a3, a4 /* arg2 */ # 2ca: 3d04
|
||||
s32i a7, sp, 0 /* arg5 -> [(local0)] */ # 2cc: 7901
|
||||
mov a4, a5 /* arg3 */ # 2ce: 4d05
|
||||
mov a5, a6 /* arg4 */ # 2d0: 5d06
|
||||
call0 sdk_rc_enable_trc # 2d2: 01f3ffc0
|
||||
# 2d6: 0000
|
||||
mov a12, a2 # 2d8: cd02
|
||||
mov a3, a14 /* arg4 */ # 2da: 3d0e
|
||||
movi a2, .Lstr004 # 2dc: 21edff
|
||||
call0 printf # 2df: 01f1ffc0
|
||||
# 2e3: 0000
|
||||
beqz a12, .Lbr011 # 2e5: 165c07
|
||||
mov a2, a13 /* arg0 */ # 2e8: 2d0d
|
||||
call0 sdk_ic_interface_is_p2p # 2ea: 050000
|
||||
movi a14, -32 /* 0xffffffe0 */ # 2ed: 6c0e
|
||||
l32i a4, sp, 0 /* [(local0)] */ # 2ef: 4801
|
||||
mov a0, a2 # 2f1: 0d02
|
||||
s32i a2, sp, 20 /* a2 -> [(local5)] */ # 2f3: 2951
|
||||
movi a2, sdk_NMIIrqIsOn # 2f5: 21e7ff
|
||||
s32i a4, a12, 92 # 2f8: 426c17
|
||||
l8ui a2, a2, 0 /* [sdk_NMIIrqIsOn] */ # 2fb: 220200
|
||||
movi a13, 0x3feffe00 # 2fe: d1e6ff
|
||||
bnez a2, .Lbr009 # 301: dce2
|
||||
call0 vPortEnterCritical # 303: 01e9ffc0
|
||||
# 307: 0000
|
||||
.Lbr008: memw # 309: c02000
|
||||
l32i a6, a13, 0x200 /* [0x3ff00000] */ # 30c: 622d80
|
||||
and a6, a6, a14 # 30f: e06610
|
||||
memw # 312: c02000
|
||||
s32i a6, a13, 0x200 /* a6 -> [0x3ff00000] */ # 315: 626d80
|
||||
memw # 318: c02000
|
||||
l32i a5, a13, 0x200 /* [0x3ff00000] */ # 31b: 522d80
|
||||
bbsi a5, 0, .Lbr008 # 31e: 07e5e7
|
||||
l32i a0, sp, 20 /* [(local5)] */ # 321: 0851
|
||||
.Lbr009: mov a2, a12 # 323: 2d0c
|
||||
movi a3, 0 /* 0x00000000 */ # 325: 0c03
|
||||
mov a4, a0 # 327: 4d00
|
||||
call0 sdk_rcUpdatePhyMode # 329: 01e0ffc0
|
||||
# 32d: 0000
|
||||
movi a7, sdk_NMIIrqIsOn # 32f: 71dbff
|
||||
l8ui a7, a7, 0 /* [sdk_NMIIrqIsOn] */ # 332: 720700
|
||||
bnez a7, .Lbr011 # 335: ec57
|
||||
memw # 337: c02000
|
||||
l32i a8, a13, 0x200 /* [0x3ff00000] */ # 33a: 822d80
|
||||
movi a9, 1 /* 0x00000001 */ # 33d: 0c19
|
||||
and a8, a8, a14 # 33f: e08810
|
||||
or a8, a8, a9 # 342: 908820
|
||||
memw # 345: c02000
|
||||
s32i a8, a13, 0x200 /* a8 -> [0x3ff00000] */ # 348: 826d80
|
||||
call0 vPortExitCritical # 34b: 01d9ffc0
|
||||
# 34f: 0000
|
||||
j .Lbr011 # 351: 460200
|
||||
.Lbr010: mov a3, a4 /* arg2 */ # 354: 3d04
|
||||
mov a4, a5 /* arg3 */ # 356: 4d05
|
||||
call0 sdk_rc_disable_trc # 358: 01d7ffc0
|
||||
# 35c: 0000
|
||||
.Lbr011: l32i a12, sp, 8 /* [(local2)] */ # 35e: c821
|
||||
l32i a13, sp, 12 /* [(local3)] */ # 360: d831
|
||||
l32i a14, sp, 16 /* [(local4)] */ # 362: e841
|
||||
l32i a0, sp, 4 /* [(local1)] */ # 364: 0811
|
||||
addi sp, sp, 32 /* (top of frame) */ # 366: 12c120
|
||||
ret # 369: 0df0
|
||||
|
||||
.literal_position # 36c: 34000000
|
||||
# 370: 3c000000
|
||||
# 374: 2c000000
|
||||
# 378: 00000000
|
||||
# 37c: 00000000
|
||||
# 380: 00000000
|
||||
# 384: 00000000
|
||||
# 388: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x38c
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.balign 4
|
||||
.global sdk_ic_bss_info_update
|
||||
.type sdk_ic_bss_info_update, @function
|
||||
sdk_ic_bss_info_update:
|
||||
addi sp, sp, -16 /* (local0) */ # 38c: 12c1f0
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 38f: 0911
|
||||
bnei a4, 2, .Lbr012 # 391: 662412
|
||||
s32i a5, sp, 0 /* arg3 -> [(local0)] */ # 394: 5901
|
||||
beqz a5, .Lbr015 # 396: bcb5
|
||||
mov a4, a3 /* arg1 */ # 398: 4d03
|
||||
mov a3, a2 /* arg0 */ # 39a: 3d02
|
||||
movi a2, 2 /* 0x00000002 */ # 39c: 0c22
|
||||
call0 sdk_wDev_SetRxPolicy # 39e: 01f6ffc0
|
||||
# 3a2: 0000
|
||||
j .Lbr016 # 3a4: 060c00
|
||||
.Lbr012: bnei a4, 1, .Lbr013 # 3a7: 661417
|
||||
mov a4, a3 /* arg1 */ # 3aa: 4d03
|
||||
mov a3, a2 /* arg0 */ # 3ac: 3d02
|
||||
movi a2, 2 /* 0x00000002 */ # 3ae: 0c22
|
||||
call0 sdk_wDev_SetRxPolicy # 3b0: 01f3ffc0
|
||||
# 3b4: 0000
|
||||
movi a2, .Lstr006 # 3b6: 21edff
|
||||
call0 printf # 3b9: 01f1ffc0
|
||||
# 3bd: 0000
|
||||
j .Lbr014 # 3bf: c60200
|
||||
.Lbr013: call0 .Lfunc001 # 3c2: 05dcff
|
||||
movi a2, .Lstr007 # 3c5: 21eaff
|
||||
call0 printf # 3c8: 01efffc0
|
||||
# 3cc: 0000
|
||||
.Lbr014: l32i a0, sp, 4 /* [(local1)] */ # 3ce: 0811
|
||||
addi sp, sp, 16 /* (top of frame) */ # 3d0: 12c110
|
||||
ret # 3d3: 0df0
|
||||
.Lbr015: call0 .Lfunc001 # 3d5: c5daff
|
||||
.Lbr016: movi a2, .Lstr005 # 3d8: 21e7ff
|
||||
l32i a3, sp, 0 /* [(local0)] */ # 3db: 3801
|
||||
call0 printf # 3dd: 01eaffc0
|
||||
# 3e1: 0000
|
||||
j .Lbr014 # 3e3: c6f9ff
|
||||
|
||||
.literal_position # 3e8: 00000000
|
||||
# 3ec: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x3f0
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x30
|
||||
# (local1): word @ -0x20
|
||||
# (local2): word @ -0x1c
|
||||
# (local3): word @ -0x18
|
||||
# (local4): word @ -0x14
|
||||
# (local5): word @ -0x10
|
||||
# (local6): word @ -0xc
|
||||
# (local7): word[2] @ -0x8
|
||||
.balign 4
|
||||
.global sdk_ic_set_key
|
||||
.type sdk_ic_set_key, @function
|
||||
sdk_ic_set_key:
|
||||
addi sp, sp, -48 /* (local0) */ # 3f0: 12c1d0
|
||||
s32i a0, sp, 28 /* a0 -> [(local4)] */ # 3f3: 0971
|
||||
s32i a4, sp, 16 /* arg2 -> [(local1)] */ # 3f5: 4941
|
||||
s32i a5, sp, 20 /* arg3 -> [(local2)] */ # 3f7: 5951
|
||||
s32i a7, sp, 24 /* arg5 -> [(local3)] */ # 3f9: 7961
|
||||
s32i a14, sp, 40 /* a14 -> [(local7)] */ # 3fb: e9a1
|
||||
s32i a13, sp, 36 /* a13 -> [(local6)] */ # 3fd: d991
|
||||
s32i a12, sp, 32 /* a12 -> [(local5)] */ # 3ff: c981
|
||||
mov a13, a2 /* arg0 */ # 401: dd02
|
||||
mov a12, a3 /* arg1 */ # 403: cd03
|
||||
mov a14, a6 /* arg4 */ # 405: ed06
|
||||
bltui a6, 6, .Lbr017 # 407: b66605
|
||||
call0 sdk_ic_set_ptk_alg # 40a: 050000
|
||||
j .Lbr019 # 40d: 460400
|
||||
.Lbr017: bnez a3, .Lbr018 # 410: ccb3
|
||||
call0 sdk_ic_set_ptk_alg # 412: 050000
|
||||
mov a2, a13 /* arg0 */ # 415: 2d0d
|
||||
mov a3, a12 /* arg1 */ # 417: 3d0c
|
||||
call0 sdk_ic_set_gtk_alg # 419: 050000
|
||||
j .Lbr019 # 41c: 860000
|
||||
.Lbr018: call0 sdk_ic_set_gtk_alg # 41f: 050000
|
||||
.Lbr019: mov a6, a14 /* arg4 */ # 422: 6d0e
|
||||
l32i a4, sp, 16 /* [(local1)] */ # 424: 4841
|
||||
l32i a5, sp, 20 /* [(local2)] */ # 426: 5851
|
||||
l32i a7, sp, 24 /* [(local3)] */ # 428: 7861
|
||||
mov a2, a12 /* arg1 */ # 42a: 2d0c
|
||||
mov a3, a13 /* arg0 */ # 42c: 3d0d
|
||||
l8ui a0, sp, 48 /* [(local8)] */ # 42e: 020130
|
||||
s32i a0, sp, 0 /* [(local8)] -> [(local0)] */ # 431: 0901
|
||||
call0 sdk_wDev_Insert_KeyEntry # 433: 01edffc0
|
||||
# 437: 0000
|
||||
mov a3, a12 /* arg1 */ # 439: 3d0c
|
||||
mov a2, a13 /* arg0 */ # 43b: 2d0d
|
||||
call0 sdk_wDev_Crypto_Conf # 43d: 01ebffc0
|
||||
# 441: 0000
|
||||
l32i a12, sp, 32 /* [(local5)] */ # 443: c881
|
||||
l32i a13, sp, 36 /* [(local6)] */ # 445: d891
|
||||
l32i a14, sp, 40 /* [(local7)] */ # 447: e8a1
|
||||
l32i a0, sp, 28 /* [(local4)] */ # 449: 0871
|
||||
addi sp, sp, 48 /* (local8) */ # 44b: 12c130
|
||||
ret # 44e: 0df0
|
||||
|
||||
.literal_position # 450: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x454
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.balign 4
|
||||
.global sdk_ic_remove_key
|
||||
.type sdk_ic_remove_key, @function
|
||||
sdk_ic_remove_key:
|
||||
addi sp, sp, -16 /* (local0) */ # 454: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 457: 0901
|
||||
call0 sdk_wDev_remove_KeyEntry # 459: 01fdffc0
|
||||
# 45d: 0000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 45f: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 461: 12c110
|
||||
ret # 464: 0df0
|
||||
|
||||
.section .rodata.str1.4, "MSa", @progbits, 1
|
||||
|
||||
.Lstr001: .asciz "del if%d\n" # 0: 64656c20
|
||||
# 4: 69662564
|
||||
# 8: 0a00
|
||||
.balign 4
|
||||
.Lstr002: .asciz "chg if%d\n" # c: 63686720
|
||||
# 10: 69662564
|
||||
# 14: 0a00
|
||||
.balign 4
|
||||
.Lstr003: .asciz "add if%d\n" # 18: 61646420
|
||||
# 1c: 69662564
|
||||
# 20: 0a00
|
||||
.balign 4
|
||||
.Lstr004: .asciz "aid %d\n" # 24: 61696420
|
||||
# 28: 25640a00
|
||||
.Lstr005: .asciz "bcn %d\n" # 2c: 62636e20
|
||||
# 30: 25640a00
|
||||
.Lstr006: .asciz "cnt \n" # 34: 636e7420
|
||||
# 38: 0a00
|
||||
.balign 4
|
||||
.Lstr007: .asciz "uncnt \n" # 3c: 756e636e
|
||||
# 40: 74200a00
|
2721
binary_sdk/libpp/lmac.S
Normal file
2721
binary_sdk/libpp/lmac.S
Normal file
File diff suppressed because it is too large
Load diff
0
binary_sdk/libpp/mac_frame.S
Normal file
0
binary_sdk/libpp/mac_frame.S
Normal file
3173
binary_sdk/libpp/pm.S
Normal file
3173
binary_sdk/libpp/pm.S
Normal file
File diff suppressed because it is too large
Load diff
4034
binary_sdk/libpp/pp.S
Normal file
4034
binary_sdk/libpp/pp.S
Normal file
File diff suppressed because it is too large
Load diff
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue