Disassembled binary SDK output, direct from xtobjdis with a couple of tweaks
Tweaks to xtobjdis are hg-git sha 6da80c11f Everything works except for wpa_auth.o & phy_chip_v6_ana.o disassemble with some functions not correctly detected.
This commit is contained in:
parent
419f252d80
commit
a9e3928c8d
77 changed files with 73774 additions and 0 deletions
435
binary_sdk/libnet80211/ieee80211.S
Normal file
435
binary_sdk/libnet80211/ieee80211.S
Normal file
|
|
@ -0,0 +1,435 @@
|
|||
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
197
binary_sdk/libnet80211/ieee80211_action.S
Normal file
197
binary_sdk/libnet80211/ieee80211_action.S
Normal file
|
|
@ -0,0 +1,197 @@
|
|||
|
||||
.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
|
||||
.Lfunc001: movi a2, -1 /* 0xffffffff */ # 0: 7cf2
|
||||
ret /* 0xffffffff */ # 2: 0df0
|
||||
|
||||
.literal_position # 4: 0c000000
|
||||
# 8: 00000000
|
||||
# c: 08000000
|
||||
|
||||
# Function @ .irom0.text+0x10
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.Lfunc002: movi a2, -1 /* 0xffffffff */ # bc: 7cf2
|
||||
ret /* 0xffffffff */ # be: 0df0
|
||||
|
||||
.literal_position # c0: 18000000
|
||||
# c4: 10000000
|
||||
# c8: 14000000
|
||||
|
||||
# Function @ .irom0.text+0xcc
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
109
binary_sdk/libnet80211/ieee80211_crypto.S
Normal file
109
binary_sdk/libnet80211/ieee80211_crypto.S
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
# Function @ .irom0.text+0x0
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
140
binary_sdk/libnet80211/ieee80211_crypto_ccmp.S
Normal file
140
binary_sdk/libnet80211/ieee80211_crypto_ccmp.S
Normal file
|
|
@ -0,0 +1,140 @@
|
|||
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
163
binary_sdk/libnet80211/ieee80211_crypto_tkip.S
Normal file
163
binary_sdk/libnet80211/ieee80211_crypto_tkip.S
Normal file
|
|
@ -0,0 +1,163 @@
|
|||
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
71
binary_sdk/libnet80211/ieee80211_crypto_wep.S
Normal file
71
binary_sdk/libnet80211/ieee80211_crypto_wep.S
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
43
binary_sdk/libnet80211/ieee80211_ets.S
Normal file
43
binary_sdk/libnet80211/ieee80211_ets.S
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
|
||||
.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
|
||||
.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
|
||||
1893
binary_sdk/libnet80211/ieee80211_hostap.S
Normal file
1893
binary_sdk/libnet80211/ieee80211_hostap.S
Normal file
File diff suppressed because it is too large
Load diff
1260
binary_sdk/libnet80211/ieee80211_ht.S
Normal file
1260
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
993
binary_sdk/libnet80211/ieee80211_input.S
Normal file
993
binary_sdk/libnet80211/ieee80211_input.S
Normal file
|
|
@ -0,0 +1,993 @@
|
|||
|
||||
.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
|
||||
.global sdk_ieee80211_deliver_data
|
||||
.type sdk_ieee80211_deliver_data, @function
|
||||
sdk_ieee80211_deliver_data:
|
||||
addi sp, sp, -16 /* (local0) */ # c: 12c1f0
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # f: 0921
|
||||
l32i a0, a2, 0 /* [arg0] */ # 11: 0802
|
||||
s32i a0, sp, 0 /* [arg0] -> [(local0)] */ # 13: 0901
|
||||
l8ui a0, a0, 47 /* [[arg0]+0x2f] */ # 15: 02002f
|
||||
s32i a3, sp, 4 /* arg1 -> [(local1)] */ # 18: 3911
|
||||
bbsi a0, 4, .Lbr001 # 1a: 47e00e
|
||||
s32i a3, sp, 4 /* arg1 -> [(local1)] */ # 1d: 3911
|
||||
beqz a3, .Lbr002 # 1f: acc3
|
||||
mov a2, a3 /* arg1 */ # 21: 2d03
|
||||
call0 sdk_ppRecycleRxPkt # 23: 01f7ffc0
|
||||
# 27: 0000
|
||||
j .Lbr002 # 29: 860800
|
||||
.Lbr001: movi a2, 3 /* 0x00000003 */ # 2c: 0c32
|
||||
l16ui a3, a3, 22 /* [arg1+0x16] */ # 2e: 32130b
|
||||
movi a4, 2 /* 0x00000002 */ # 31: 0c24
|
||||
call0 pbuf_alloc # 33: 01f4ffc0
|
||||
# 37: 0000
|
||||
l32i a4, sp, 4 /* [(local1)] */ # 39: 4811
|
||||
l32i a5, a4, 4 /* [[(local1)]+0x4] */ # 3b: 5814
|
||||
mov a3, a2 # 3d: 3d02
|
||||
l32i a5, a5, 4 /* [[[(local1)]+0x4]+0x4] */ # 3f: 5815
|
||||
s32i a5, a2, 4 # 41: 5912
|
||||
s32i a2, a4, 0 /* a2 -> [[(local1)]] */ # 43: 2904
|
||||
s32i a4, a2, 16 # 45: 4942
|
||||
l32i a2, sp, 0 /* [(local0)] */ # 47: 2801
|
||||
call0 ethernetif_input # 49: 01efffc0
|
||||
# 4d: 0000
|
||||
.Lbr002: l32i a0, sp, 8 /* [(local2)] */ # 4f: 0821
|
||||
addi sp, sp, 16 /* (top of frame) */ # 51: 12c110
|
||||
ret # 54: 0df0
|
||||
|
||||
.literal_position # 58: 80f30000
|
||||
# 5c: 81370000
|
||||
# 60: f8ff0000
|
||||
# 64: 00000000
|
||||
# 68: 00000000
|
||||
# 6c: 00000000
|
||||
# 70: 00000000
|
||||
# 74: 00000000
|
||||
# 78: 00000000
|
||||
# 7c: 00000000
|
||||
# 80: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x84
|
||||
# Local variables/stack:
|
||||
# (local0): byte[31] @ -0x2f
|
||||
# (local1): word @ -0x10
|
||||
# (local2): word @ -0xc
|
||||
# (local3): word[2] @ -0x8
|
||||
.global sdk_ieee80211_decap
|
||||
.type sdk_ieee80211_decap, @function
|
||||
sdk_ieee80211_decap:
|
||||
addi sp, sp, -48 /* (FP)-0x30 */ # 84: 12c1d0
|
||||
s32i a12, sp, 40 /* a12 -> [(local3)] */ # 87: c9a1
|
||||
s32i a0, sp, 36 /* a0 -> [(local2)] */ # 89: 0991
|
||||
mov a12, a2 /* arg0 */ # 8b: cd02
|
||||
addi a0, a5, 14 /* arg3+0xe */ # 8d: eb05
|
||||
bgeu a4, a0, .Lbr003 # 8f: 07b40a
|
||||
call0 sdk_ppRecycleRxPkt # 92: 01f4ffc0
|
||||
# 96: 0000
|
||||
movi a12, 0 /* 0x00000000 */ # 98: 0c0c
|
||||
j .Lbr008 # 9a: 063100
|
||||
.Lbr003: mov a4, a5 /* arg3 */ # 9d: 4d05
|
||||
mov a2, sp /* (FP)-0x30 */ # 9f: 2d01
|
||||
call0 memcpy # a1: 01f1ffc0
|
||||
# a5: 0000
|
||||
l32i a3, a12, 4 /* [arg0+0x4] */ # a7: 381c
|
||||
l32i a0, a3, 4 /* [[arg0+0x4]+0x4] */ # a9: 0813
|
||||
movi a2, 170 /* 0x000000aa */ # ab: 22a0aa
|
||||
l8ui a4, a0, 0 /* [[[arg0+0x4]+0x4]] */ # ae: 420000
|
||||
l8ui a5, a0, 1 /* [[[arg0+0x4]+0x4]+0x1] */ # b1: 520001
|
||||
bne a4, a2, .Lbr004 # b4: 27942f
|
||||
bne a5, a2, .Lbr004 # b7: 27952c
|
||||
l8ui a6, a0, 2 /* [[[arg0+0x4]+0x4]+0x2] */ # ba: 620002
|
||||
bnei a6, 3, .Lbr004 # bd: 663626
|
||||
l8ui a7, a0, 3 /* [[[arg0+0x4]+0x4]+0x3] */ # c0: 720003
|
||||
bnez a7, .Lbr004 # c3: ec07
|
||||
l8ui a8, a0, 4 /* [[[arg0+0x4]+0x4]+0x4] */ # c5: 820004
|
||||
bnez a8, .Lbr004 # c8: dcb8
|
||||
l8ui a9, a0, 5 /* [[[arg0+0x4]+0x4]+0x5] */ # ca: 920005
|
||||
bnez a9, .Lbr004 # cd: dc69
|
||||
movi a10, 0x0000f380 # cf: a1e2ff
|
||||
l8ui a4, a0, 7 /* [[[arg0+0x4]+0x4]+0x7] */ # d2: 420007
|
||||
l8ui a5, a0, 6 /* [[[arg0+0x4]+0x4]+0x6] */ # d5: 520006
|
||||
slli a4, a4, 8 # d8: 804411
|
||||
or a4, a4, a5 # db: 504420
|
||||
beq a4, a10, .Lbr004 # de: a71405
|
||||
movi a5, 0x00003781 # e1: 51deff
|
||||
bne a4, a5, .Lbr005 # e4: 579413
|
||||
.Lbr004: l16ui a6, a12, 22 /* [arg0+0x16] */ # e7: 621c0b
|
||||
l32i a7, a3, 4 /* [[arg0+0x4]+0x4] */ # ea: 7813
|
||||
s32i a7, sp, 32 /* [[arg0+0x4]+0x4] -> [(local1)] */ # ec: 7981
|
||||
addi a6, a6, 14 /* [arg0+0x16]+0xe */ # ee: eb66
|
||||
addi a7, a7, -14 /* [[arg0+0x4]+0x4]-0xe */ # f0: 72c7f2
|
||||
s32i a7, a3, 4 /* [[arg0+0x4]+0x4]-0xe -> [[arg0+0x4]+0x4] */ # f3: 7913
|
||||
s16i a6, a12, 22 /* [arg0+0x16]+0xe -> [arg0+0x16] */ # f5: 625c0b
|
||||
j .Lbr006 # f8: 060800
|
||||
.Lbr005: srli a8, a4, 8 # fb: 408841
|
||||
movi a10, 0x0000fff8 # fe: a1d8ff
|
||||
l16ui a9, a12, 22 /* [arg0+0x16] */ # 101: 921c0b
|
||||
addi a2, a0, 8 /* [[arg0+0x4]+0x4]+0x8 */ # 104: 8b20
|
||||
addi a11, a0, -6 /* [[arg0+0x4]+0x4]-0x6 */ # 106: b2c0fa
|
||||
s32i a11, sp, 32 /* [[arg0+0x4]+0x4]-0x6 -> [(local1)] */ # 109: b981
|
||||
s32i a2, a3, 4 /* [[arg0+0x4]+0x4]+0x8 -> [[arg0+0x4]+0x4] */ # 10b: 2913
|
||||
s32i a11, a3, 4 /* [[arg0+0x4]+0x4]-0x6 -> [[arg0+0x4]+0x4] */ # 10d: b913
|
||||
add a9, a9, a10 /* [arg0+0x16]+0xfff8 */ # 10f: aa99
|
||||
addi a9, a9, 14 /* [arg0+0x16]+0x10006 */ # 111: eb99
|
||||
s16i a9, a12, 22 /* [arg0+0x16]+0x10006 -> [arg0+0x16] */ # 113: 925c0b
|
||||
s8i a4, a0, 6 /* a4 -> [[[arg0+0x4]+0x4]+0x6] */ # 116: 424006
|
||||
s8i a8, a0, 7 /* a8 -> [[[arg0+0x4]+0x4]+0x7] */ # 119: 824007
|
||||
.Lbr006: l8ui a0, sp, 1 /* [(local0)] */ # 11c: 020101
|
||||
extui a0, a0, 0, 2 # 11f: 000014
|
||||
beqz a0, .Lbr007 # 122: ac20
|
||||
beqi a0, 1, .Lbr009 # 124: 261045
|
||||
bnei a0, 2, .Lbr008 # 127: 662037
|
||||
l32i a2, sp, 32 /* [(local1)] */ # 12a: 2881
|
||||
addi a3, sp, 4 /* (FP)-0x2c */ # 12c: 4b31
|
||||
movi a4, 6 /* 0x00000006 */ # 12e: 0c64
|
||||
call0 memcpy # 130: 01cfffc0
|
||||
# 134: 0000
|
||||
addi a3, sp, 16 /* (FP)-0x20 */ # 136: 32c110
|
||||
l32i a2, sp, 32 /* [(local1)] */ # 139: 2881
|
||||
movi a4, 6 /* 0x00000006 */ # 13b: 0c64
|
||||
addi a2, a2, 6 /* [(local1)]+0x6 */ # 13d: 6b22
|
||||
call0 memcpy # 13f: 01ccffc0
|
||||
# 143: 0000
|
||||
j .Lbr008 # 145: 460600
|
||||
.Lbr007: l32i a2, sp, 32 /* [(local1)] */ # 148: 2881
|
||||
addi a3, sp, 4 /* (FP)-0x2c */ # 14a: 4b31
|
||||
movi a4, 6 /* 0x00000006 */ # 14c: 0c64
|
||||
call0 memcpy # 14e: 01c9ffc0
|
||||
# 152: 0000
|
||||
addi a3, sp, 10 /* (FP)-0x26 */ # 154: ab31
|
||||
l32i a2, sp, 32 /* [(local1)] */ # 156: 2881
|
||||
movi a4, 6 /* 0x00000006 */ # 158: 0c64
|
||||
addi a2, a2, 6 /* [(local1)]+0x6 */ # 15a: 6b22
|
||||
call0 memcpy # 15c: 01c7ffc0
|
||||
# 160: 0000
|
||||
.Lbr008: mov a2, a12 # 162: 2d0c
|
||||
l32i a0, sp, 36 /* [(local2)] */ # 164: 0891
|
||||
l32i a12, sp, 40 /* [(local3)] */ # 166: c8a1
|
||||
addi sp, sp, 48 /* (top of frame) */ # 168: 12c130
|
||||
ret # 16b: 0df0
|
||||
.Lbr009: l32i a2, sp, 32 /* [(local1)] */ # 16d: 2881
|
||||
addi a3, sp, 16 /* (FP)-0x20 */ # 16f: 32c110
|
||||
movi a4, 6 /* 0x00000006 */ # 172: 0c64
|
||||
call0 memcpy # 174: 01c2ffc0
|
||||
# 178: 0000
|
||||
addi a3, sp, 10 /* (FP)-0x26 */ # 17a: ab31
|
||||
l32i a2, sp, 32 /* [(local1)] */ # 17c: 2881
|
||||
movi a4, 6 /* 0x00000006 */ # 17e: 0c64
|
||||
addi a2, a2, 6 /* [(local1)]+0x6 */ # 180: 6b22
|
||||
call0 memcpy # 182: 01bfffc0
|
||||
# 186: 0000
|
||||
j .Lbr008 # 188: 86f5ff
|
||||
|
||||
.literal_position # 18c: 00000000
|
||||
# 190: 00000000
|
||||
# 194: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x198
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word @ -0x8
|
||||
# (local3): word @ -0x4
|
||||
.global sdk_ieee80211_setup_rates
|
||||
.type sdk_ieee80211_setup_rates, @function
|
||||
sdk_ieee80211_setup_rates:
|
||||
addi sp, sp, -16 /* (local0) */ # 198: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 19b: 0901
|
||||
s32i a14, sp, 12 /* a14 -> [(local3)] */ # 19d: e931
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 19f: d921
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 1a1: c911
|
||||
mov a13, a4 /* arg2 */ # 1a3: dd04
|
||||
mov a12, a2 /* arg0 */ # 1a5: cd02
|
||||
mov a14, a3 /* arg1 */ # 1a7: ed03
|
||||
addi a2, a2, 71 /* arg0+0x47 */ # 1a9: 22c247
|
||||
movi a3, 0 /* 0x00000000 */ # 1ac: 0c03
|
||||
movi a4, 16 /* 0x00000010 */ # 1ae: 1c04
|
||||
call0 memset # 1b0: 01f7ffc0
|
||||
# 1b4: 0000
|
||||
addi a3, a14, 2 /* arg1+0x2 */ # 1b6: 2b3e
|
||||
addi a2, a12, 72 /* arg0+0x48 */ # 1b8: 22cc48
|
||||
l8ui a4, a14, 1 /* [arg1+0x1] */ # 1bb: 420e01
|
||||
s8i a4, a12, 71 /* [arg1+0x1] -> [arg0+0x47] */ # 1be: 424c47
|
||||
call0 memcpy # 1c1: 01f3ffc0
|
||||
# 1c5: 0000
|
||||
beqz a13, .Lbr011 # 1c7: ac8d
|
||||
l8ui a0, a12, 71 /* [arg0+0x47] */ # 1c9: 020c47
|
||||
l8ui a14, a13, 1 /* [arg2+0x1] */ # 1cc: e20d01
|
||||
add a2, a14, a0 # 1cf: 0a2e
|
||||
blti a2, 16, .Lbr010 # 1d1: a6b207
|
||||
movi a14, 15 /* 0x0000000f */ # 1d4: 0cfe
|
||||
sub a14, a14, a0 # 1d6: 00eec0
|
||||
extui a14, a14, 0, 8 # 1d9: e0e074
|
||||
.Lbr010: addi a3, a13, 2 /* arg2+0x2 */ # 1dc: 2b3d
|
||||
mov a4, a14 # 1de: 4d0e
|
||||
add a2, a0, a12 # 1e0: ca20
|
||||
addi a2, a2, 72 # 1e2: 22c248
|
||||
call0 memcpy # 1e5: 01ebffc0
|
||||
# 1e9: 0000
|
||||
l8ui a3, a12, 71 /* [arg0+0x47] */ # 1eb: 320c47
|
||||
add a3, a3, a14 # 1ee: ea33
|
||||
s8i a3, a12, 71 /* a3 -> [arg0+0x47] */ # 1f0: 324c47
|
||||
.Lbr011: movi a2, 0 /* 0x00000000 */ # 1f3: 0c02
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 1f5: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 1f7: d821
|
||||
l32i a14, sp, 12 /* [(local3)] */ # 1f9: e831
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 1fb: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 1fd: 12c110
|
||||
ret /* 0x00000000 */ # 200: 0df0
|
||||
|
||||
.literal_position # 204: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x208
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.global sdk_ieee80211_alloc_challenge
|
||||
.type sdk_ieee80211_alloc_challenge, @function
|
||||
sdk_ieee80211_alloc_challenge:
|
||||
addi sp, sp, -16 /* (local0) */ # 208: 12c1f0
|
||||
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 20b: 2901
|
||||
l32i a2, a2, 84 /* [arg0+0x54] */ # 20d: 222215
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 210: 0911
|
||||
bnez a2, .Lbr012 # 212: ccc2
|
||||
movi a2, 128 /* 0x00000080 */ # 214: 22a080
|
||||
call0 malloc # 217: 01fbffc0
|
||||
# 21b: 0000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 21d: 0801
|
||||
s32i a2, a0, 84 /* a2 -> [[(local0)]+0x54] */ # 21f: 226015
|
||||
.Lbr012: l32i a0, sp, 4 /* [(local1)] */ # 222: 0811
|
||||
movi a3, 1 /* 0x00000001 */ # 224: 0c13
|
||||
movnez a2, a3, a2 # 226: 202393
|
||||
addi sp, sp, 16 /* (top of frame) */ # 229: 12c110
|
||||
ret # 22c: 0df0
|
||||
|
||||
.literal_position # 230: 00000000
|
||||
# 234: 0050f202
|
||||
# 238: 0050f201
|
||||
# 23c: 00904c33
|
||||
# 240: 00904c34
|
||||
# 244: 00000000
|
||||
# 248: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x24c
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word @ -0x10
|
||||
# (local5): word[3] @ -0xc
|
||||
.global sdk_ieee80211_parse_beacon
|
||||
.type sdk_ieee80211_parse_beacon, @function
|
||||
sdk_ieee80211_parse_beacon:
|
||||
addi sp, sp, -32 /* (local0) */ # 24c: 12c1e0
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 24f: 0911
|
||||
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 251: c921
|
||||
s32i a15, sp, 20 /* a15 -> [(local5)] */ # 253: f951
|
||||
s32i a14, sp, 16 /* a14 -> [(local4)] */ # 255: e941
|
||||
s32i a13, sp, 12 /* a13 -> [(local3)] */ # 257: d931
|
||||
mov a14, a2 /* arg0 */ # 259: ed02
|
||||
l32i a13, a2, 4 /* [arg0+0x4] */ # 25b: d812
|
||||
l16ui a15, a2, 22 /* [arg0+0x16] */ # 25d: f2120b
|
||||
l32i a13, a13, 4 /* [[arg0+0x4]+0x4] */ # 260: d81d
|
||||
mov a12, a3 /* arg1 */ # 262: cd03
|
||||
add a15, a15, a13 # 264: daff
|
||||
addi a15, a15, 24 # 266: f2cf18
|
||||
sub a5, a15, a13 # 269: d05fc0
|
||||
addi a0, a5, -24 # 26c: 02c5e8
|
||||
bgei a0, 12, .Lbr013 # 26f: e6a002
|
||||
j .Lbr044 # 272: 068d00
|
||||
.Lbr013: mov a2, a3 /* arg1 */ # 275: 2d03
|
||||
s32i a5, sp, 0 /* a5 -> [(local0)] */ # 277: 5901
|
||||
movi a3, 72 /* 0x00000048 */ # 279: 4c83
|
||||
call0 bzero # 27b: 01f2ffc0
|
||||
# 27f: 0000
|
||||
addi a5, a13, 24 /* [[arg0+0x4]+0x4]+0x18 */ # 281: 52cd18
|
||||
l16ui a4, a13, 32 /* [[[arg0+0x4]+0x4]+0x20] */ # 284: 421d10
|
||||
s16i a4, a12, 6 /* [[[arg0+0x4]+0x4]+0x20] -> [arg1+0x6] */ # 287: 425c03
|
||||
l16ui a3, a13, 34 /* [[[arg0+0x4]+0x4]+0x22] */ # 28a: 321d11
|
||||
s32i a5, a12, 24 /* [[arg0+0x4]+0x4]+0x18 -> [arg1+0x18] */ # 28d: 596c
|
||||
addi a13, a13, 36 /* [[arg0+0x4]+0x4]+0x24 */ # 28f: d2cd24
|
||||
l32i a2, a14, 32 /* [arg0+0x20] */ # 292: 288e
|
||||
s16i a3, a12, 2 /* [[[arg0+0x4]+0x4]+0x22] -> [arg1+0x2] */ # 294: 325c01
|
||||
l32i a2, a2, 8 /* [[arg0+0x20]+0x8] */ # 297: 2822
|
||||
call0 sdk_ieee80211_chan2ieee # 299: 01ebffc0
|
||||
# 29d: 0000
|
||||
s32i a13, a12, 12 /* [[arg0+0x4]+0x4]+0x24 -> [arg1+0xc] */ # 29f: d93c
|
||||
movi a6, 221 /* 0x000000dd */ # 2a1: 62a0dd
|
||||
s8i a2, a12, 1 /* a2 -> [arg1+0x1] */ # 2a4: 224c01
|
||||
l32i a7, sp, 0 /* [(local0)] */ # 2a7: 7801
|
||||
extui a3, a2, 0, 8 # 2a9: 203074
|
||||
s8i a3, a12, 0 /* a3 -> [arg1] */ # 2ac: 324c00
|
||||
addi a7, a7, -36 /* [(local0)]-0x24 */ # 2af: 72c7dc
|
||||
s32i a7, a12, 16 /* [(local0)]-0x24 -> [arg1+0x10] */ # 2b2: 794c
|
||||
bgei a7, 2, .Lbr014 # 2b4: e62702
|
||||
j .Lbr045 # 2b7: 067d00
|
||||
.Lbr014: movi a8, 0x02f25000 # 2ba: 81deff
|
||||
movi a10, 50 /* 0x00000032 */ # 2bd: 3c2a
|
||||
movi a11, 45 /* 0x0000002d */ # 2bf: 2cdb
|
||||
movi a9, sdk_g_ic+0x1d8 # 2c1: 91dbff
|
||||
sub a2, a15, a13 # 2c4: d02fc0
|
||||
.Lbr015: l8ui a0, a13, 1 # 2c7: 020d01
|
||||
mov a7, a13 # 2ca: 7d0d
|
||||
addi a4, a0, 2 # 2cc: 2b40
|
||||
bge a2, a4, .Lbr016 # 2ce: 47a202
|
||||
j .Lbr044 # 2d1: 467500
|
||||
.Lbr016: l8ui a2, a13, 0 # 2d4: 220d00
|
||||
movi a5, 32 /* 0x00000020 */ # 2d7: 2c05
|
||||
bgei a2, 32, .Lbr017 # 2d9: e6c202
|
||||
j .Lbr037 # 2dc: 065e00
|
||||
.Lbr017: bge a5, a2, .Lbr020 # 2df: 27a50d
|
||||
bge a2, a10, .Lbr018 # 2e2: a7a202
|
||||
j .Lbr034 # 2e5: c64f00
|
||||
.Lbr018: blt a10, a2, .Lbr021 # 2e8: 272a11
|
||||
s32i a13, a12, 40 /* a13 -> [arg1+0x28] */ # 2eb: d9ac
|
||||
.Lbr019: l8ui a0, a7, 1 # 2ed: 020701
|
||||
.Lbr020: add a13, a0, a7 # 2f0: 7ad0
|
||||
addi a13, a13, 2 # 2f2: 2bdd
|
||||
sub a2, a15, a13 # 2f4: d02fc0
|
||||
bgei a2, 2, .Lbr015 # 2f7: e622cc
|
||||
j .Lbr045 # 2fa: 466c00
|
||||
.Lbr021: bge a2, a6, .Lbr022 # 2fd: 67a202
|
||||
j .Lbr033 # 300: 064600
|
||||
.Lbr022: blt a6, a2, .Lbr020 # 303: 2726e9
|
||||
movi a2, 0 /* 0x00000000 */ # 306: 0c02
|
||||
bltui a0, 4, .Lbr023 # 308: b64025
|
||||
l8ui a5, a13, 3 # 30b: 520d03
|
||||
l8ui a4, a13, 2 # 30e: 420d02
|
||||
slli a5, a5, 8 # 311: 805511
|
||||
l8ui a13, a13, 5 # 314: d20d05
|
||||
or a4, a4, a5 # 317: 504420
|
||||
l8ui a5, a7, 4 # 31a: 520704
|
||||
slli a13, a13, 24 # 31d: 80dd01
|
||||
slli a5, a5, 16 # 320: 005511
|
||||
or a5, a5, a13 # 323: d05520
|
||||
or a4, a4, a5 # 326: 504420
|
||||
movi a5, 0x01f25000 # 329: 51c3ff
|
||||
bne a4, a5, .Lbr023 # 32c: 579401
|
||||
movi a2, 1 /* 0x00000001 */ # 32f: 0c12
|
||||
.Lbr023: beqz a2, .Lbr025 # 331: 8c62
|
||||
s32i a7, a12, 48 /* a7 -> [arg1+0x30] */ # 333: 79cc
|
||||
.Lbr024: l8ui a0, a7, 1 # 335: 020701
|
||||
j .Lbr020 # 338: 06edff
|
||||
.Lbr025: movi a2, 0 /* 0x00000000 */ # 33b: 0c02
|
||||
bltui a0, 6, .Lbr026 # 33d: b66028
|
||||
l8ui a5, a7, 5 # 340: 520705
|
||||
l8ui a4, a7, 3 # 343: 420703
|
||||
l8ui a13, a7, 2 # 346: d20702
|
||||
slli a4, a4, 8 # 349: 804411
|
||||
or a13, a13, a4 # 34c: 40dd20
|
||||
l8ui a4, a7, 4 # 34f: 420704
|
||||
slli a5, a5, 24 # 352: 805501
|
||||
slli a4, a4, 16 # 355: 004411
|
||||
or a4, a4, a5 # 358: 504420
|
||||
or a13, a13, a4 # 35b: 40dd20
|
||||
bne a13, a8, .Lbr026 # 35e: 879d07
|
||||
l8ui a5, a7, 6 # 361: 520706
|
||||
bnei a5, 1, .Lbr026 # 364: 661501
|
||||
movi a2, 1 /* 0x00000001 */ # 367: 0c12
|
||||
.Lbr026: bnez a2, .Lbr028 # 369: ece2
|
||||
movi a2, 0 /* 0x00000000 */ # 36b: 0c02
|
||||
bltui a0, 6, .Lbr027 # 36d: b66028
|
||||
l8ui a5, a7, 5 # 370: 520705
|
||||
l8ui a4, a7, 3 # 373: 420703
|
||||
l8ui a13, a7, 2 # 376: d20702
|
||||
slli a4, a4, 8 # 379: 804411
|
||||
or a13, a13, a4 # 37c: 40dd20
|
||||
l8ui a4, a7, 4 # 37f: 420704
|
||||
slli a5, a5, 24 # 382: 805501
|
||||
slli a4, a4, 16 # 385: 004411
|
||||
or a4, a4, a5 # 388: 504420
|
||||
or a13, a13, a4 # 38b: 40dd20
|
||||
bne a13, a8, .Lbr027 # 38e: 879d07
|
||||
l8ui a13, a7, 6 # 391: d20706
|
||||
movi a5, 1 /* 0x00000001 */ # 394: 0c15
|
||||
moveqz a2, a5, a13 # 396: d02583
|
||||
.Lbr027: beqz a2, .Lbr029 # 399: 8c32
|
||||
.Lbr028: s32i a7, a12, 56 /* a7 -> [arg1+0x38] */ # 39b: 79ec
|
||||
j .Lbr024 # 39d: 06e5ff
|
||||
.Lbr029: l32i a2, a9, 0x334 /* [sdk_g_ic+0x50c] */ # 3a0: 2229cd
|
||||
extui a2, a2, 28, 1 # 3a3: 202c05
|
||||
beqz a2, .Lbr020 # 3a6: 1662f4
|
||||
movi a2, 0 /* 0x00000000 */ # 3a9: 0c02
|
||||
bltui a0, 4, .Lbr030 # 3ab: b64025
|
||||
l8ui a13, a7, 5 # 3ae: d20705
|
||||
l8ui a5, a7, 3 # 3b1: 520703
|
||||
l8ui a4, a7, 2 # 3b4: 420702
|
||||
slli a5, a5, 8 # 3b7: 805511
|
||||
or a4, a4, a5 # 3ba: 504420
|
||||
l8ui a5, a7, 4 # 3bd: 520704
|
||||
slli a13, a13, 24 # 3c0: 80dd01
|
||||
slli a5, a5, 16 # 3c3: 005511
|
||||
or a5, a5, a13 # 3c6: d05520
|
||||
or a4, a4, a5 # 3c9: 504420
|
||||
movi a5, 0x334c9000 # 3cc: 519cff
|
||||
bne a4, a5, .Lbr030 # 3cf: 579401
|
||||
movi a2, 1 /* 0x00000001 */ # 3d2: 0c12
|
||||
.Lbr030: beqz a2, .Lbr031 # 3d4: 8cb2
|
||||
l32i a13, a12, 60 /* [arg1+0x3c] */ # 3d6: d8fc
|
||||
bnez a13, .Lbr020 # 3d8: 564df1
|
||||
s32i a7, a12, 60 /* a7 -> [arg1+0x3c] */ # 3db: 79fc
|
||||
l8ui a0, a7, 1 # 3dd: 020701
|
||||
j .Lbr020 # 3e0: 06c3ff
|
||||
.Lbr031: movi a2, 0 /* 0x00000000 */ # 3e3: 0c02
|
||||
bltui a0, 4, .Lbr032 # 3e5: b64025
|
||||
l8ui a13, a7, 5 # 3e8: d20705
|
||||
l8ui a5, a7, 3 # 3eb: 520703
|
||||
l8ui a4, a7, 2 # 3ee: 420702
|
||||
slli a5, a5, 8 # 3f1: 805511
|
||||
or a4, a4, a5 # 3f4: 504420
|
||||
l8ui a5, a7, 4 # 3f7: 520704
|
||||
slli a13, a13, 24 # 3fa: 80dd01
|
||||
slli a5, a5, 16 # 3fd: 005511
|
||||
or a5, a5, a13 # 400: d05520
|
||||
or a4, a4, a5 # 403: 504420
|
||||
movi a5, 0x344c9000 # 406: 518eff
|
||||
bne a4, a5, .Lbr032 # 409: 579401
|
||||
movi a2, 1 /* 0x00000001 */ # 40c: 0c12
|
||||
.Lbr032: beqz a2, .Lbr020 # 40e: 16e2ed
|
||||
l32i a13, a12, 64 /* [arg1+0x40] */ # 411: d22c10
|
||||
bnez a13, .Lbr020 # 414: 568ded
|
||||
s32i a7, a12, 60 /* a7 -> [arg1+0x3c] */ # 417: 79fc
|
||||
j .Lbr024 # 419: 06c6ff
|
||||
.Lbr033: addi a4, a2, -61 # 41c: 42c2c3
|
||||
bnez a4, .Lbr020 # 41f: 56d4ec
|
||||
s32i a13, a12, 64 /* a13 -> [arg1+0x40] */ # 422: d26c10
|
||||
j .Lbr019 # 425: 06b1ff
|
||||
.Lbr034: blt a2, a11, .Lbr036 # 428: b72212
|
||||
blt a11, a2, .Lbr035 # 42b: 272b04
|
||||
s32i a13, a12, 60 /* a13 -> [arg1+0x3c] */ # 42e: d9fc
|
||||
j .Lbr019 # 430: 46aeff
|
||||
.Lbr035: addi a5, a2, -48 # 433: 52c2d0
|
||||
bnez a5, .Lbr020 # 436: 5665eb
|
||||
s32i a13, a12, 52 /* a13 -> [arg1+0x34] */ # 439: d9dc
|
||||
j .Lbr019 # 43b: 86abff
|
||||
.Lbr036: addi a13, a2, -42 # 43e: d2c2d6
|
||||
bnez a13, .Lbr020 # 441: 56bdea
|
||||
addi a2, a0, -1 # 444: 0b20
|
||||
bnez a2, .Lbr020 # 446: 5662ea
|
||||
l8ui a4, a7, 2 # 449: 420702
|
||||
movi a5, 256 /* 0x00000100 */ # 44c: 52a100
|
||||
or a4, a4, a5 # 44f: 504420
|
||||
s16i a4, a12, 4 /* a4 -> [arg1+0x4] */ # 452: 425c02
|
||||
j .Lbr019 # 455: 06a5ff
|
||||
.Lbr037: blti a2, 4, .Lbr041 # 458: a6422c
|
||||
bgei a2, 5, .Lbr038 # 45b: e65202
|
||||
j .Lbr020 # 45e: 86a3ff
|
||||
.Lbr038: blti a2, 6, .Lbr040 # 461: a66210
|
||||
bgei a2, 7, .Lbr039 # 464: e67202
|
||||
j .Lbr020 # 467: 46a1ff
|
||||
.Lbr039: addi a13, a2, -7 # 46a: d2c2f9
|
||||
bnez a13, .Lbr020 # 46d: 56fde7
|
||||
s32i a7, a12, 28 /* a7 -> [arg1+0x1c] */ # 470: 797c
|
||||
j .Lbr019 # 472: c69dff
|
||||
.Lbr040: addi a4, a2, -5 # 475: 42c2fb
|
||||
bnez a4, .Lbr020 # 478: 5644e7
|
||||
s32i a13, a12, 20 /* a13 -> [arg1+0x14] */ # 47b: d95c
|
||||
l32i a5, a14, 16 /* [arg0+0x10] */ # 47d: 584e
|
||||
sub a5, a13, a5 # 47f: 505dc0
|
||||
s8i a5, a12, 8 /* a5 -> [arg1+0x8] */ # 482: 524c08
|
||||
j .Lbr019 # 485: 0699ff
|
||||
.Lbr041: blti a2, 1, .Lbr043 # 488: a61216
|
||||
bgei a2, 2, .Lbr042 # 48b: e62204
|
||||
s32i a13, a12, 36 /* a13 -> [arg1+0x24] */ # 48e: d99c
|
||||
j .Lbr019 # 490: 4696ff
|
||||
.Lbr042: addi a13, a2, -3 # 493: d2c2fd
|
||||
bnez a13, .Lbr020 # 496: 566de5
|
||||
l8ui a3, a7, 2 # 499: 320702
|
||||
s8i a3, a12, 0 /* a3 -> [arg1] */ # 49c: 324c00
|
||||
j .Lbr019 # 49f: 8692ff
|
||||
.Lbr043: bnez a2, .Lbr020 # 4a2: 56a2e4
|
||||
s32i a13, a12, 32 /* a13 -> [arg1+0x20] */ # 4a5: d98c
|
||||
j .Lbr019 # 4a7: 8690ff
|
||||
.Lbr044: movi a2, 1 /* 0x00000001 */ # 4aa: 0c12
|
||||
j .Lbr054 # 4ac: 862100
|
||||
.Lbr045: l32i a0, a12, 36 /* [arg1+0x24] */ # 4af: 089c
|
||||
l32i a7, a12, 40 /* [arg1+0x28] */ # 4b1: 78ac
|
||||
beqz a0, .Lbr055 # 4b3: 16e008
|
||||
l8ui a14, a0, 1 /* [[arg1+0x24]+0x1] */ # 4b6: e20001
|
||||
bltui a14, 16, .Lbr046 # 4b9: b6be02
|
||||
j .Lbr055 # 4bc: 462100
|
||||
.Lbr046: movi a2, 0 /* 0x00000000 */ # 4bf: 0c02
|
||||
.Lbr047: beqz a0, .Lbr048 # 4c1: 9c30
|
||||
beqz a7, .Lbr048 # 4c3: 9c17
|
||||
l8ui a4, a7, 1 /* [[arg1+0x28]+0x1] */ # 4c5: 420701
|
||||
l8ui a5, a0, 1 /* [[arg1+0x24]+0x1] */ # 4c8: 520001
|
||||
movi a15, 15 /* 0x0000000f */ # 4cb: 0cff
|
||||
sub a15, a15, a5 # 4cd: 50ffc0
|
||||
bge a15, a4, .Lbr048 # 4d0: 47af04
|
||||
movi a7, 4 /* 0x00000004 */ # 4d3: 0c47
|
||||
or a2, a2, a7 # 4d5: 702220
|
||||
.Lbr048: movi a7, 8 /* 0x00000008 */ # 4d8: 0c87
|
||||
l32i a0, a12, 32 /* [arg1+0x20] */ # 4da: 088c
|
||||
l8ui a10, a12, 1 /* [arg1+0x1] */ # 4dc: a20c01
|
||||
beqz a0, .Lbr049 # 4df: 8c60
|
||||
l8ui a9, a0, 1 /* [[arg1+0x20]+0x1] */ # 4e1: 920001
|
||||
movi a8, 32 /* 0x00000020 */ # 4e4: 2c08
|
||||
bgeu a8, a9, .Lbr050 # 4e6: 97b802
|
||||
.Lbr049: or a2, a2, a7 # 4e9: 702220
|
||||
.Lbr050: l32i a0, a12, 28 /* [arg1+0x1c] */ # 4ec: 087c
|
||||
beq a10, a3, .Lbr051 # 4ee: 371a04
|
||||
movi a11, 32 /* 0x00000020 */ # 4f1: 2c0b
|
||||
or a2, a2, a11 # 4f3: b02220
|
||||
.Lbr051: movi a3, 0 /* 0x00000000 */ # 4f6: 0c03
|
||||
beqz a0, .Lbr052 # 4f8: 8c60
|
||||
l8ui a13, a0, 1 /* [[arg1+0x1c]+0x1] */ # 4fa: d20001
|
||||
bgeui a13, 3, .Lbr052 # 4fd: f63d01
|
||||
s32i a3, a12, 28 /* 0x00000000 -> [arg1+0x1c] */ # 500: 397c
|
||||
.Lbr052: l32i a0, a12, 60 /* [arg1+0x3c] */ # 502: 08fc
|
||||
movi a8, 26 /* 0x0000001a */ # 504: 1ca8
|
||||
beqz a0, .Lbr053 # 506: 9c30
|
||||
l8ui a14, a0, 1 /* [[arg1+0x3c]+0x1] */ # 508: e20001
|
||||
movi a4, 30 /* 0x0000001e */ # 50b: 1ce4
|
||||
l8ui a5, a0, 0 /* [[arg1+0x3c]] */ # 50d: 520000
|
||||
mov a15, a8 /* 0x0000001a */ # 510: fd08
|
||||
sub a5, a5, a6 /* [[arg1+0x3c]]-0xdd */ # 512: 6055c0
|
||||
moveqz a15, a4, a5 # 515: 50f483
|
||||
bgeu a14, a15, .Lbr053 # 518: f7be01
|
||||
s32i a3, a12, 60 /* 0x00000000 -> [arg1+0x3c] */ # 51b: 39fc
|
||||
.Lbr053: l32i a0, a12, 64 /* [arg1+0x40] */ # 51d: 022c10
|
||||
movi a9, 22 /* 0x00000016 */ # 520: 1c69
|
||||
beqz a0, .Lbr054 # 522: 9c00
|
||||
l8ui a10, a0, 0 /* [[arg1+0x40]] */ # 524: a20000
|
||||
l8ui a7, a0, 1 /* [[arg1+0x40]+0x1] */ # 527: 720001
|
||||
sub a10, a10, a6 /* [[arg1+0x40]]-0xdd */ # 52a: 60aac0
|
||||
moveqz a9, a8, a10 # 52d: a09883
|
||||
bgeu a7, a9, .Lbr054 # 530: 97b702
|
||||
s32i a3, a12, 64 /* 0x00000000 -> [arg1+0x40] */ # 533: 326c10
|
||||
.Lbr054: l32i a12, sp, 8 /* [(local2)] */ # 536: c821
|
||||
l32i a13, sp, 12 /* [(local3)] */ # 538: d831
|
||||
l32i a14, sp, 16 /* [(local4)] */ # 53a: e841
|
||||
l32i a15, sp, 20 /* [(local5)] */ # 53c: f851
|
||||
l32i a0, sp, 4 /* [(local1)] */ # 53e: 0811
|
||||
addi sp, sp, 32 /* (top of frame) */ # 540: 12c120
|
||||
ret # 543: 0df0
|
||||
.Lbr055: movi a2, 2 /* 0x00000002 */ # 545: 0c22
|
||||
j .Lbr047 # 547: 86ddff
|
||||
|
||||
.literal_position # 54c: 0050f200
|
||||
# 550: 0050f201
|
||||
# 554: 0050f202
|
||||
# 558: 0050f204
|
||||
# 55c: 0050f205
|
||||
|
||||
# Function @ .irom0.text+0x560
|
||||
.Lfunc001: movi a4, 0x00f25000 # 560: 41fbff
|
||||
l8ui a7, a2, 3 /* [arg0+0x3] */ # 563: 720203
|
||||
l8ui a6, a2, 1 /* [arg0+0x1] */ # 566: 620201
|
||||
l8ui a5, a2, 0 /* [arg0] */ # 569: 520200
|
||||
slli a6, a6, 8 # 56c: 806611
|
||||
or a5, a5, a6 # 56f: 605520
|
||||
l8ui a6, a2, 2 /* [arg0+0x2] */ # 572: 620202
|
||||
slli a7, a7, 24 # 575: 807701
|
||||
slli a6, a6, 16 # 578: 006611
|
||||
or a6, a6, a7 # 57b: 706620
|
||||
or a2, a5, a6 # 57e: 602520
|
||||
beq a2, a4, .Lbr059 # 581: 471231
|
||||
movi a7, 0x01f25000 # 584: 71f3ff
|
||||
movi a8, 0x02f25000 # 587: 81f3ff
|
||||
beq a2, a7, .Lbr058 # 58a: 77121d
|
||||
beq a2, a8, .Lbr060 # 58d: 871229
|
||||
movi a9, 0x04f25000 # 590: 91f2ff
|
||||
movi a10, 0x05f25000 # 593: a1f2ff
|
||||
beq a2, a9, .Lbr061 # 596: 971224
|
||||
beq a2, a10, .Lbr056 # 599: a71203
|
||||
movi a2, 32 /* 0x00000020 */ # 59c: 2c02
|
||||
ret /* 0x00000020 */ # 59e: 0df0
|
||||
.Lbr056: beqz a3, .Lbr057 # 5a0: 8c33
|
||||
movi a11, 13 /* 0x0000000d */ # 5a2: 0cdb
|
||||
s8i a11, a3, 0 /* 0x0d -> [arg1] */ # 5a4: b24300
|
||||
.Lbr057: movi a2, 6 /* 0x00000006 */ # 5a7: 0c62
|
||||
ret /* 0x00000006 */ # 5a9: 0df0
|
||||
.Lbr058: beqz a3, .Lbr057 # 5ab: 1683ff
|
||||
movi a2, 5 /* 0x00000005 */ # 5ae: 0c52
|
||||
s8i a2, a3, 0 /* 0x05 -> [arg1] */ # 5b0: 224300
|
||||
j .Lbr057 # 5b3: 06fcff
|
||||
.Lbr059: movi a2, 0 /* 0x00000000 */ # 5b6: 0c02
|
||||
ret /* 0x00000000 */ # 5b8: 0df0
|
||||
.Lbr060: movi a2, 1 /* 0x00000001 */ # 5ba: 0c12
|
||||
ret /* 0x00000001 */ # 5bc: 0df0
|
||||
.Lbr061: movi a2, 3 /* 0x00000003 */ # 5be: 0c32
|
||||
ret /* 0x00000003 */ # 5c0: 0df0
|
||||
|
||||
.literal_position # 5c4: 0050f200
|
||||
# 5c8: 0050f201
|
||||
# 5cc: 0050f202
|
||||
|
||||
# Function @ .irom0.text+0x5d0
|
||||
.Lfunc002: movi a3, 0x00f25000 # 5d0: 31fdff
|
||||
l8ui a6, a2, 3 /* [arg0+0x3] */ # 5d3: 620203
|
||||
l8ui a5, a2, 1 /* [arg0+0x1] */ # 5d6: 520201
|
||||
l8ui a4, a2, 0 /* [arg0] */ # 5d9: 420200
|
||||
slli a5, a5, 8 # 5dc: 805511
|
||||
or a4, a4, a5 # 5df: 504420
|
||||
l8ui a5, a2, 2 /* [arg0+0x2] */ # 5e2: 520202
|
||||
slli a6, a6, 24 # 5e5: 806601
|
||||
slli a5, a5, 16 # 5e8: 005511
|
||||
or a5, a5, a6 # 5eb: 605520
|
||||
or a2, a4, a5 # 5ee: 502420
|
||||
beq a2, a3, .Lbr062 # 5f1: 37120b
|
||||
movi a6, 0x01f25000 # 5f4: 61f5ff
|
||||
movi a7, 0x02f25000 # 5f7: 71f5ff
|
||||
beq a2, a6, .Lbr064 # 5fa: 67120a
|
||||
beq a2, a7, .Lbr063 # 5fd: 771203
|
||||
.Lbr062: movi a2, 0 /* 0x00000000 */ # 600: 0c02
|
||||
ret /* 0x00000000 */ # 602: 0df0
|
||||
.Lbr063: movi a2, 2 /* 0x00000002 */ # 604: 0c22
|
||||
ret /* 0x00000002 */ # 606: 0df0
|
||||
.Lbr064: movi a2, 1 /* 0x00000001 */ # 608: 0c12
|
||||
ret /* 0x00000001 */ # 60a: 0df0
|
||||
|
||||
.literal_position # 60c: 000fac00
|
||||
# 610: 000fac01
|
||||
# 614: 000fac02
|
||||
# 618: 000fac03
|
||||
# 61c: 000fac04
|
||||
# 620: 000fac05
|
||||
|
||||
# Function @ .irom0.text+0x624
|
||||
.Lfunc003: movi a4, 0x00ac0f00 # 624: 41faff
|
||||
l8ui a7, a2, 3 /* [arg0+0x3] */ # 627: 720203
|
||||
l8ui a6, a2, 1 /* [arg0+0x1] */ # 62a: 620201
|
||||
l8ui a5, a2, 0 /* [arg0] */ # 62d: 520200
|
||||
slli a6, a6, 8 # 630: 806611
|
||||
or a5, a5, a6 # 633: 605520
|
||||
l8ui a6, a2, 2 /* [arg0+0x2] */ # 636: 620202
|
||||
slli a7, a7, 24 # 639: 807701
|
||||
slli a6, a6, 16 # 63c: 006611
|
||||
or a6, a6, a7 # 63f: 706620
|
||||
or a2, a5, a6 # 642: 602520
|
||||
beq a2, a4, .Lbr068 # 645: 471237
|
||||
movi a7, 0x01ac0f00 # 648: 71f2ff
|
||||
movi a8, 0x02ac0f00 # 64b: 81f2ff
|
||||
beq a2, a7, .Lbr067 # 64e: 771223
|
||||
beq a2, a8, .Lbr069 # 651: 87122f
|
||||
movi a9, 0x03ac0f00 # 654: 91f1ff
|
||||
movi a10, 0x04ac0f00 # 657: a1f1ff
|
||||
beq a2, a9, .Lbr070 # 65a: 97122a
|
||||
beq a2, a10, .Lbr071 # 65d: a7122b
|
||||
movi a11, 0x05ac0f00 # 660: b1f0ff
|
||||
beq a2, a11, .Lbr065 # 663: b71203
|
||||
movi a2, 32 /* 0x00000020 */ # 666: 2c02
|
||||
ret /* 0x00000020 */ # 668: 0df0
|
||||
.Lbr065: beqz a3, .Lbr066 # 66a: 8c33
|
||||
movi a2, 13 /* 0x0000000d */ # 66c: 0cd2
|
||||
s8i a2, a3, 0 /* 0x0d -> [arg1] */ # 66e: 224300
|
||||
.Lbr066: movi a2, 6 /* 0x00000006 */ # 671: 0c62
|
||||
ret /* 0x00000006 */ # 673: 0df0
|
||||
.Lbr067: beqz a3, .Lbr066 # 675: 1683ff
|
||||
movi a4, 5 /* 0x00000005 */ # 678: 0c54
|
||||
s8i a4, a3, 0 /* 0x05 -> [arg1] */ # 67a: 424300
|
||||
j .Lbr066 # 67d: 06fcff
|
||||
.Lbr068: movi a2, 0 /* 0x00000000 */ # 680: 0c02
|
||||
ret /* 0x00000000 */ # 682: 0df0
|
||||
.Lbr069: movi a2, 1 /* 0x00000001 */ # 684: 0c12
|
||||
ret /* 0x00000001 */ # 686: 0df0
|
||||
.Lbr070: movi a2, 2 /* 0x00000002 */ # 688: 0c22
|
||||
ret /* 0x00000002 */ # 68a: 0df0
|
||||
.Lbr071: movi a2, 3 /* 0x00000003 */ # 68c: 0c32
|
||||
ret /* 0x00000003 */ # 68e: 0df0
|
||||
|
||||
.literal_position # 690: 000fac00
|
||||
# 694: 000fac01
|
||||
# 698: 000fac02
|
||||
|
||||
# Function @ .irom0.text+0x69c
|
||||
.Lfunc004: movi a3, 0x00ac0f00 # 69c: 31fdff
|
||||
l8ui a6, a2, 3 /* [arg0+0x3] */ # 69f: 620203
|
||||
l8ui a5, a2, 1 /* [arg0+0x1] */ # 6a2: 520201
|
||||
l8ui a4, a2, 0 /* [arg0] */ # 6a5: 420200
|
||||
slli a5, a5, 8 # 6a8: 805511
|
||||
or a4, a4, a5 # 6ab: 504420
|
||||
l8ui a5, a2, 2 /* [arg0+0x2] */ # 6ae: 520202
|
||||
slli a6, a6, 24 # 6b1: 806601
|
||||
slli a5, a5, 16 # 6b4: 005511
|
||||
or a5, a5, a6 # 6b7: 605520
|
||||
or a2, a4, a5 # 6ba: 502420
|
||||
beq a2, a3, .Lbr072 # 6bd: 37120b
|
||||
movi a6, 0x01ac0f00 # 6c0: 61f5ff
|
||||
movi a7, 0x02ac0f00 # 6c3: 71f5ff
|
||||
beq a2, a6, .Lbr074 # 6c6: 67120a
|
||||
beq a2, a7, .Lbr073 # 6c9: 771203
|
||||
.Lbr072: movi a2, 0 /* 0x00000000 */ # 6cc: 0c02
|
||||
ret /* 0x00000000 */ # 6ce: 0df0
|
||||
.Lbr073: movi a2, 2 /* 0x00000002 */ # 6d0: 0c22
|
||||
ret /* 0x00000002 */ # 6d2: 0df0
|
||||
.Lbr074: movi a2, 1 /* 0x00000001 */ # 6d4: 0c12
|
||||
ret /* 0x00000001 */ # 6d6: 0df0
|
||||
|
||||
.literal_position # 6d8: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x6dc
|
||||
# Local variables/stack:
|
||||
# (local0): byte[4] @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word @ -0x10
|
||||
# (local5): word @ -0xc
|
||||
# (local6): word @ -0x8
|
||||
# (local7): word @ -0x4
|
||||
.global sdk_ieee80211_parse_wpa
|
||||
.type sdk_ieee80211_parse_wpa, @function
|
||||
sdk_ieee80211_parse_wpa:
|
||||
movi a5, 0 /* 0x00000000 */ # 6dc: 0c05
|
||||
addi sp, sp, -32 /* (local0) */ # 6de: 12c1e0
|
||||
s32i a0, sp, 24 /* a0 -> [(local6)] */ # 6e1: 0961
|
||||
s8i a5, sp, 0 /* 0x00 -> [(local0)] */ # 6e3: 524100
|
||||
l32i a0, a2, 48 /* [arg0+0x30] */ # 6e6: 08c2
|
||||
beqz a0, .Lbr075 # 6e8: 9c50
|
||||
s32i a0, sp, 16 /* [arg0+0x30] -> [(local4)] */ # 6ea: 0941
|
||||
l8ui a3, a0, 7 /* [[arg0+0x30]+0x7] */ # 6ec: 320007
|
||||
l8ui a2, a0, 6 /* [[arg0+0x30]+0x6] */ # 6ef: 220006
|
||||
slli a3, a3, 8 # 6f2: 803311
|
||||
or a2, a2, a3 # 6f5: 302220
|
||||
slli a2, a2, 16 # 6f8: 002211
|
||||
srai a2, a2, 16 # 6fb: 202031
|
||||
beqi a2, 1, .Lbr078 # 6fe: 261210
|
||||
.Lbr075: mov a2, a5 /* 0x00000000 */ # 701: 2d05
|
||||
j .Lbr077 # 703: 060100
|
||||
.Lbr076: bltz a0, .Lbr087 # 706: 96300e
|
||||
movi a2, 1 /* 0x00000001 */ # 709: 0c12
|
||||
.Lbr077: l32i a0, sp, 24 /* [(local6)] */ # 70b: 0861
|
||||
addi sp, sp, 32 /* (top of frame) */ # 70d: 12c120
|
||||
ret # 710: 0df0
|
||||
.Lbr078: mov a3, sp /* (local0) */ # 712: 3d01
|
||||
addi a2, a0, 8 /* [arg0+0x30]+0x8 */ # 714: 8b20
|
||||
movi a4, 3 /* 0x00000003 */ # 716: 0c34
|
||||
l8ui a6, a0, 1 /* [[arg0+0x30]+0x1] */ # 718: 620001
|
||||
movi a5, sdk_g_ic+0x188 # 71b: 51efff
|
||||
s32i a5, sp, 20 /* sdk_g_ic+0x188 -> [(local5)] */ # 71e: 5951
|
||||
addi a6, a6, -6 /* [[arg0+0x30]+0x1]-0x6 */ # 720: 62c6fa
|
||||
s32i a6, sp, 4 /* [[arg0+0x30]+0x1]-0x6 -> [(local1)] */ # 723: 6911
|
||||
s8i a4, a5, 128 /* 0x03 -> [sdk_g_ic+0x208] */ # 725: 424580
|
||||
call0 .Lfunc001 # 728: 45e3ff
|
||||
movi a5, 0 /* 0x00000000 */ # 72b: 0c05
|
||||
l32i a6, sp, 16 /* [(local4)] */ # 72d: 6841
|
||||
l32i a0, sp, 4 /* [(local1)] */ # 72f: 0811
|
||||
l32i a7, sp, 20 /* [(local5)] */ # 731: 7851
|
||||
addi a0, a0, -6 /* [(local1)]-0x6 */ # 733: 02c0fa
|
||||
s8i a2, a7, 132 /* a2 -> [[(local5)]+0x84] */ # 736: 224784
|
||||
l8ui a7, a6, 13 /* [[(local4)]+0xd] */ # 739: 72060d
|
||||
l8ui a6, a6, 12 /* [[(local4)]+0xc] */ # 73c: 62060c
|
||||
slli a7, a7, 8 # 73f: 807711
|
||||
or a6, a6, a7 # 742: 706620
|
||||
extui a6, a6, 0, 16 # 745: 6060f4
|
||||
.Lbr079: beqz a0, .Lbr082 # 748: bc80
|
||||
s32i a5, sp, 12 /* a5 -> [(local3)] */ # 74a: 5931
|
||||
s32i a6, sp, 28 /* a6 -> [(local7)] */ # 74c: 6971
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 74e: 0911
|
||||
extui a8, a5, 0, 16 # 750: 5080f4
|
||||
bgeu a8, a6, .Lbr082 # 753: 67b82d
|
||||
l32i a3, sp, 16 /* [(local4)] */ # 756: 3841
|
||||
l32i a2, sp, 12 /* [(local3)] */ # 758: 2831
|
||||
addx4 a2, a2, a3 # 75a: 3022a0
|
||||
addi a2, a2, 14 # 75d: eb22
|
||||
mov a3, sp /* (local0) */ # 75f: 3d01
|
||||
call0 .Lfunc001 # 761: c5dfff
|
||||
l32i a0, sp, 20 /* [(local5)] */ # 764: 0851
|
||||
l32i a6, sp, 28 /* [(local7)] */ # 766: 6871
|
||||
l8ui a0, a0, 130 /* [[(local5)]+0x82] */ # 768: 020082
|
||||
l32i a5, sp, 12 /* [(local3)] */ # 76b: 5831
|
||||
beqz a0, .Lbr080 # 76d: 8c10
|
||||
bnei a0, 1, .Lbr081 # 76f: 661004
|
||||
.Lbr080: l32i a3, sp, 20 /* [(local5)] */ # 772: 3851
|
||||
s8i a2, a3, 130 /* a2 -> [[(local5)]+0x82] */ # 774: 224382
|
||||
.Lbr081: l32i a0, sp, 4 /* [(local1)] */ # 777: 0811
|
||||
addi a4, a5, 1 /* [(local3)]+0x1 */ # 779: 1b45
|
||||
extui a5, a4, 0, 8 # 77b: 405074
|
||||
addi a0, a0, -4 /* [(local1)]-0x4 */ # 77e: 02c0fc
|
||||
j .Lbr079 # 781: c6f0ff
|
||||
.Lbr082: blti a0, 1, .Lbr087 # 784: a61065
|
||||
movi a5, 0 /* 0x00000000 */ # 787: 0c05
|
||||
l32i a7, sp, 16 /* [(local4)] */ # 789: 7841
|
||||
addi a0, a0, -2 # 78b: 02c0fe
|
||||
addx4 a6, a6, a7 # 78e: 7066a0
|
||||
addi a2, a6, 16 # 791: 22c610
|
||||
l8ui a7, a6, 15 # 794: 72060f
|
||||
l8ui a6, a6, 14 # 797: 62060e
|
||||
slli a7, a7, 8 # 79a: 807711
|
||||
or a6, a6, a7 # 79d: 706620
|
||||
extui a6, a6, 0, 16 # 7a0: 6060f4
|
||||
.Lbr083: beqz a0, .Lbr076 # 7a3: 16f0f5
|
||||
s32i a6, sp, 28 /* a6 -> [(local7)] */ # 7a6: 6971
|
||||
s32i a5, sp, 12 /* a5 -> [(local3)] */ # 7a8: 5931
|
||||
s32i a2, sp, 8 /* a2 -> [(local2)] */ # 7aa: 2921
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 7ac: 0911
|
||||
extui a9, a5, 0, 16 # 7ae: 5090f4
|
||||
bltu a9, a6, .Lbr084 # 7b1: 673902
|
||||
j .Lbr076 # 7b4: 86d3ff
|
||||
.Lbr084: l32i a2, sp, 8 /* [(local2)] */ # 7b7: 2821
|
||||
call0 .Lfunc002 # 7b9: 45e1ff
|
||||
bnei a2, 1, .Lbr085 # 7bc: 661209
|
||||
l32i a11, sp, 20 /* [(local5)] */ # 7bf: b851
|
||||
movi a10, 2 /* 0x00000002 */ # 7c1: 0c2a
|
||||
s8i a10, a11, 129 /* 0x02 -> [[(local5)]+0x81] */ # 7c3: a24b81
|
||||
j .Lbr086 # 7c6: 860300
|
||||
.Lbr085: l32i a2, sp, 8 /* [(local2)] */ # 7c9: 2821
|
||||
call0 .Lfunc002 # 7cb: 45e0ff
|
||||
bnei a2, 2, .Lbr086 # 7ce: 662206
|
||||
l32i a2, sp, 20 /* [(local5)] */ # 7d1: 2851
|
||||
movi a0, 3 /* 0x00000003 */ # 7d3: 0c30
|
||||
s8i a0, a2, 129 /* 0x03 -> [[(local5)]+0x81] */ # 7d5: 024281
|
||||
.Lbr086: l32i a6, sp, 28 /* [(local7)] */ # 7d8: 6871
|
||||
l32i a5, sp, 12 /* [(local3)] */ # 7da: 5831
|
||||
l32i a2, sp, 8 /* [(local2)] */ # 7dc: 2821
|
||||
l32i a0, sp, 4 /* [(local1)] */ # 7de: 0811
|
||||
addi a2, a2, 4 /* [(local2)]+0x4 */ # 7e0: 4b22
|
||||
addi a0, a0, -4 /* [(local1)]-0x4 */ # 7e2: 02c0fc
|
||||
addi a3, a5, 1 /* [(local3)]+0x1 */ # 7e5: 1b35
|
||||
extui a5, a3, 0, 8 # 7e7: 305074
|
||||
j .Lbr083 # 7ea: 46edff
|
||||
.Lbr087: movi a2, 0 /* 0x00000000 */ # 7ed: 0c02
|
||||
j .Lbr077 # 7ef: 06c6ff
|
||||
|
||||
.literal_position # 7f4: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x7f8
|
||||
# Local variables/stack:
|
||||
# (local0): byte[4] @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word @ -0x10
|
||||
# (local5): word @ -0xc
|
||||
# (local6): word @ -0x8
|
||||
# (local7): word @ -0x4
|
||||
.global sdk_ieee80211_parse_rsn
|
||||
.type sdk_ieee80211_parse_rsn, @function
|
||||
sdk_ieee80211_parse_rsn:
|
||||
movi a4, 0 /* 0x00000000 */ # 7f8: 0c04
|
||||
addi sp, sp, -32 /* (local0) */ # 7fa: 12c1e0
|
||||
s32i a13, sp, 16 /* a13 -> [(local4)] */ # 7fd: d941
|
||||
s32i a14, sp, 20 /* a14 -> [(local5)] */ # 7ff: e951
|
||||
s32i a15, sp, 24 /* a15 -> [(local6)] */ # 801: f961
|
||||
s32i a12, sp, 12 /* a12 -> [(local3)] */ # 803: c931
|
||||
s8i a4, sp, 0 /* 0x00 -> [(local0)] */ # 805: 424100
|
||||
l32i a12, a2, 52 /* [arg0+0x34] */ # 808: c8d2
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 80a: 0921
|
||||
beqz a12, .Lbr088 # 80c: 9c9c
|
||||
l8ui a5, a12, 1 /* [[arg0+0x34]+0x1] */ # 80e: 520c01
|
||||
l8ui a2, a12, 3 /* [[arg0+0x34]+0x3] */ # 811: 220c03
|
||||
blti a5, 10, .Lbr088 # 814: a69511
|
||||
l8ui a0, a12, 2 /* [[arg0+0x34]+0x2] */ # 817: 020c02
|
||||
slli a2, a2, 8 # 81a: 802211
|
||||
or a0, a0, a2 # 81d: 200020
|
||||
slli a0, a0, 16 # 820: 000011
|
||||
srai a0, a0, 16 # 823: 000031
|
||||
beqi a0, 1, .Lbr092 # 826: 26101b
|
||||
.Lbr088: mov a2, a4 /* 0x00000000 */ # 829: 2d04
|
||||
j .Lbr091 # 82b: c60100
|
||||
.Lbr089: bgei a13, 2, .Lbr090 # 82e: e62d02
|
||||
j .Lbr101 # 831: 862e00
|
||||
.Lbr090: movi a2, 1 /* 0x00000001 */ # 834: 0c12
|
||||
.Lbr091: l32i a12, sp, 12 /* [(local3)] */ # 836: c831
|
||||
l32i a13, sp, 16 /* [(local4)] */ # 838: d841
|
||||
l32i a14, sp, 20 /* [(local5)] */ # 83a: e851
|
||||
l32i a15, sp, 24 /* [(local6)] */ # 83c: f861
|
||||
l32i a0, sp, 8 /* [(local2)] */ # 83e: 0821
|
||||
addi sp, sp, 32 /* (top of frame) */ # 840: 12c120
|
||||
ret # 843: 0df0
|
||||
.Lbr092: addi a2, a12, 4 /* [arg0+0x34]+0x4 */ # 845: 4b2c
|
||||
movi a15, sdk_g_ic+0x188 # 847: f1ebff
|
||||
movi a3, 3 /* 0x00000003 */ # 84a: 0c33
|
||||
s32i a5, sp, 28 /* [[arg0+0x34]+0x1] -> [(local7)] */ # 84c: 5971
|
||||
s8i a3, a15, 128 /* 0x03 -> [sdk_g_ic+0x208] */ # 84e: 324f80
|
||||
mov a3, sp /* (local0) */ # 851: 3d01
|
||||
call0 .Lfunc003 # 853: 05ddff
|
||||
movi a14, 0 /* 0x00000000 */ # 856: 0c0e
|
||||
l32i a13, sp, 28 /* [(local7)] */ # 858: d871
|
||||
s8i a2, a15, 132 /* a2 -> [sdk_g_ic+0x20c] */ # 85a: 224f84
|
||||
l8ui a4, a12, 8 /* [[arg0+0x34]+0x8] */ # 85d: 420c08
|
||||
l8ui a5, a12, 9 /* [[arg0+0x34]+0x9] */ # 860: 520c09
|
||||
addi a13, a13, -8 /* [(local7)]-0x8 */ # 863: d2cdf8
|
||||
addi a12, a12, 10 /* [arg0+0x34]+0xa */ # 866: abcc
|
||||
slli a5, a5, 8 # 868: 805511
|
||||
or a4, a4, a5 # 86b: 504420
|
||||
extui a4, a4, 0, 16 # 86e: 4040f4
|
||||
s32i a4, sp, 4 /* a4 -> [(local1)] */ # 871: 4911
|
||||
.Lbr093: l32i a2, sp, 4 /* [(local1)] */ # 873: 2811
|
||||
extui a0, a14, 0, 16 # 875: e000f4
|
||||
bgeu a0, a2, .Lbr096 # 878: 27b020
|
||||
beqz a13, .Lbr096 # 87b: 9cdd
|
||||
mov a2, a12 # 87d: 2d0c
|
||||
mov a3, sp /* (local0) */ # 87f: 3d01
|
||||
call0 .Lfunc003 # 881: 05daff
|
||||
addi a13, a13, -4 # 884: d2cdfc
|
||||
l8ui a0, a15, 130 /* [sdk_g_ic+0x20a] */ # 887: 020f82
|
||||
addi a12, a12, 4 # 88a: 4bcc
|
||||
beqz a0, .Lbr094 # 88c: 8c10
|
||||
bnei a0, 1, .Lbr095 # 88e: 661002
|
||||
.Lbr094: s8i a2, a15, 130 /* a2 -> [sdk_g_ic+0x20a] */ # 891: 224f82
|
||||
.Lbr095: addi a14, a14, 1 # 894: 1bee
|
||||
extui a14, a14, 0, 8 # 896: e0e074
|
||||
j .Lbr093 # 899: 86f5ff
|
||||
.Lbr096: blti a13, 1, .Lbr101 # 89c: a61d4f
|
||||
movi a14, 0 /* 0x00000000 */ # 89f: 0c0e
|
||||
addi a13, a13, -2 # 8a1: d2cdfe
|
||||
l8ui a0, a12, 0 # 8a4: 020c00
|
||||
l8ui a2, a12, 1 # 8a7: 220c01
|
||||
addi a12, a12, 2 # 8aa: 2bcc
|
||||
slli a2, a2, 8 # 8ac: 802211
|
||||
or a0, a0, a2 # 8af: 200020
|
||||
extui a0, a0, 0, 16 # 8b2: 0000f4
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 8b5: 0911
|
||||
.Lbr097: beqz a13, .Lbr089 # 8b7: 163df7
|
||||
l32i a6, sp, 4 /* [(local1)] */ # 8ba: 6811
|
||||
extui a5, a14, 0, 16 # 8bc: e050f4
|
||||
bltu a5, a6, .Lbr098 # 8bf: 673502
|
||||
j .Lbr089 # 8c2: 06daff
|
||||
.Lbr098: mov a2, a12 # 8c5: 2d0c
|
||||
call0 .Lfunc004 # 8c7: 45ddff
|
||||
bnei a2, 1, .Lbr099 # 8ca: 661207
|
||||
movi a7, 4 /* 0x00000004 */ # 8cd: 0c47
|
||||
s8i a7, a15, 129 /* 0x04 -> [sdk_g_ic+0x209] */ # 8cf: 724f81
|
||||
j .Lbr100 # 8d2: 060300
|
||||
.Lbr099: mov a2, a12 # 8d5: 2d0c
|
||||
call0 .Lfunc004 # 8d7: 45dcff
|
||||
bnei a2, 2, .Lbr100 # 8da: 662204
|
||||
movi a8, 5 /* 0x00000005 */ # 8dd: 0c58
|
||||
s8i a8, a15, 129 /* 0x05 -> [sdk_g_ic+0x209] */ # 8df: 824f81
|
||||
.Lbr100: addi a12, a12, 4 # 8e2: 4bcc
|
||||
addi a13, a13, -4 # 8e4: d2cdfc
|
||||
addi a14, a14, 1 # 8e7: 1bee
|
||||
extui a14, a14, 0, 8 # 8e9: e0e074
|
||||
j .Lbr097 # 8ec: c6f1ff
|
||||
.Lbr101: movi a2, 0 /* 0x00000000 */ # 8ef: 0c02
|
||||
j .Lbr091 # 8f1: 46d0ff
|
||||
|
||||
# Function @ .irom0.text+0x8f4
|
||||
.global sdk_ieee80211_parse_action
|
||||
.type sdk_ieee80211_parse_action, @function
|
||||
sdk_ieee80211_parse_action:
|
||||
l32i a4, a3, 4 /* [arg1+0x4] */ # 8f4: 4813
|
||||
l16ui a2, a3, 22 /* [arg1+0x16] */ # 8f6: 22130b
|
||||
l32i a3, a4, 4 /* [[arg1+0x4]+0x4] */ # 8f9: 3814
|
||||
add a2, a2, a3 # 8fb: 3a22
|
||||
addi a2, a2, 24 # 8fd: 22c218
|
||||
sub a2, a2, a3 # 900: 3022c0
|
||||
addi a2, a2, -24 # 903: 22c2e8
|
||||
bltui a2, 2, .Lbr104 # 906: b6221c
|
||||
l8ui a5, a3, 24 /* [[[arg1+0x4]+0x4]+0x18] */ # 909: 520318
|
||||
beqi a5, 3, .Lbr105 # 90c: 26351a
|
||||
bnei a5, 7, .Lbr102 # 90f: 66750a
|
||||
l8ui a3, a3, 25 /* [[[arg1+0x4]+0x4]+0x19] */ # 912: 320319
|
||||
beqz a3, .Lbr106 # 915: ac33
|
||||
bnei a3, 1, .Lbr102 # 917: 661302
|
||||
bltui a2, 3, .Lbr104 # 91a: b63208
|
||||
.Lbr102: movi a2, 0 /* 0x00000000 */ # 91d: 0c02
|
||||
ret /* 0x00000000 */ # 91f: 0df0
|
||||
.Lbr103: movi a5, 8 /* 0x00000008 */ # 921: 0c85
|
||||
bltu a5, a2, .Lbr102 # 923: 2735f6
|
||||
.Lbr104: movi a2, -1 /* 0xffffffff */ # 926: 7cf2
|
||||
ret /* 0xffffffff */ # 928: 0df0
|
||||
.Lbr105: l8ui a3, a3, 25 /* [[[arg1+0x4]+0x4]+0x19] */ # 92a: 320319
|
||||
beqz a3, .Lbr103 # 92d: 1603ff
|
||||
beqi a3, 1, .Lbr107 # 930: 26130e
|
||||
bnei a3, 2, .Lbr102 # 933: 6623e6
|
||||
bltui a2, 6, .Lbr104 # 936: b662ec
|
||||
j .Lbr102 # 939: 06f8ff
|
||||
.Lbr106: bltui a2, 3, .Lbr104 # 93c: b632e6
|
||||
j .Lbr102 # 93f: 86f6ff
|
||||
.Lbr107: movi a6, 8 /* 0x00000008 */ # 942: 0c86
|
||||
bgeu a6, a2, .Lbr104 # 944: 27b6de
|
||||
j .Lbr102 # 947: 86f4ff
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x94c
|
||||
.global sdk_ieee80211_setup_rateset
|
||||
.type sdk_ieee80211_setup_rateset, @function
|
||||
sdk_ieee80211_setup_rateset:
|
||||
movi a2, 0 /* 0x00000000 */ # 94c: 0c02
|
||||
ret /* 0x00000000 */ # 94e: 0df0
|
||||
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
2761
binary_sdk/libnet80211/ieee80211_output.S
Normal file
2761
binary_sdk/libnet80211/ieee80211_output.S
Normal file
File diff suppressed because it is too large
Load diff
241
binary_sdk/libnet80211/ieee80211_phy.S
Normal file
241
binary_sdk/libnet80211/ieee80211_phy.S
Normal file
|
|
@ -0,0 +1,241 @@
|
|||
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
189
binary_sdk/libnet80211/ieee80211_power.S
Normal file
189
binary_sdk/libnet80211/ieee80211_power.S
Normal file
|
|
@ -0,0 +1,189 @@
|
|||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
# Function @ .irom0.text+0x0
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
227
binary_sdk/libnet80211/ieee80211_proto.S
Normal file
227
binary_sdk/libnet80211/ieee80211_proto.S
Normal file
|
|
@ -0,0 +1,227 @@
|
|||
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
1762
binary_sdk/libnet80211/ieee80211_scan.S
Normal file
1762
binary_sdk/libnet80211/ieee80211_scan.S
Normal file
File diff suppressed because it is too large
Load diff
1326
binary_sdk/libnet80211/ieee80211_sta.S
Normal file
1326
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
486
binary_sdk/libnet80211/wl_chm.S
Normal file
486
binary_sdk/libnet80211/wl_chm.S
Normal file
|
|
@ -0,0 +1,486 @@
|
|||
|
||||
.section .text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
|
||||
# Function @ .text+0x4
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
.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
|
||||
2538
binary_sdk/libnet80211/wl_cnx.S
Normal file
2538
binary_sdk/libnet80211/wl_cnx.S
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue