17415 lines
781 KiB
Plaintext
17415 lines
781 KiB
Plaintext
|
||
TCPClient.elf: file format elf32-littleriscv
|
||
TCPClient.elf
|
||
architecture: riscv:rv32, flags 0x00000112:
|
||
EXEC_P, HAS_SYMS, D_PAGED
|
||
start address 0x00000000
|
||
|
||
Program Header:
|
||
LOAD off 0x00001000 vaddr 0x00000000 paddr 0x00000000 align 2**12
|
||
filesz 0x00008e94 memsz 0x00008e94 flags r-x
|
||
LOAD off 0x0000a000 vaddr 0x20000000 paddr 0x00008e94 align 2**12
|
||
filesz 0x00000078 memsz 0x000078d4 flags rw-
|
||
LOAD off 0x0000a800 vaddr 0x2001f800 paddr 0x2001f800 align 2**12
|
||
filesz 0x00000000 memsz 0x00000800 flags rw-
|
||
|
||
Sections:
|
||
Idx Name Size VMA LMA File off Algn Flags
|
||
0 .init 00000004 00000000 00000000 00001000 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE
|
||
1 .vector 000001bc 00000004 00000004 00001004 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE
|
||
2 .text 00008cd4 000001c0 000001c0 000011c0 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE
|
||
3 .fini 00000000 00008e94 00008e94 0000a078 2**0 CONTENTS, ALLOC, LOAD, CODE
|
||
4 .dalign 00000000 20000000 20000000 0000a078 2**0 CONTENTS
|
||
5 .dlalign 00000000 00008e94 00008e94 0000a078 2**0 CONTENTS
|
||
6 .data 00000078 20000000 00008e94 0000a000 2**2 CONTENTS, ALLOC, LOAD, DATA
|
||
7 .bss 0000785c 20000078 00008f0c 0000a078 2**2 ALLOC
|
||
8 .stack 00000800 2001f800 2001f800 0000a800 2**0 ALLOC
|
||
9 .debug_info 000148ff 00000000 00000000 0000a078 2**0 CONTENTS, READONLY, DEBUGGING
|
||
10 .debug_abbrev 00003264 00000000 00000000 0001e977 2**0 CONTENTS, READONLY, DEBUGGING
|
||
11 .debug_aranges 00000cf8 00000000 00000000 00021be0 2**3 CONTENTS, READONLY, DEBUGGING
|
||
12 .debug_ranges 00000cb8 00000000 00000000 000228d8 2**3 CONTENTS, READONLY, DEBUGGING
|
||
13 .debug_line 0000f2ca 00000000 00000000 00023590 2**0 CONTENTS, READONLY, DEBUGGING
|
||
14 .debug_str 000046a0 00000000 00000000 0003285a 2**0 CONTENTS, READONLY, DEBUGGING
|
||
15 .comment 00000033 00000000 00000000 00036efa 2**0 CONTENTS, READONLY
|
||
16 .debug_frame 00001c0c 00000000 00000000 00036f30 2**2 CONTENTS, READONLY, DEBUGGING
|
||
17 .debug_loc 00004c11 00000000 00000000 00038b3c 2**0 CONTENTS, READONLY, DEBUGGING
|
||
SYMBOL TABLE:
|
||
00000000 l d .init 00000000 .init
|
||
00000004 l d .vector 00000000 .vector
|
||
000001c0 l d .text 00000000 .text
|
||
00008e94 l d .fini 00000000 .fini
|
||
20000000 l d .dalign 00000000 .dalign
|
||
00008e94 l d .dlalign 00000000 .dlalign
|
||
20000000 l d .data 00000000 .data
|
||
20000078 l d .bss 00000000 .bss
|
||
2001f800 l d .stack 00000000 .stack
|
||
00000000 l d .debug_info 00000000 .debug_info
|
||
00000000 l d .debug_abbrev 00000000 .debug_abbrev
|
||
00000000 l d .debug_aranges 00000000 .debug_aranges
|
||
00000000 l d .debug_ranges 00000000 .debug_ranges
|
||
00000000 l d .debug_line 00000000 .debug_line
|
||
00000000 l d .debug_str 00000000 .debug_str
|
||
00000000 l d .comment 00000000 .comment
|
||
00000000 l d .debug_frame 00000000 .debug_frame
|
||
00000000 l d .debug_loc 00000000 .debug_loc
|
||
00000000 l df *ABS* 00000000 ./Startup/startup_ch32v30x_D8C.o
|
||
00000004 l .vector 00000000 _vector_base
|
||
00000000 l df *ABS* 00000000 ch32v30x_it.c
|
||
00000000 l df *ABS* 00000000 main.c
|
||
00000000 l df *ABS* 00000000 system_ch32v30x.c
|
||
00000000 l df *ABS* 00000000 ch32v30x_dbgmcu.c
|
||
00000000 l df *ABS* 00000000 ch32v30x_dvp.c
|
||
00000000 l df *ABS* 00000000 ch32v30x_eth.c
|
||
00000000 l df *ABS* 00000000 ch32v30x_exti.c
|
||
00000000 l df *ABS* 00000000 ch32v30x_gpio.c
|
||
00000000 l df *ABS* 00000000 ch32v30x_misc.c
|
||
00000000 l df *ABS* 00000000 ch32v30x_rcc.c
|
||
20000010 l O .data 00000010 APBAHBPrescTable
|
||
20000038 l O .data 00000004 ADCPrescTable
|
||
00000000 l df *ABS* 00000000 ch32v30x_tim.c
|
||
00000000 l df *ABS* 00000000 ch32v30x_usart.c
|
||
00000000 l df *ABS* 00000000 eth_driver_RGMII.c
|
||
00000000 l df *ABS* 00000000 debug.c
|
||
200000b0 l O .bss 00000002 p_ms
|
||
200000b2 l O .bss 00000001 p_us
|
||
00000000 l df *ABS* 00000000 dvp.c
|
||
200000bc l O .bss 00000004 frame_count
|
||
00000000 l df *ABS* 00000000 core_riscv.c
|
||
00000000 l df *ABS* 00000000 eth_api.c
|
||
00000000 l df *ABS* 00000000 ipcheck.c
|
||
00000000 l df *ABS* 00000000 socket.c
|
||
00000000 l df *ABS* 00000000 etharp.c
|
||
00002e0a l F .text 00000180 find_entry
|
||
00002f8a l F .text 000000b2 update_arp_entry
|
||
200000f8 l O .bss 00000001 etharp_cached_entry
|
||
00000000 l df *ABS* 00000000 ethernetif.c
|
||
00003686 l F .text 00000052 low_level_output
|
||
00000000 l df *ABS* 00000000 inet.c
|
||
00000000 l df *ABS* 00000000 ip.c
|
||
20000104 l O .bss 00000002 ip_id.2947
|
||
00000000 l df *ABS* 00000000 ip_addr.c
|
||
00000000 l df *ABS* 00000000 ip_frag.c
|
||
20000106 l O .bss 00000002 ip_reass_pbufcount
|
||
20000108 l O .bss 00000004 reassdatagrams
|
||
00000000 l df *ABS* 00000000 dhcp.c
|
||
0000430a l F .text 00000016 dhcp_set_state
|
||
00004320 l F .text 00000020 dhcp_option
|
||
00004340 l F .text 00000012 dhcp_option_byte
|
||
00004352 l F .text 00000048 dhcp_option_long
|
||
0000439a l F .text 00000034 dhcp_option_trailer
|
||
000043ce l F .text 0000018a dhcp_create_request
|
||
00004558 l F .text 0000001e dhcp_delete_request
|
||
00000000 l df *ABS* 00000000 init.c
|
||
00000000 l df *ABS* 00000000 mem.c
|
||
2000010c l O .bss 00000004 lfree
|
||
20000110 l O .bss 00000004 ram
|
||
20000114 l O .bss 00000004 ram_end
|
||
00000000 l df *ABS* 00000000 memp.c
|
||
200078a0 l O .bss 00000020 memp_tab
|
||
00000000 l df *ABS* 00000000 netif.c
|
||
20000120 l O .bss 00000001 netifnum.2482
|
||
00000000 l df *ABS* 00000000 pbuf.c
|
||
00000000 l df *ABS* 00000000 raw.c
|
||
20000124 l O .bss 00000004 raw_pcbs
|
||
00000000 l df *ABS* 00000000 tcp.c
|
||
00004fe4 l F .text 0000005c tcp_new_port
|
||
20000138 l O .bss 00000001 tcp_timer
|
||
2000004c l O .data 00000004 iss.3197
|
||
20000050 l O .data 00000002 port.3029
|
||
00000000 l df *ABS* 00000000 tcp_in.c
|
||
00005afc l F .text 000000ce tcp_oos_insert_segment
|
||
00005bca l F .text 00000944 tcp_receive
|
||
0000650e l F .text 000000a6 tcp_parseopt.isra.0
|
||
200078c0 l O .bss 00000014 inseg
|
||
20000144 l O .bss 00000004 ackno
|
||
20000148 l O .bss 00000001 flags
|
||
2000014c l O .bss 00000004 iphdr
|
||
20000150 l O .bss 00000004 recv_data
|
||
20000154 l O .bss 00000001 recv_flags
|
||
20000158 l O .bss 00000004 seqno
|
||
20000160 l O .bss 00000004 tcphdr
|
||
20000164 l O .bss 00000002 tcplen
|
||
00000000 l df *ABS* 00000000 tcp_out.c
|
||
00006fe2 l F .text 000000d4 tcp_output_set_header.isra.0.constprop.1
|
||
00000000 l df *ABS* 00000000 udp.c
|
||
00000000 l df *ABS* 00000000 icmp.c
|
||
000080f8 l F .text 00000076 icmp_send_response.isra.0
|
||
00000000 l df *ABS* 00000000 inet_chksum.c
|
||
000083e6 l F .text 0000007e lwip_standard_chksum
|
||
00000000 l df *ABS* 00000000 wchprintf.c
|
||
00000000 l df *ABS* 00000000 memcpy.c
|
||
00000000 l df *ABS* 00000000 net_dhcp.c
|
||
0000880c w F .text 00000004 printDouble
|
||
000008ca w .text 00000000 EXTI2_IRQHandler
|
||
00008b9e g F .text 00000018 putchar
|
||
0000856e g F .text 00000014 inet_chksum
|
||
00000568 g F .text 0000005e WCHNET_HandleGlobalInt
|
||
000008ca w .text 00000000 TIM8_TRG_COM_IRQHandler
|
||
00004ee4 g F .text 0000001e raw_bind
|
||
00003db0 g F .text 000003dc ip_reass
|
||
000008ca w .text 00000000 TIM8_CC_IRQHandler
|
||
00004d3c g F .text 00000058 pbuf_realloc
|
||
000009ac g F .text 00000062 DVP_Cfg
|
||
20000032 g O .data 00000002 srcport
|
||
00005860 g F .text 00000010 tcp_next_iss
|
||
00005156 g F .text 00000048 tcp_update_rcv_ann_wnd
|
||
00001e36 g F .text 00000012 setRxBuffAddr
|
||
00000b98 g F .text 00000010 ETH_FlushTransmitFIFO
|
||
00000f1c g F .text 0000001e RCC_AHBPeriphResetCmd
|
||
2000011c g O .bss 00000004 netif_list
|
||
000008ca w .text 00000000 UART8_IRQHandler
|
||
0000791c g F .text 00000108 tcp_rst
|
||
00008810 w F .text 00000320 print
|
||
200000d8 g O .bss 00000004 TCPTimer
|
||
00003206 g F .text 000000ce etharp_request
|
||
00008b30 w F .text 00000024 printf
|
||
20000820 g .data 00000000 __global_pointer$
|
||
000001c8 g F .text 00000028 .hidden __riscv_save_8
|
||
0000525a g F .text 00000006 tcp_err
|
||
20000064 g O .data 00000004 ip_addr_any
|
||
000008ca w .text 00000000 TIM1_CC_IRQHandler
|
||
00008464 g F .text 0000010a inet_chksum_pseudo
|
||
000023b8 g F .text 00000016 WCHNET_ConfigKeepLive
|
||
000074fe g F .text 00000016 tcp_send_ctrl
|
||
000002ca g F .text 00000052 HardFault_Handler
|
||
00003af0 g F .text 0000015a ip_output_if
|
||
000049dc g F .text 00000018 memp_free
|
||
00008716 w F .text 000000f2 printInt
|
||
00004bae g F .text 0000004e pbuf_free
|
||
00000214 g F .text 0000000c .hidden __riscv_restore_3
|
||
00002cc6 g F .text 00000012 WCHNET_GetGlobalInt
|
||
0000524e g F .text 00000006 tcp_recv
|
||
000008ca w .text 00000000 TIM6_IRQHandler
|
||
000017e2 g F .text 00000058 ETH_Init
|
||
000008ca w .text 00000000 SysTick_Handler
|
||
00004db0 g F .text 0000001c pbuf_cat
|
||
00000cf0 g F .text 0000005c NVIC_Init
|
||
000008ca w .text 00000000 PVD_IRQHandler
|
||
000008ca w .text 00000000 SDIO_IRQHandler
|
||
200000e4 g O .bss 00000001 ARP_Retry_Cnt
|
||
00003c4a g F .text 00000036 ip_output
|
||
000008ca w .text 00000000 TIM9_BRK_IRQHandler
|
||
00000200 g F .text 00000020 .hidden __riscv_restore_10
|
||
0000164e g F .text 00000110 ReInitMACReg
|
||
00008010 g F .text 0000002e udp_sendto
|
||
00001152 g F .text 00000040 ETH_TxPktChainMode
|
||
200000e0 g O .bss 00000004 phydatatime
|
||
000008ca w .text 00000000 DMA2_Channel8_IRQHandler
|
||
000002c8 g F .text 00000002 NMI_Handler
|
||
00007b38 g F .text 0000005e tcp_keepalive
|
||
000008ca w .text 00000000 CAN2_RX1_IRQHandler
|
||
000008ca w .text 00000000 EXTI3_IRQHandler
|
||
0000230e g F .text 000000aa WCHNET_Init
|
||
000032d4 g F .text 0000007c etharp_tmr
|
||
000001c8 g F .text 00000028 .hidden __riscv_save_11
|
||
0000095a g F .text 0000000a DBGMCU_GetCHIPID
|
||
00005870 g F .text 00000134 tcp_alloc
|
||
00001d3e g F .text 00000014 WCHNET_NetInput
|
||
00008dd8 g O .text 00000010 MemSize
|
||
00007f3a g F .text 000000d6 udp_sendto_if
|
||
00001790 g F .text 00000052 WCHNET_ETHIsr
|
||
0000524a g F .text 00000004 tcp_arg
|
||
000008ca w .text 00000000 USBHS_IRQHandler
|
||
00003096 g F .text 00000170 etharp_arp_input
|
||
20000128 g O .bss 00000004 tcp_active_pcbs
|
||
00001148 g F .text 0000000a USART_GetFlagStatus
|
||
000008ca w .text 00000000 DMA2_Channel9_IRQHandler
|
||
20000168 g O .bss 00000004 udp_pcbs
|
||
000008ca w .text 00000000 TIM10_CC_IRQHandler
|
||
2000007c g O .bss 00000006 MACAddr
|
||
0000359c g F .text 00000086 ethernet_input
|
||
20000078 g .bss 00000000 _sbss
|
||
00000800 g *ABS* 00000000 __stack_size
|
||
00004da6 g F .text 0000000a pbuf_ref
|
||
0000190a g F .text 00000062 USART_Printf_Init
|
||
00002b42 g F .text 00000056 WCHNET_SocketSend
|
||
20000094 g O .bss 00000004 ChipId
|
||
00005696 g F .text 00000030 tcp_recv_null
|
||
200000e8 g O .bss 00000001 SockNumber
|
||
000008ca w .text 00000000 USBFS_IRQHandler
|
||
000055e4 g F .text 000000b2 tcp_close
|
||
20007774 g O .bss 0000000c SelARP
|
||
0000519e g F .text 0000003c tcp_recved
|
||
000004ce g F .text 0000009a WCHNET_HandleSockInt
|
||
00000214 g F .text 0000000c .hidden __riscv_restore_2
|
||
0000526a g F .text 0000004e tcp_pcb_purge
|
||
2000006c g O .data 00000007 tcp_persist_backoff
|
||
00000a0e g F .text 00000014 ETH_DeInit
|
||
00008bb6 g F .text 000000b2 memcpy
|
||
0000474e g F .text 00000084 mem_free
|
||
20000134 g O .bss 00000004 tcp_ticks
|
||
20000130 g O .bss 00000004 tcp_listen_pcbs
|
||
00007a24 g F .text 00000036 tcp_rexmit_rto
|
||
200000b8 g O .bss 00000004 current_line_idx
|
||
00003c80 g F .text 0000004a ip_addr_isbroadcast
|
||
00008808 w F .text 00000004 printLongLongInt
|
||
20000088 g O .bss 00000004 DMARxDescToGet
|
||
000059a4 g F .text 00000010 tcp_new
|
||
000008ca w .text 00000000 EXTI0_IRQHandler
|
||
00000f54 g F .text 00000024 RCC_ETH1G_125Mcmd
|
||
000008ca w .text 00000000 I2C2_EV_IRQHandler
|
||
00001e7a g F .text 0000000e GetChipID
|
||
000008ca w .text 00000000 TIM10_TRG_COM_IRQHandler
|
||
00001f48 g F .text 0000003e IPCheckTmr
|
||
00001066 g F .text 00000018 TIM_Cmd
|
||
00008b54 g F .text 0000004a puts
|
||
20007780 g O .bss 00000018 DHCPCtrl
|
||
20000034 g O .data 00000004 SystemCoreClock
|
||
00004fa4 g F .text 00000010 raw_send
|
||
00008582 g F .text 0000006a inet_chksum_pbuf
|
||
0000041c g F .text 00000068 WCHNET_CreateTcpSocket
|
||
0000816e g F .text 00000250 icmp_input
|
||
00000004 g .init 00000000 _einit
|
||
00001090 g F .text 0000000c TIM_ClearITPendingBit
|
||
00004ad8 g F .text 0000005a netif_add
|
||
00000ee0 g F .text 0000001e RCC_APB2PeriphClockCmd
|
||
000001c0 g F .text 00000030 .hidden __riscv_save_12
|
||
00005204 g F .text 0000001e tcp_segs_free
|
||
00002c88 g F .text 0000003e WCHNET_QueryGlobalInt
|
||
000008ca w .text 00000000 CAN2_SCE_IRQHandler
|
||
000008ca w .text 00000000 ADC1_2_IRQHandler
|
||
00002d0c g F .text 00000054 WCHNET_SocketSetKeepLive
|
||
00000c30 g F .text 000000c0 GPIO_Init
|
||
000008ca w .text 00000000 Break_Point_Handler
|
||
000049f4 g F .text 00000096 netif_set_ipaddr
|
||
00000200 g F .text 00000020 .hidden __riscv_restore_11
|
||
20000090 g O .bss 00000004 NVIC_Priority_Group
|
||
000008ca w .text 00000000 SPI1_IRQHandler
|
||
0000112a g F .text 00000016 USART_Cmd
|
||
00002cd8 g F .text 0000002a WCHNET_GetSocketInt
|
||
00007514 g F .text 00000030 tcp_write
|
||
000008ca w .text 00000000 TAMPER_IRQHandler
|
||
000001f0 g F .text 0000000c .hidden __riscv_save_1
|
||
20000084 g O .bss 00000001 socket
|
||
2000783c g O .bss 0000002c WCHCfg
|
||
00000214 g F .text 0000000c .hidden __riscv_restore_0
|
||
0000574a g F .text 0000007c tcp_fastsendack
|
||
00001492 g F .text 00000094 ETH_RegInit
|
||
000001d6 g F .text 0000001a .hidden __riscv_save_7
|
||
000008ca w .text 00000000 CAN2_RX0_IRQHandler
|
||
2000003c g O .data 00000004 DHCPXid
|
||
00005040 g F .text 00000116 tcp_bind
|
||
000083d2 g F .text 00000014 icmp_time_exceeded
|
||
20000d64 g O .bss 000029ac MACRxBuf
|
||
000008ca w .text 00000000 TIM8_UP_IRQHandler
|
||
0000418c g F .text 0000017e ip_frag
|
||
00000efe g F .text 0000001e RCC_APB1PeriphClockCmd
|
||
000027ee g F .text 000000e8 WCHNET_SocketRecv
|
||
200000a8 g O .bss 00000004 pDMARxSet
|
||
000008ca w .text 00000000 Ecall_M_Mode_Handler
|
||
2001f800 g .stack 00000000 _heap_end
|
||
20007798 g O .bss 00000040 dhcp_host_name
|
||
00004f26 g F .text 0000007e raw_sendto
|
||
000018d4 g F .text 00000036 Delay_Us
|
||
0000020a g F .text 00000016 .hidden __riscv_restore_5
|
||
20000082 g O .bss 00000001 SocketId
|
||
000008ca w .text 00000000 DMA2_Channel2_IRQHandler
|
||
00000ec2 g F .text 0000001e RCC_AHBPeriphClockCmd
|
||
000008ca w .text 00000000 DMA1_Channel4_IRQHandler
|
||
00004de0 g F .text 0000009c pbuf_copy
|
||
00007a5a g F .text 0000007c tcp_rexmit
|
||
00001ff2 g F .text 00000004 LwipTCPPollCallBack
|
||
2000008c g O .bss 00000004 DMATxDescToSet
|
||
00000acc g F .text 00000014 ETH_MACTransmissionCmd
|
||
2000002c g O .data 00000004 IPMask
|
||
200000b3 g O .bss 00000001 Line_Ready_Flag
|
||
000008ca w .text 00000000 TIM9_UP_IRQHandler
|
||
0000020a g F .text 00000016 .hidden __riscv_restore_6
|
||
000008ca w .text 00000000 USART3_IRQHandler
|
||
00000c26 g F .text 0000000a EXTI_ClearITPendingBit
|
||
000008ca w .text 00000000 RTC_IRQHandler
|
||
2000013c g O .bss 00000004 tcp_tmp_pcb
|
||
200078d4 g .bss 00000000 _ebss
|
||
200047a8 g O .bss 00001270 Mem_Heap_Memory
|
||
000008ca w .text 00000000 DMA1_Channel7_IRQHandler
|
||
200000c8 g O .bss 00000004 DHCPcoarseTimer
|
||
00000bf8 g F .text 0000002e RGMII_TXC_Delay
|
||
000008ca w .text 00000000 CAN1_RX1_IRQHandler
|
||
000018ae g F .text 00000026 Delay_Init
|
||
00004710 g F .text 0000003e mem_init
|
||
00000b90 g F .text 00000008 ETH_DMAClearITPendingBit
|
||
00001b14 g F .text 0000005a DVP_IRQHandler
|
||
000008ca w .text 00000000 UART5_IRQHandler
|
||
200000a4 g O .bss 00000002 gPHYAddress
|
||
000075b4 g F .text 00000368 tcp_output
|
||
000008ca w .text 00000000 TIM4_IRQHandler
|
||
2000015c g O .bss 00000004 tcp_input_pcb
|
||
00004e7c g F .text 00000068 raw_input
|
||
00007544 g F .text 00000070 tcp_send_empty_ack
|
||
000001c8 g F .text 00000028 .hidden __riscv_save_9
|
||
00007ad6 g F .text 00000062 tcp_rexmit_fast
|
||
000008ca w .text 00000000 DMA2_Channel1_IRQHandler
|
||
20005a18 g O .bss 0000191f Memp_Memory
|
||
00000bda g F .text 0000001e ETH_DMAITConfig
|
||
00003748 g F .text 00000076 wch_ethernetif_init
|
||
00001e88 g F .text 0000006a getTxBuffAddr
|
||
000037fe g F .text 0000000c ntohl
|
||
00000b82 g F .text 0000000e ETH_SoftwareReset
|
||
000001d6 g F .text 0000001a .hidden __riscv_save_4
|
||
00004b32 g F .text 00000006 netif_set_default
|
||
000022c2 g F .text 0000004c WCHSocketInit
|
||
00000a7a g F .text 00000052 ETH_WritePHYRegister
|
||
000080ce g F .text 00000006 udp_recv
|
||
000008ca w .text 00000000 I2C1_EV_IRQHandler
|
||
00001f86 g F .text 0000002c IPConflictHandle
|
||
00004bfc g F .text 00000140 pbuf_alloc
|
||
00001f10 g F .text 00000038 SelIPARPSend
|
||
00002b98 g F .text 00000052 WCHScokedIntHandle
|
||
00000d4c g F .text 00000176 RCC_GetClocksFreq
|
||
000008ca w .text 00000000 DMA1_Channel6_IRQHandler
|
||
000008ca w .text 00000000 UART4_IRQHandler
|
||
200000ec g O .bss 00000004 TCPVerifyConnCallback
|
||
000008ca w .text 00000000 DMA2_Channel4_IRQHandler
|
||
20000068 g O .data 00000004 ip_addr_broadcast
|
||
00003cca g F .text 000000e6 ip_reass_tmr
|
||
0000109c g F .text 0000008e USART_Init
|
||
20000048 g O .data 00000004 memp_sizes
|
||
00001192 g F .text 00000020 WCHNET_GetMacAddr
|
||
000008ca w .text 00000000 TIM3_IRQHandler
|
||
000008ca w .text 00000000 RCC_IRQHandler
|
||
20000d44 g O .bss 00000020 DMATxDscrTab
|
||
000001f0 g F .text 0000000c .hidden __riscv_save_3
|
||
00008050 g F .text 0000007e udp_connect
|
||
000008ca w .text 00000000 TIM1_TRG_COM_IRQHandler
|
||
00008e2c g O .text 00000010 ErrTable
|
||
000008ca w .text 00000000 DMA1_Channel1_IRQHandler
|
||
00004a8a g F .text 0000004e netif_set_addr
|
||
00004576 g F .text 00000182 dhcp_arp_reply
|
||
200000f4 g O .bss 00000004 tcpSendAckFlag
|
||
00000000 g .init 00000000 _start
|
||
000008ca w .text 00000000 DMA2_Channel7_IRQHandler
|
||
20000000 g O .data 00000010 AHBPrescTable
|
||
000049bc g F .text 00000020 memp_malloc
|
||
00007b96 g F .text 000000d2 tcp_zero_window_probe
|
||
00008636 w F .text 000000e0 prints
|
||
00001a72 g F .text 000000a2 DVP_Task
|
||
000008ca w .text 00000000 EXTI15_10_IRQHandler
|
||
0000107e g F .text 00000012 TIM_ITConfig
|
||
200077ec g O .bss 0000000c KeepLiveCfg
|
||
00002574 g F .text 000001d2 WCHNET_SocketCreat
|
||
0000279e g F .text 00000050 WCHNET_ModifyRecvBuf
|
||
20007868 g O .bss 00000038 WCHNetIf
|
||
2000012c g O .bss 00000004 tcp_bound_pcbs
|
||
000037da g F .text 00000024 htonl
|
||
000051da g F .text 0000002a tcp_seg_free
|
||
200000b4 g O .bss 00000004 Ready_Line_Ptr
|
||
00002bea g F .text 0000009e LwipRemoveTcpPcb
|
||
00001b74 g F .text 00000006 __get_MCAUSE
|
||
000008ca w .text 00000000 TIM7_IRQHandler
|
||
000059e2 g F .text 000000e8 tcp_connect
|
||
0000489c g F .text 000000d0 mem_malloc
|
||
000008ca w .text 00000000 CAN2_TX_IRQHandler
|
||
20000000 g .dalign 00000000 _data_vma
|
||
00000964 g F .text 00000016 DVP_INTCfg
|
||
000008ca w .text 00000000 TIM5_IRQHandler
|
||
00000b36 g F .text 0000004c ETH_DMARxDescChainInit
|
||
00000a22 g F .text 00000058 ETH_ReadPHYRegister
|
||
0000031c g F .text 00000054 EXTI9_5_IRQHandler
|
||
000070b6 g F .text 00000448 tcp_enqueue
|
||
000059b4 g F .text 0000002e tcp_eff_send_mss
|
||
00002516 g F .text 0000005e WCHFindCorrectTCBPcb
|
||
000001c8 g F .text 00000028 .hidden __riscv_save_10
|
||
0000183a g F .text 00000074 ETH_LibInit
|
||
00002194 g F .text 000000d2 WCHSocketTCPReceive
|
||
000008ca w .text 00000000 ETH_WKUP_IRQHandler
|
||
0000020a g F .text 00000016 .hidden __riscv_restore_4
|
||
00001b7a g F .text 00000006 __get_MTVAL
|
||
00000200 g F .text 00000020 .hidden __riscv_restore_8
|
||
00001b6e g F .text 00000006 __get_MEPC
|
||
000001d6 g F .text 0000001a .hidden __riscv_save_6
|
||
00004f02 g F .text 0000001e raw_connect
|
||
000008ca w .text 00000000 SPI2_IRQHandler
|
||
200000e6 g O .bss 00000002 Arp_Entry_timeout
|
||
20000020 g O .data 00000004 DESIP
|
||
00000220 g F .text 000000a8 memset
|
||
00000200 g F .text 00000020 .hidden __riscv_restore_9
|
||
0000020a g F .text 00000016 .hidden __riscv_restore_7
|
||
000005c6 g F .text 000000e2 main
|
||
200000a0 g O .bss 00000004 LocalTime
|
||
20000044 g O .data 00000004 memp_num
|
||
000008ca w .text 00000000 TIM10_BRK_IRQHandler
|
||
20000024 g O .data 00000004 GWIPAddr
|
||
00000396 g F .text 00000018 mStopIfError
|
||
000008ca w .text 00000000 TIM9_CC_IRQHandler
|
||
000083be g F .text 00000014 icmp_dest_unreach
|
||
00001ff6 g F .text 000000c4 SocketIPRAWReceive
|
||
00005254 g F .text 00000006 tcp_sent
|
||
00004b38 g F .text 00000008 netif_is_up
|
||
000008ca w .text 00000000 DMA2_Channel5_IRQHandler
|
||
000037cc g F .text 0000000e ntohs
|
||
00004fb4 g F .text 00000030 raw_new
|
||
200000d4 g O .bss 00000004 IPFragTimer
|
||
00001fb2 g F .text 00000002 NET_TCPError
|
||
000036d8 g F .text 00000070 ethernetif_input
|
||
000008ca w .text 00000000 DMA1_Channel5_IRQHandler
|
||
000008ca w .text 00000000 EXTI4_IRQHandler
|
||
000008ca w .text 00000000 USB_LP_CAN1_RX0_IRQHandler
|
||
20007574 g O .bss 00000200 DMA_LineBuf1
|
||
200077d8 g O .bss 00000014 DNSInf
|
||
20007374 g O .bss 00000200 DMA_LineBuf0
|
||
00002994 g F .text 000000be SocketUdpSend
|
||
00007ea0 g F .text 0000009a udp_bind
|
||
00005728 g F .text 00000022 tcp_tmr
|
||
00003350 g F .text 00000118 etharp_query
|
||
00001480 g F .text 00000012 WCHNET_MainTask
|
||
000046f8 g F .text 00000018 lwip_init
|
||
00001e48 g F .text 00000032 WCHNET_Tx
|
||
00003468 g F .text 00000134 etharp_output
|
||
000006a8 g F .text 000000f8 SystemInit
|
||
000008ca w .text 00000000 RNG_IRQHandler
|
||
000019aa g F .text 000000c8 DVP_Init
|
||
20000cd4 g O .bss 00000070 DMARxDscrTab
|
||
000085ec w F .text 0000004a printchar
|
||
00002a52 g F .text 000000f0 SocketTcpSend
|
||
000008ca w .text 00000000 USB_HP_CAN1_TX_IRQHandler
|
||
00004d94 g F .text 00000012 pbuf_clen
|
||
00000000 g .init 00000000 _sinit
|
||
2000009c g O .bss 00000004 LastQueryPhyTime
|
||
000022a8 g F .text 0000001a ErrorEncode
|
||
0000803e g F .text 00000012 udp_send
|
||
000008ca w .text 00000000 DMA1_Channel3_IRQHandler
|
||
00001636 g F .text 00000018 ETH_Stop
|
||
00004f20 g F .text 00000006 raw_recv
|
||
00000484 g F .text 0000004a WCHNET_DataLoopback
|
||
200000fc g O .bss 00000008 frame
|
||
00008dc8 g O .text 00000010 MemNum
|
||
00000370 g F .text 00000008 ETH_IRQHandler
|
||
000008ca w .text 00000000 TIM1_UP_IRQHandler
|
||
000052b8 g F .text 000002ba tcp_slowtmr
|
||
00001da0 g F .text 00000096 WCHNET_Rx
|
||
00000f3a g F .text 0000001a RCC_ETH1GCLKConfig
|
||
20000028 g O .data 00000004 IPAddr
|
||
0000097a g F .text 00000032 DVP_Mode
|
||
000008ca w .text 00000000 WWDG_IRQHandler
|
||
000008ca w .text 00000000 USBHSWakeup_IRQHandler
|
||
20000098 g O .bss 00000002 LastPhyStat
|
||
000008ca w .text 00000000 DMA2_Channel11_IRQHandler
|
||
00000ba8 g F .text 00000032 ETH_Start
|
||
000008ca w .text 00000000 Ecall_U_Mode_Handler
|
||
00003622 g F .text 00000064 ethernetif_init
|
||
000008ca w .text 00000000 DMA2_Channel6_IRQHandler
|
||
00000378 g F .text 0000001e TIM2_IRQHandler
|
||
20020000 g .stack 00000000 _eusrstack
|
||
000001f0 g F .text 0000000c .hidden __riscv_save_2
|
||
000008ca w .text 00000000 SW_Handler
|
||
20000078 g O .bss 00000004 sys_tick_ms
|
||
00002746 g F .text 00000058 tcp_recved_socket
|
||
20003710 g O .bss 00000be8 MACTxBuf
|
||
200000ac g O .bss 00000004 pDMATxSet
|
||
00002d02 g F .text 0000000a WCHNET_GetPHYStatus
|
||
00001ef2 g F .text 0000001e IPCheckParaInit
|
||
000008ca w .text 00000000 TIM1_BRK_IRQHandler
|
||
00001140 g F .text 00000008 USART_SendData
|
||
20000140 g O .bss 00000004 tcp_tw_pcbs
|
||
000008ca w .text 00000000 DMA2_Channel10_IRQHandler
|
||
000008ca w .text 00000000 EXTI1_IRQHandler
|
||
00007c68 g F .text 00000238 udp_input
|
||
000001d6 g F .text 0000001a .hidden __riscv_save_5
|
||
200000cc g O .bss 00000004 DHCPfineTimer
|
||
200000dc g O .bss 00000004 TxTimer
|
||
0000196c g F .text 0000003e _write
|
||
20000078 g .data 00000000 _edata
|
||
200078d4 g .bss 00000000 _end
|
||
000037be g F .text 0000000e htons
|
||
200000d0 g O .bss 00000004 DNSTimer
|
||
00001526 g F .text 00000110 ETH_Configuration
|
||
200000c4 g O .bss 00000004 ArpCheckTime
|
||
00000f78 g F .text 000000ee TIM_TimeBaseInit
|
||
0000380a g F .text 0000004c ip_route
|
||
000008ca w .text 00000000 RTCAlarm_IRQHandler
|
||
00008e94 g .dlalign 00000000 _data_lma
|
||
000008ca w .text 00000000 TIM10_UP_IRQHandler
|
||
000008ca w .text 00000000 TIM9_TRG_COM_IRQHandler
|
||
000008ca w .text 00000000 UART7_IRQHandler
|
||
00004b40 g F .text 0000006e pbuf_header
|
||
000047d2 g F .text 000000ca mem_realloc
|
||
20000118 g O .bss 00000004 netif_default
|
||
00005572 g F .text 00000072 tcp_pcb_remove
|
||
000008ca w .text 00000000 USART2_IRQHandler
|
||
000008ca w .text 00000000 UART6_IRQHandler
|
||
000011be g F .text 0000014c ETH_RGMIIPinInit
|
||
00004dcc g F .text 00000014 pbuf_chain
|
||
200042f8 g O .bss 000004b0 Mem_ArpTable
|
||
0000142c g F .text 00000054 WCHNET_QueryPhySta
|
||
200000c0 g O .bss 00000004 ARPTimer
|
||
20000030 g O .data 00000002 desport
|
||
000057c6 g F .text 0000009a tcp_abandon
|
||
20000040 g O .data 00000004 arp_table
|
||
000020ba g F .text 000000da SocketUdpReceive
|
||
00000ae0 g F .text 00000014 ETH_MACReceptionCmd
|
||
00002266 g F .text 00000042 LwipTcpConnectedCallBack
|
||
000007a0 g F .text 0000012a SystemCoreClockUpdate
|
||
20007338 g O .bss 0000003c SocketInf
|
||
0000496c g F .text 00000050 memp_init
|
||
000056c6 g F .text 00000062 tcp_fasttmr
|
||
000028d6 g F .text 000000be SocketIPRawSend
|
||
00002512 g F .text 00000004 WCHNET_GetVer
|
||
000008ca w .text 00000000 I2C2_ER_IRQHandler
|
||
200000f0 g O .bss 00000001 phydata
|
||
000008ca w .text 00000000 DMA1_Channel2_IRQHandler
|
||
0000303c g F .text 0000005a etharp_ip_input
|
||
000001fc g F .text 00000024 .hidden __riscv_restore_12
|
||
000008ca w .text 00000000 TIM8_BRK_IRQHandler
|
||
000008cc w .text 00000000 handle_reset
|
||
000008ca w .text 00000000 CAN1_SCE_IRQHandler
|
||
2000016c g O .bss 00000b68 SocketRecvBuf
|
||
0000130a g F .text 00000122 ETH_PHYLink
|
||
000008ca w .text 00000000 FLASH_IRQHandler
|
||
000001f0 g F .text 0000000c .hidden __riscv_save_0
|
||
00002dd6 g F .text 0000000e QueryPingEnable
|
||
00005222 g F .text 00000028 tcp_seg_copy
|
||
000003ae g F .text 0000006e TIM2_Init
|
||
000008ca w .text 00000000 USART1_IRQHandler
|
||
00005260 g F .text 0000000a tcp_poll
|
||
000008ca w .text 00000000 SPI3_IRQHandler
|
||
000080d4 g F .text 00000024 udp_new
|
||
000008ca w .text 00000000 I2C1_ER_IRQHandler
|
||
20000054 g O .data 00000006 ethbroadcast
|
||
00008e5c g O .text 0000000d tcp_backoff
|
||
000011b2 g F .text 0000000c WCHNET_TimeIsr
|
||
00000214 g F .text 0000000c .hidden __riscv_restore_1
|
||
200077f8 g O .bss 00000044 NetInf
|
||
00001fb4 g F .text 0000003e LwipTCPSendCallBack
|
||
00002dfe g F .text 0000000c LwipArpCheck
|
||
00002d60 g F .text 00000076 WCHNET_SocketConnect
|
||
0000175e g F .text 00000032 WCHNET_RecProcess
|
||
000065b4 g F .text 00000a2e tcp_input
|
||
00005aca g F .text 00000032 RemoveTimeWaiTCP
|
||
00003856 g F .text 0000029a ip_input
|
||
2000005c g O .data 00000006 ethzero
|
||
000008ca w .text 00000000 USBWakeUp_IRQHandler
|
||
000023ce g F .text 00000144 WCHNET_ConfigLIB
|
||
00002de4 g F .text 0000001a LwipUnreachPort
|
||
200000e5 g O .bss 00000001 ARP_Retry_Period
|
||
000008ca w .text 00000000 DMA2_Channel3_IRQHandler
|
||
00001d52 g F .text 0000004e WCHNET_PhyStatus
|
||
00001b80 g F .text 000001be WCHNET_PeriodicHandle
|
||
00000af4 g F .text 00000042 ETH_DMATxDescChainInit
|
||
|
||
|
||
|
||
Disassembly of section .init:
|
||
|
||
00000000 <_sinit>:
|
||
_start():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:17
|
||
|
||
.section .init,"ax",@progbits
|
||
.global _start
|
||
.align 1
|
||
_start:
|
||
j handle_reset
|
||
0: 0cd0006f j 8cc <handle_reset>
|
||
|
||
Disassembly of section .vector:
|
||
|
||
00000004 <_vector_base>:
|
||
...
|
||
_vector_base():
|
||
c: 02c8 addi a0,sp,324
|
||
e: 0000 unimp
|
||
10: 02ca slli t0,t0,0x12
|
||
12: 0000 unimp
|
||
14: 0000 unimp
|
||
16: 0000 unimp
|
||
18: 08ca slli a7,a7,0x12
|
||
...
|
||
22: 0000 unimp
|
||
24: 08ca slli a7,a7,0x12
|
||
26: 0000 unimp
|
||
28: 08ca slli a7,a7,0x12
|
||
...
|
||
32: 0000 unimp
|
||
34: 08ca slli a7,a7,0x12
|
||
36: 0000 unimp
|
||
38: 0000 unimp
|
||
3a: 0000 unimp
|
||
3c: 08ca slli a7,a7,0x12
|
||
3e: 0000 unimp
|
||
40: 0000 unimp
|
||
42: 0000 unimp
|
||
44: 08ca slli a7,a7,0x12
|
||
46: 0000 unimp
|
||
48: 08ca slli a7,a7,0x12
|
||
4a: 0000 unimp
|
||
4c: 08ca slli a7,a7,0x12
|
||
4e: 0000 unimp
|
||
50: 08ca slli a7,a7,0x12
|
||
52: 0000 unimp
|
||
54: 08ca slli a7,a7,0x12
|
||
56: 0000 unimp
|
||
58: 08ca slli a7,a7,0x12
|
||
5a: 0000 unimp
|
||
5c: 08ca slli a7,a7,0x12
|
||
5e: 0000 unimp
|
||
60: 08ca slli a7,a7,0x12
|
||
62: 0000 unimp
|
||
64: 08ca slli a7,a7,0x12
|
||
66: 0000 unimp
|
||
68: 08ca slli a7,a7,0x12
|
||
6a: 0000 unimp
|
||
6c: 08ca slli a7,a7,0x12
|
||
6e: 0000 unimp
|
||
70: 08ca slli a7,a7,0x12
|
||
72: 0000 unimp
|
||
74: 08ca slli a7,a7,0x12
|
||
76: 0000 unimp
|
||
78: 08ca slli a7,a7,0x12
|
||
7a: 0000 unimp
|
||
7c: 08ca slli a7,a7,0x12
|
||
7e: 0000 unimp
|
||
80: 08ca slli a7,a7,0x12
|
||
82: 0000 unimp
|
||
84: 08ca slli a7,a7,0x12
|
||
86: 0000 unimp
|
||
88: 08ca slli a7,a7,0x12
|
||
8a: 0000 unimp
|
||
8c: 08ca slli a7,a7,0x12
|
||
8e: 0000 unimp
|
||
90: 08ca slli a7,a7,0x12
|
||
92: 0000 unimp
|
||
94: 08ca slli a7,a7,0x12
|
||
96: 0000 unimp
|
||
98: 08ca slli a7,a7,0x12
|
||
9a: 0000 unimp
|
||
9c: 08ca slli a7,a7,0x12
|
||
9e: 0000 unimp
|
||
a0: 031c addi a5,sp,384
|
||
a2: 0000 unimp
|
||
a4: 08ca slli a7,a7,0x12
|
||
a6: 0000 unimp
|
||
a8: 08ca slli a7,a7,0x12
|
||
aa: 0000 unimp
|
||
ac: 08ca slli a7,a7,0x12
|
||
ae: 0000 unimp
|
||
b0: 08ca slli a7,a7,0x12
|
||
b2: 0000 unimp
|
||
b4: 0378 addi a4,sp,396
|
||
b6: 0000 unimp
|
||
b8: 08ca slli a7,a7,0x12
|
||
ba: 0000 unimp
|
||
bc: 08ca slli a7,a7,0x12
|
||
be: 0000 unimp
|
||
c0: 08ca slli a7,a7,0x12
|
||
c2: 0000 unimp
|
||
c4: 08ca slli a7,a7,0x12
|
||
c6: 0000 unimp
|
||
c8: 08ca slli a7,a7,0x12
|
||
ca: 0000 unimp
|
||
cc: 08ca slli a7,a7,0x12
|
||
ce: 0000 unimp
|
||
d0: 08ca slli a7,a7,0x12
|
||
d2: 0000 unimp
|
||
d4: 08ca slli a7,a7,0x12
|
||
d6: 0000 unimp
|
||
d8: 08ca slli a7,a7,0x12
|
||
da: 0000 unimp
|
||
dc: 08ca slli a7,a7,0x12
|
||
de: 0000 unimp
|
||
e0: 08ca slli a7,a7,0x12
|
||
e2: 0000 unimp
|
||
e4: 08ca slli a7,a7,0x12
|
||
e6: 0000 unimp
|
||
e8: 08ca slli a7,a7,0x12
|
||
ea: 0000 unimp
|
||
ec: 08ca slli a7,a7,0x12
|
||
ee: 0000 unimp
|
||
f0: 08ca slli a7,a7,0x12
|
||
f2: 0000 unimp
|
||
f4: 08ca slli a7,a7,0x12
|
||
f6: 0000 unimp
|
||
f8: 08ca slli a7,a7,0x12
|
||
fa: 0000 unimp
|
||
fc: 08ca slli a7,a7,0x12
|
||
fe: 0000 unimp
|
||
100: 08ca slli a7,a7,0x12
|
||
102: 0000 unimp
|
||
104: 0000 unimp
|
||
106: 0000 unimp
|
||
108: 08ca slli a7,a7,0x12
|
||
10a: 0000 unimp
|
||
10c: 08ca slli a7,a7,0x12
|
||
10e: 0000 unimp
|
||
110: 08ca slli a7,a7,0x12
|
||
112: 0000 unimp
|
||
114: 08ca slli a7,a7,0x12
|
||
116: 0000 unimp
|
||
118: 08ca slli a7,a7,0x12
|
||
11a: 0000 unimp
|
||
11c: 08ca slli a7,a7,0x12
|
||
11e: 0000 unimp
|
||
120: 08ca slli a7,a7,0x12
|
||
122: 0000 unimp
|
||
124: 08ca slli a7,a7,0x12
|
||
126: 0000 unimp
|
||
128: 08ca slli a7,a7,0x12
|
||
12a: 0000 unimp
|
||
12c: 08ca slli a7,a7,0x12
|
||
12e: 0000 unimp
|
||
130: 08ca slli a7,a7,0x12
|
||
132: 0000 unimp
|
||
134: 08ca slli a7,a7,0x12
|
||
136: 0000 unimp
|
||
138: 0370 addi a2,sp,396
|
||
13a: 0000 unimp
|
||
13c: 08ca slli a7,a7,0x12
|
||
13e: 0000 unimp
|
||
140: 08ca slli a7,a7,0x12
|
||
142: 0000 unimp
|
||
144: 08ca slli a7,a7,0x12
|
||
146: 0000 unimp
|
||
148: 08ca slli a7,a7,0x12
|
||
14a: 0000 unimp
|
||
14c: 08ca slli a7,a7,0x12
|
||
14e: 0000 unimp
|
||
150: 08ca slli a7,a7,0x12
|
||
152: 0000 unimp
|
||
154: 08ca slli a7,a7,0x12
|
||
156: 0000 unimp
|
||
158: 08ca slli a7,a7,0x12
|
||
15a: 0000 unimp
|
||
15c: 1b14 addi a3,sp,432
|
||
15e: 0000 unimp
|
||
160: 08ca slli a7,a7,0x12
|
||
162: 0000 unimp
|
||
164: 08ca slli a7,a7,0x12
|
||
166: 0000 unimp
|
||
168: 08ca slli a7,a7,0x12
|
||
16a: 0000 unimp
|
||
16c: 08ca slli a7,a7,0x12
|
||
16e: 0000 unimp
|
||
170: 08ca slli a7,a7,0x12
|
||
172: 0000 unimp
|
||
174: 08ca slli a7,a7,0x12
|
||
176: 0000 unimp
|
||
178: 08ca slli a7,a7,0x12
|
||
17a: 0000 unimp
|
||
17c: 08ca slli a7,a7,0x12
|
||
17e: 0000 unimp
|
||
180: 08ca slli a7,a7,0x12
|
||
182: 0000 unimp
|
||
184: 08ca slli a7,a7,0x12
|
||
186: 0000 unimp
|
||
188: 08ca slli a7,a7,0x12
|
||
18a: 0000 unimp
|
||
18c: 08ca slli a7,a7,0x12
|
||
18e: 0000 unimp
|
||
190: 08ca slli a7,a7,0x12
|
||
192: 0000 unimp
|
||
194: 08ca slli a7,a7,0x12
|
||
196: 0000 unimp
|
||
198: 08ca slli a7,a7,0x12
|
||
19a: 0000 unimp
|
||
19c: 08ca slli a7,a7,0x12
|
||
19e: 0000 unimp
|
||
1a0: 08ca slli a7,a7,0x12
|
||
...
|
||
|
||
Disassembly of section .text:
|
||
|
||
000001c0 <__riscv_save_12>:
|
||
__riscv_save_12():
|
||
1c0: 7139 addi sp,sp,-64
|
||
1c2: 4301 li t1,0
|
||
1c4: c66e sw s11,12(sp)
|
||
1c6: a019 j 1cc <__riscv_save_10+0x4>
|
||
|
||
000001c8 <__riscv_save_10>:
|
||
1c8: 7139 addi sp,sp,-64
|
||
1ca: 5341 li t1,-16
|
||
1cc: c86a sw s10,16(sp)
|
||
1ce: ca66 sw s9,20(sp)
|
||
1d0: cc62 sw s8,24(sp)
|
||
1d2: ce5e sw s7,28(sp)
|
||
1d4: a019 j 1da <__riscv_save_4+0x4>
|
||
|
||
000001d6 <__riscv_save_4>:
|
||
1d6: 7139 addi sp,sp,-64
|
||
1d8: 5301 li t1,-32
|
||
1da: d05a sw s6,32(sp)
|
||
1dc: d256 sw s5,36(sp)
|
||
1de: d452 sw s4,40(sp)
|
||
1e0: d64e sw s3,44(sp)
|
||
1e2: d84a sw s2,48(sp)
|
||
1e4: da26 sw s1,52(sp)
|
||
1e6: dc22 sw s0,56(sp)
|
||
1e8: de06 sw ra,60(sp)
|
||
1ea: 40610133 sub sp,sp,t1
|
||
1ee: 8282 jr t0
|
||
|
||
000001f0 <__riscv_save_0>:
|
||
__riscv_save_1():
|
||
1f0: 1141 addi sp,sp,-16
|
||
1f2: c04a sw s2,0(sp)
|
||
1f4: c226 sw s1,4(sp)
|
||
1f6: c422 sw s0,8(sp)
|
||
1f8: c606 sw ra,12(sp)
|
||
1fa: 8282 jr t0
|
||
|
||
000001fc <__riscv_restore_12>:
|
||
__riscv_restore_12():
|
||
1fc: 4db2 lw s11,12(sp)
|
||
1fe: 0141 addi sp,sp,16
|
||
|
||
00000200 <__riscv_restore_10>:
|
||
200: 4d02 lw s10,0(sp)
|
||
202: 4c92 lw s9,4(sp)
|
||
204: 4c22 lw s8,8(sp)
|
||
206: 4bb2 lw s7,12(sp)
|
||
208: 0141 addi sp,sp,16
|
||
|
||
0000020a <__riscv_restore_4>:
|
||
20a: 4b02 lw s6,0(sp)
|
||
20c: 4a92 lw s5,4(sp)
|
||
20e: 4a22 lw s4,8(sp)
|
||
210: 49b2 lw s3,12(sp)
|
||
212: 0141 addi sp,sp,16
|
||
|
||
00000214 <__riscv_restore_0>:
|
||
214: 4902 lw s2,0(sp)
|
||
216: 4492 lw s1,4(sp)
|
||
218: 4422 lw s0,8(sp)
|
||
21a: 40b2 lw ra,12(sp)
|
||
21c: 0141 addi sp,sp,16
|
||
21e: 8082 ret
|
||
|
||
00000220 <memset>:
|
||
memset():
|
||
220: 433d li t1,15
|
||
222: 872a mv a4,a0
|
||
224: 02c37363 bgeu t1,a2,24a <memset+0x2a>
|
||
228: 00f77793 andi a5,a4,15
|
||
22c: efbd bnez a5,2aa <memset+0x8a>
|
||
22e: e5ad bnez a1,298 <memset+0x78>
|
||
230: ff067693 andi a3,a2,-16
|
||
234: 8a3d andi a2,a2,15
|
||
236: 96ba add a3,a3,a4
|
||
238: c30c sw a1,0(a4)
|
||
23a: c34c sw a1,4(a4)
|
||
23c: c70c sw a1,8(a4)
|
||
23e: c74c sw a1,12(a4)
|
||
240: 0741 addi a4,a4,16
|
||
242: fed76be3 bltu a4,a3,238 <memset+0x18>
|
||
246: e211 bnez a2,24a <memset+0x2a>
|
||
248: 8082 ret
|
||
24a: 40c306b3 sub a3,t1,a2
|
||
24e: 068a slli a3,a3,0x2
|
||
250: 00000297 auipc t0,0x0
|
||
254: 9696 add a3,a3,t0
|
||
256: 00a68067 jr 10(a3)
|
||
25a: 00b70723 sb a1,14(a4)
|
||
25e: 00b706a3 sb a1,13(a4)
|
||
262: 00b70623 sb a1,12(a4)
|
||
266: 00b705a3 sb a1,11(a4)
|
||
26a: 00b70523 sb a1,10(a4)
|
||
26e: 00b704a3 sb a1,9(a4)
|
||
272: 00b70423 sb a1,8(a4)
|
||
276: 00b703a3 sb a1,7(a4)
|
||
27a: 00b70323 sb a1,6(a4)
|
||
27e: 00b702a3 sb a1,5(a4)
|
||
282: 00b70223 sb a1,4(a4)
|
||
286: 00b701a3 sb a1,3(a4)
|
||
28a: 00b70123 sb a1,2(a4)
|
||
28e: 00b700a3 sb a1,1(a4)
|
||
292: 00b70023 sb a1,0(a4)
|
||
296: 8082 ret
|
||
298: 0ff5f593 andi a1,a1,255
|
||
29c: 00859693 slli a3,a1,0x8
|
||
2a0: 8dd5 or a1,a1,a3
|
||
2a2: 01059693 slli a3,a1,0x10
|
||
2a6: 8dd5 or a1,a1,a3
|
||
2a8: b761 j 230 <memset+0x10>
|
||
2aa: 00279693 slli a3,a5,0x2
|
||
2ae: 00000297 auipc t0,0x0
|
||
2b2: 9696 add a3,a3,t0
|
||
2b4: 8286 mv t0,ra
|
||
2b6: fa8680e7 jalr -88(a3)
|
||
2ba: 8096 mv ra,t0
|
||
2bc: 17c1 addi a5,a5,-16
|
||
2be: 8f1d sub a4,a4,a5
|
||
2c0: 963e add a2,a2,a5
|
||
2c2: f8c374e3 bgeu t1,a2,24a <memset+0x2a>
|
||
2c6: b7a5 j 22e <memset+0xe>
|
||
|
||
000002c8 <NMI_Handler>:
|
||
NMI_Handler():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:38 (discriminator 1)
|
||
*/
|
||
void NMI_Handler(void)
|
||
{
|
||
while (1)
|
||
{
|
||
}
|
||
2c8: a001 j 2c8 <NMI_Handler>
|
||
|
||
000002ca <HardFault_Handler>:
|
||
HardFault_Handler():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:50
|
||
*
|
||
* @return none
|
||
*/
|
||
void HardFault_Handler(void)
|
||
{
|
||
printf("HardFault_Handler\r\n");
|
||
2ca: 00009537 lui a0,0x9
|
||
2ce: c7450513 addi a0,a0,-908 # 8c74 <memcpy+0xbe>
|
||
2d2: 083080ef jal ra,8b54 <puts>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:51
|
||
printf("mepc :%08x\r\n", __get_MEPC());
|
||
2d6: 099010ef jal ra,1b6e <__get_MEPC>
|
||
2da: 85aa mv a1,a0
|
||
2dc: 00009537 lui a0,0x9
|
||
2e0: c8850513 addi a0,a0,-888 # 8c88 <memcpy+0xd2>
|
||
2e4: 04d080ef jal ra,8b30 <printf>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:52
|
||
printf("mcause:%08x\r\n", __get_MCAUSE());
|
||
2e8: 08d010ef jal ra,1b74 <__get_MCAUSE>
|
||
2ec: 85aa mv a1,a0
|
||
2ee: 00009537 lui a0,0x9
|
||
2f2: c9850513 addi a0,a0,-872 # 8c98 <memcpy+0xe2>
|
||
2f6: 03b080ef jal ra,8b30 <printf>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:53
|
||
printf("mtval :%08x\r\n", __get_MTVAL());
|
||
2fa: 081010ef jal ra,1b7a <__get_MTVAL>
|
||
2fe: 85aa mv a1,a0
|
||
300: 00009537 lui a0,0x9
|
||
304: ca850513 addi a0,a0,-856 # 8ca8 <memcpy+0xf2>
|
||
308: 029080ef jal ra,8b30 <printf>
|
||
NVIC_SystemReset():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\Core/core_riscv.h:382
|
||
*
|
||
* @return none
|
||
*/
|
||
__attribute__( ( always_inline ) ) RV_STATIC_INLINE void NVIC_SystemReset(void)
|
||
{
|
||
NVIC->CFGR = NVIC_KEY3|(1<<7);
|
||
30c: beef07b7 lui a5,0xbeef0
|
||
310: e000e737 lui a4,0xe000e
|
||
314: 08078793 addi a5,a5,128 # beef0080 <_eusrstack+0x9eed0080>
|
||
318: c73c sw a5,72(a4)
|
||
HardFault_Handler():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:55 (discriminator 1)
|
||
NVIC_SystemReset();
|
||
while(1);
|
||
31a: a001 j 31a <HardFault_Handler+0x50>
|
||
|
||
0000031c <EXTI9_5_IRQHandler>:
|
||
EXTI9_5_IRQHandler():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:66
|
||
* @brief This function handles GPIO exception.
|
||
*
|
||
* @return none
|
||
*/
|
||
void EXTI9_5_IRQHandler(void)
|
||
{
|
||
31c: 7139 addi sp,sp,-64
|
||
31e: de06 sw ra,60(sp)
|
||
320: dc16 sw t0,56(sp)
|
||
322: da1a sw t1,52(sp)
|
||
324: d81e sw t2,48(sp)
|
||
326: d62a sw a0,44(sp)
|
||
328: d42e sw a1,40(sp)
|
||
32a: d232 sw a2,36(sp)
|
||
32c: d036 sw a3,32(sp)
|
||
32e: ce3a sw a4,28(sp)
|
||
330: cc3e sw a5,24(sp)
|
||
332: ca42 sw a6,20(sp)
|
||
334: c846 sw a7,16(sp)
|
||
336: c672 sw t3,12(sp)
|
||
338: c476 sw t4,8(sp)
|
||
33a: c27a sw t5,4(sp)
|
||
33c: c07e sw t6,0(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:67
|
||
ETH_PHYLink( );
|
||
33e: 7cd000ef jal ra,130a <ETH_PHYLink>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:68
|
||
EXTI_ClearITPendingBit(EXTI_Line7); /* Clear Flag */
|
||
342: 08000513 li a0,128
|
||
346: 0e1000ef jal ra,c26 <EXTI_ClearITPendingBit>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:69
|
||
}
|
||
34a: 50f2 lw ra,60(sp)
|
||
34c: 52e2 lw t0,56(sp)
|
||
34e: 5352 lw t1,52(sp)
|
||
350: 53c2 lw t2,48(sp)
|
||
352: 5532 lw a0,44(sp)
|
||
354: 55a2 lw a1,40(sp)
|
||
356: 5612 lw a2,36(sp)
|
||
358: 5682 lw a3,32(sp)
|
||
35a: 4772 lw a4,28(sp)
|
||
35c: 47e2 lw a5,24(sp)
|
||
35e: 4852 lw a6,20(sp)
|
||
360: 48c2 lw a7,16(sp)
|
||
362: 4e32 lw t3,12(sp)
|
||
364: 4ea2 lw t4,8(sp)
|
||
366: 4f12 lw t5,4(sp)
|
||
368: 4f82 lw t6,0(sp)
|
||
36a: 6121 addi sp,sp,64
|
||
36c: 30200073 mret
|
||
|
||
00000370 <ETH_IRQHandler>:
|
||
ETH_IRQHandler():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:80
|
||
*
|
||
* @return none
|
||
*/
|
||
void ETH_IRQHandler(void)
|
||
{
|
||
WCHNET_ETHIsr();
|
||
370: 420010ef jal ra,1790 <WCHNET_ETHIsr>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:81
|
||
}
|
||
374: 30200073 mret
|
||
|
||
00000378 <TIM2_IRQHandler>:
|
||
TIM2_IRQHandler():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:92
|
||
*
|
||
* @return none
|
||
*/
|
||
void TIM2_IRQHandler(void)
|
||
{
|
||
sys_tick_ms += WCHNETTIMERPERIOD; /* 累加实际间隔毫秒数 */
|
||
378: 85818793 addi a5,gp,-1960 # 20000078 <_edata>
|
||
37c: 4398 lw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:93
|
||
WCHNET_TimeIsr(WCHNETTIMERPERIOD);
|
||
37e: 4529 li a0,10
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:92
|
||
sys_tick_ms += WCHNETTIMERPERIOD; /* 累加实际间隔毫秒数 */
|
||
380: 0729 addi a4,a4,10
|
||
382: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:93
|
||
WCHNET_TimeIsr(WCHNETTIMERPERIOD);
|
||
384: 62f000ef jal ra,11b2 <WCHNET_TimeIsr>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:94
|
||
TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
|
||
388: 4585 li a1,1
|
||
38a: 40000537 lui a0,0x40000
|
||
38e: 503000ef jal ra,1090 <TIM_ClearITPendingBit>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:95
|
||
}
|
||
392: 30200073 mret
|
||
|
||
00000396 <mStopIfError>:
|
||
mStopIfError():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:22
|
||
u8 socket[WCHNET_MAX_SOCKET_NUM];
|
||
u8 SocketRecvBuf[WCHNET_MAX_SOCKET_NUM][RECE_BUF_LEN];
|
||
|
||
void mStopIfError(u8 iError)
|
||
{
|
||
if (iError == WCHNET_ERR_SUCCESS) return;
|
||
396: c919 beqz a0,3ac <mStopIfError+0x16>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:21
|
||
{
|
||
398: e59ff2ef jal t0,1f0 <__riscv_save_0>
|
||
39c: 85aa mv a1,a0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:23
|
||
printf("Error: %02X\r\n", (u16)iError);
|
||
39e: 00009537 lui a0,0x9
|
||
3a2: d5050513 addi a0,a0,-688 # 8d50 <memcpy+0x19a>
|
||
3a6: 78a080ef jal ra,8b30 <printf>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:24
|
||
}
|
||
3aa: b5ad j 214 <__riscv_restore_0>
|
||
3ac: 8082 ret
|
||
|
||
000003ae <TIM2_Init>:
|
||
TIM2_Init():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:27
|
||
|
||
void TIM2_Init(void)
|
||
{
|
||
3ae: e43ff2ef jal t0,1f0 <__riscv_save_0>
|
||
3b2: 1141 addi sp,sp,-16
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:29
|
||
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure = {0};
|
||
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
|
||
3b4: 4585 li a1,1
|
||
3b6: 4505 li a0,1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:28
|
||
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure = {0};
|
||
3b8: c202 sw zero,4(sp)
|
||
3ba: c402 sw zero,8(sp)
|
||
3bc: 00011623 sh zero,12(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:29
|
||
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
|
||
3c0: 33f000ef jal ra,efe <RCC_APB1PeriphClockCmd>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:31
|
||
TIM_TimeBaseStructure.TIM_Period = WCHNETTIMERPERIOD * 1000 - 1;
|
||
TIM_TimeBaseStructure.TIM_Prescaler = SystemCoreClock / 1000000 - 1;
|
||
3c4: 8141a783 lw a5,-2028(gp) # 20000034 <SystemCoreClock>
|
||
3c8: 000f4737 lui a4,0xf4
|
||
3cc: 24070713 addi a4,a4,576 # f4240 <_data_lma+0xeb3ac>
|
||
3d0: 02e7d7b3 divu a5,a5,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:34
|
||
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
|
||
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
|
||
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
|
||
3d4: 004c addi a1,sp,4
|
||
3d6: 40000537 lui a0,0x40000
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:33
|
||
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
|
||
3da: 00011323 sh zero,6(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:31
|
||
TIM_TimeBaseStructure.TIM_Prescaler = SystemCoreClock / 1000000 - 1;
|
||
3de: 17fd addi a5,a5,-1
|
||
3e0: 827c sh a5,4(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:30
|
||
TIM_TimeBaseStructure.TIM_Period = WCHNETTIMERPERIOD * 1000 - 1;
|
||
3e2: 6789 lui a5,0x2
|
||
3e4: 70f78793 addi a5,a5,1807 # 270f <WCHNET_SocketCreat+0x19b>
|
||
3e8: c43e sw a5,8(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:34
|
||
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
|
||
3ea: 38f000ef jal ra,f78 <TIM_TimeBaseInit>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:35
|
||
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
|
||
3ee: 4605 li a2,1
|
||
3f0: 4585 li a1,1
|
||
3f2: 40000537 lui a0,0x40000
|
||
3f6: 489000ef jal ra,107e <TIM_ITConfig>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:36
|
||
TIM_Cmd(TIM2, ENABLE);
|
||
3fa: 4585 li a1,1
|
||
3fc: 40000537 lui a0,0x40000
|
||
400: 467000ef jal ra,1066 <TIM_Cmd>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:37
|
||
TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
|
||
404: 4585 li a1,1
|
||
406: 40000537 lui a0,0x40000
|
||
40a: 487000ef jal ra,1090 <TIM_ClearITPendingBit>
|
||
NVIC_EnableIRQ():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\Core/core_riscv.h:170
|
||
NVIC->IENR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F));
|
||
40e: e000e7b7 lui a5,0xe000e
|
||
412: 6705 lui a4,0x1
|
||
414: 10e7a223 sw a4,260(a5) # e000e104 <_eusrstack+0xbffee104>
|
||
TIM2_Init():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:39
|
||
NVIC_EnableIRQ(TIM2_IRQn);
|
||
}
|
||
418: 0141 addi sp,sp,16
|
||
41a: bbed j 214 <__riscv_restore_0>
|
||
|
||
0000041c <WCHNET_CreateTcpSocket>:
|
||
WCHNET_CreateTcpSocket():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:42
|
||
|
||
void WCHNET_CreateTcpSocket(void)
|
||
{
|
||
41c: dd5ff2ef jal t0,1f0 <__riscv_save_0>
|
||
420: 7139 addi sp,sp,-64
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:45
|
||
u8 i;
|
||
SOCK_INF TmpSocketInf;
|
||
memset((void *)&TmpSocketInf, 0, sizeof(SOCK_INF));
|
||
422: 03c00613 li a2,60
|
||
426: 4581 li a1,0
|
||
428: 0048 addi a0,sp,4
|
||
42a: 3bdd jal 220 <memset>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:46
|
||
memcpy((void *)TmpSocketInf.IPAddr, DESIP, 4);
|
||
42c: 200007b7 lui a5,0x20000
|
||
430: 0207a783 lw a5,32(a5) # 20000020 <DESIP>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:51
|
||
TmpSocketInf.DesPort = desport;
|
||
TmpSocketInf.SourPort = srcport++;
|
||
TmpSocketInf.ProtoType = PROTO_TYPE_TCP;
|
||
TmpSocketInf.RecvBufLen = RECE_BUF_LEN;
|
||
i = WCHNET_SocketCreat(&SocketId, &TmpSocketInf);
|
||
434: 86218413 addi s0,gp,-1950 # 20000082 <SocketId>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:46
|
||
memcpy((void *)TmpSocketInf.IPAddr, DESIP, 4);
|
||
438: d83e sw a5,48(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:47
|
||
TmpSocketInf.DesPort = desport;
|
||
43a: 8101d783 lhu a5,-2032(gp) # 20000030 <desport>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:51
|
||
i = WCHNET_SocketCreat(&SocketId, &TmpSocketInf);
|
||
43e: 004c addi a1,sp,4
|
||
440: 86218513 addi a0,gp,-1950 # 20000082 <SocketId>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:47
|
||
TmpSocketInf.DesPort = desport;
|
||
444: d43e sw a5,40(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:48
|
||
TmpSocketInf.SourPort = srcport++;
|
||
446: 81218793 addi a5,gp,-2030 # 20000032 <srcport>
|
||
44a: 239a lhu a4,0(a5)
|
||
44c: 00170693 addi a3,a4,1 # 1001 <TIM_TimeBaseInit+0x89>
|
||
450: a396 sh a3,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:49
|
||
TmpSocketInf.ProtoType = PROTO_TYPE_TCP;
|
||
452: 478d li a5,3
|
||
454: d03e sw a5,32(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:50
|
||
TmpSocketInf.RecvBufLen = RECE_BUF_LEN;
|
||
456: 6785 lui a5,0x1
|
||
458: b6878793 addi a5,a5,-1176 # b68 <ETH_DMARxDescChainInit+0x32>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:48
|
||
TmpSocketInf.SourPort = srcport++;
|
||
45c: d63a sw a4,44(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:50
|
||
TmpSocketInf.RecvBufLen = RECE_BUF_LEN;
|
||
45e: c83e sw a5,16(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:51
|
||
i = WCHNET_SocketCreat(&SocketId, &TmpSocketInf);
|
||
460: 114020ef jal ra,2574 <WCHNET_SocketCreat>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:52
|
||
printf("SocketId %d\r\n", SocketId);
|
||
464: 200c lbu a1,0(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:51
|
||
i = WCHNET_SocketCreat(&SocketId, &TmpSocketInf);
|
||
466: 84aa mv s1,a0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:52
|
||
printf("SocketId %d\r\n", SocketId);
|
||
468: 00009537 lui a0,0x9
|
||
46c: cb850513 addi a0,a0,-840 # 8cb8 <memcpy+0x102>
|
||
470: 6c0080ef jal ra,8b30 <printf>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:53
|
||
mStopIfError(i);
|
||
474: 8526 mv a0,s1
|
||
476: 3705 jal 396 <mStopIfError>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:54
|
||
i = WCHNET_SocketConnect(SocketId);
|
||
478: 2008 lbu a0,0(s0)
|
||
47a: 0e7020ef jal ra,2d60 <WCHNET_SocketConnect>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:55
|
||
mStopIfError(i);
|
||
47e: 3f21 jal 396 <mStopIfError>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:56
|
||
}
|
||
480: 6121 addi sp,sp,64
|
||
482: bb49 j 214 <__riscv_restore_0>
|
||
|
||
00000484 <WCHNET_DataLoopback>:
|
||
WCHNET_DataLoopback():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:60
|
||
|
||
/* PC -> MCU 收到数据后回环,同时可在此处理PC下发的指令 */
|
||
void WCHNET_DataLoopback(u8 id)
|
||
{
|
||
484: d6dff2ef jal t0,1f0 <__riscv_save_0>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:62
|
||
u32 len;
|
||
u32 endAddr = SocketInf[id].RecvStartPoint + SocketInf[id].RecvBufLen;
|
||
488: 03c00713 li a4,60
|
||
48c: 02e50733 mul a4,a0,a4
|
||
490: 200077b7 lui a5,0x20007
|
||
494: 33878793 addi a5,a5,824 # 20007338 <SocketInf>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:60
|
||
{
|
||
498: 1141 addi sp,sp,-16
|
||
49a: 842a mv s0,a0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:62
|
||
u32 endAddr = SocketInf[id].RecvStartPoint + SocketInf[id].RecvBufLen;
|
||
49c: 97ba add a5,a5,a4
|
||
49e: 47d4 lw a3,12(a5)
|
||
4a0: 4798 lw a4,8(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:64
|
||
|
||
if ((SocketInf[id].RecvReadPoint + SocketInf[id].RecvRemLen) > endAddr)
|
||
4a2: 4bcc lw a1,20(a5)
|
||
4a4: 4f9c lw a5,24(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:62
|
||
u32 endAddr = SocketInf[id].RecvStartPoint + SocketInf[id].RecvBufLen;
|
||
4a6: 9736 add a4,a4,a3
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:64
|
||
if ((SocketInf[id].RecvReadPoint + SocketInf[id].RecvRemLen) > endAddr)
|
||
4a8: 00f586b3 add a3,a1,a5
|
||
4ac: 00d77463 bgeu a4,a3,4b4 <WCHNET_DataLoopback+0x30>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:65
|
||
len = endAddr - SocketInf[id].RecvReadPoint;
|
||
4b0: 40b707b3 sub a5,a4,a1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:69
|
||
else
|
||
len = SocketInf[id].RecvRemLen;
|
||
|
||
if (WCHNET_SocketSend(id, (u8 *)SocketInf[id].RecvReadPoint, &len) == WCHNET_ERR_SUCCESS)
|
||
4b4: 0070 addi a2,sp,12
|
||
4b6: 8522 mv a0,s0
|
||
4b8: c63e sw a5,12(sp)
|
||
4ba: 688020ef jal ra,2b42 <WCHNET_SocketSend>
|
||
4be: e511 bnez a0,4ca <WCHNET_DataLoopback+0x46>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:70
|
||
WCHNET_SocketRecv(id, NULL, &len);
|
||
4c0: 0070 addi a2,sp,12
|
||
4c2: 4581 li a1,0
|
||
4c4: 8522 mv a0,s0
|
||
4c6: 328020ef jal ra,27ee <WCHNET_SocketRecv>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:71
|
||
}
|
||
4ca: 0141 addi sp,sp,16
|
||
4cc: b3a1 j 214 <__riscv_restore_0>
|
||
|
||
000004ce <WCHNET_HandleSockInt>:
|
||
WCHNET_HandleSockInt():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:74
|
||
|
||
void WCHNET_HandleSockInt(u8 socketid, u8 intstat)
|
||
{
|
||
4ce: d23ff2ef jal t0,1f0 <__riscv_save_0>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:77
|
||
u8 i;
|
||
|
||
if (intstat & SINT_STAT_RECV)
|
||
4d2: 0045f793 andi a5,a1,4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:74
|
||
{
|
||
4d6: 842a mv s0,a0
|
||
4d8: 84ae mv s1,a1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:77
|
||
if (intstat & SINT_STAT_RECV)
|
||
4da: c391 beqz a5,4de <WCHNET_HandleSockInt+0x10>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:79
|
||
{
|
||
WCHNET_DataLoopback(socketid);
|
||
4dc: 3765 jal 484 <WCHNET_DataLoopback>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:81
|
||
}
|
||
if (intstat & SINT_STAT_CONNECT)
|
||
4de: 0084f793 andi a5,s1,8
|
||
4e2: c3a9 beqz a5,524 <WCHNET_HandleSockInt+0x56>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:84
|
||
{
|
||
#if KEEPALIVE_ENABLE
|
||
WCHNET_SocketSetKeepLive(socketid, ENABLE);
|
||
4e4: 4585 li a1,1
|
||
4e6: 8522 mv a0,s0
|
||
4e8: 025020ef jal ra,2d0c <WCHNET_SocketSetKeepLive>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:86
|
||
#endif
|
||
WCHNET_ModifyRecvBuf(socketid, (u32)SocketRecvBuf[socketid], RECE_BUF_LEN);
|
||
4ec: 6605 lui a2,0x1
|
||
4ee: b6860613 addi a2,a2,-1176 # b68 <ETH_DMARxDescChainInit+0x32>
|
||
4f2: 02c405b3 mul a1,s0,a2
|
||
4f6: 200007b7 lui a5,0x20000
|
||
4fa: 16c78793 addi a5,a5,364 # 2000016c <SocketRecvBuf>
|
||
4fe: 8522 mv a0,s0
|
||
500: 95be add a1,a1,a5
|
||
502: 29c020ef jal ra,279e <WCHNET_ModifyRecvBuf>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:88
|
||
for (i = 0; i < WCHNET_MAX_SOCKET_NUM; i++) {
|
||
if (socket[i] == 0xff) { socket[i] = socketid; break; }
|
||
506: 86418793 addi a5,gp,-1948 # 20000084 <socket>
|
||
50a: 2394 lbu a3,0(a5)
|
||
50c: 0ff00713 li a4,255
|
||
510: 00e69363 bne a3,a4,516 <WCHNET_HandleSockInt+0x48>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:88 (discriminator 1)
|
||
514: a380 sb s0,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:90
|
||
}
|
||
printf("TCP Connect Success, socket id: %d\r\n", socketid);
|
||
516: 00009537 lui a0,0x9
|
||
51a: 85a2 mv a1,s0
|
||
51c: d0850513 addi a0,a0,-760 # 8d08 <memcpy+0x152>
|
||
520: 610080ef jal ra,8b30 <printf>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:92
|
||
}
|
||
if (intstat & SINT_STAT_DISCONNECT)
|
||
524: 0104f793 andi a5,s1,16
|
||
528: cf91 beqz a5,544 <WCHNET_HandleSockInt+0x76>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:95
|
||
{
|
||
for (i = 0; i < WCHNET_MAX_SOCKET_NUM; i++) {
|
||
if (socket[i] == socketid) { socket[i] = 0xff; break; }
|
||
52a: 86418793 addi a5,gp,-1948 # 20000084 <socket>
|
||
52e: 2398 lbu a4,0(a5)
|
||
530: 00871463 bne a4,s0,538 <WCHNET_HandleSockInt+0x6a>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:95 (discriminator 1)
|
||
534: 577d li a4,-1
|
||
536: a398 sb a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:97
|
||
}
|
||
printf("TCP Disconnect\r\n");
|
||
538: 00009537 lui a0,0x9
|
||
53c: d3050513 addi a0,a0,-720 # 8d30 <memcpy+0x17a>
|
||
540: 614080ef jal ra,8b54 <puts>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:99
|
||
}
|
||
if (intstat & SINT_STAT_TIM_OUT)
|
||
544: 0404f493 andi s1,s1,64
|
||
548: cc99 beqz s1,566 <WCHNET_HandleSockInt+0x98>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:102
|
||
{
|
||
for (i = 0; i < WCHNET_MAX_SOCKET_NUM; i++) {
|
||
if (socket[i] == socketid) { socket[i] = 0xff; break; }
|
||
54a: 86418793 addi a5,gp,-1948 # 20000084 <socket>
|
||
54e: 2398 lbu a4,0(a5)
|
||
550: 00871463 bne a4,s0,558 <WCHNET_HandleSockInt+0x8a>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:102 (discriminator 1)
|
||
554: 577d li a4,-1
|
||
556: a398 sb a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:104
|
||
}
|
||
printf("TCP Timeout\r\n");
|
||
558: 00009537 lui a0,0x9
|
||
55c: d4050513 addi a0,a0,-704 # 8d40 <memcpy+0x18a>
|
||
560: 5f4080ef jal ra,8b54 <puts>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:105
|
||
WCHNET_CreateTcpSocket();
|
||
564: 3d65 jal 41c <WCHNET_CreateTcpSocket>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:107
|
||
}
|
||
}
|
||
566: b17d j 214 <__riscv_restore_0>
|
||
|
||
00000568 <WCHNET_HandleGlobalInt>:
|
||
WCHNET_HandleGlobalInt():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:110
|
||
|
||
void WCHNET_HandleGlobalInt(void)
|
||
{
|
||
568: c89ff2ef jal t0,1f0 <__riscv_save_0>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:114
|
||
u8 intstat;
|
||
u16 i;
|
||
u8 socketint;
|
||
intstat = WCHNET_GetGlobalInt();
|
||
56c: 75a020ef jal ra,2cc6 <WCHNET_GetGlobalInt>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:115
|
||
if (intstat & GINT_STAT_UNREACH) printf("GINT_STAT_UNREACH\r\n");
|
||
570: 00157793 andi a5,a0,1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:114
|
||
intstat = WCHNET_GetGlobalInt();
|
||
574: 842a mv s0,a0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:115
|
||
if (intstat & GINT_STAT_UNREACH) printf("GINT_STAT_UNREACH\r\n");
|
||
576: c799 beqz a5,584 <WCHNET_HandleGlobalInt+0x1c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:115 (discriminator 1)
|
||
578: 00009537 lui a0,0x9
|
||
57c: cc850513 addi a0,a0,-824 # 8cc8 <memcpy+0x112>
|
||
580: 5d4080ef jal ra,8b54 <puts>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:116
|
||
if (intstat & GINT_STAT_IP_CONFLI) printf("GINT_STAT_IP_CONFLI\r\n");
|
||
584: 00247793 andi a5,s0,2
|
||
588: c799 beqz a5,596 <WCHNET_HandleGlobalInt+0x2e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:116 (discriminator 1)
|
||
58a: 00009537 lui a0,0x9
|
||
58e: cdc50513 addi a0,a0,-804 # 8cdc <memcpy+0x126>
|
||
592: 5c2080ef jal ra,8b54 <puts>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:117
|
||
if (intstat & GINT_STAT_PHY_CHANGE) {
|
||
596: 00447793 andi a5,s0,4
|
||
59a: cb99 beqz a5,5b0 <WCHNET_HandleGlobalInt+0x48>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:118
|
||
if (WCHNET_GetPHYStatus() & PHY_Linked_Status)
|
||
59c: 766020ef jal ra,2d02 <WCHNET_GetPHYStatus>
|
||
5a0: 8911 andi a0,a0,4
|
||
5a2: c519 beqz a0,5b0 <WCHNET_HandleGlobalInt+0x48>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:119
|
||
printf("PHY Link Success\r\n");
|
||
5a4: 00009537 lui a0,0x9
|
||
5a8: cf450513 addi a0,a0,-780 # 8cf4 <memcpy+0x13e>
|
||
5ac: 5a8080ef jal ra,8b54 <puts>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:121
|
||
}
|
||
if (intstat & GINT_STAT_SOCKET) {
|
||
5b0: 8841 andi s0,s0,16
|
||
5b2: e011 bnez s0,5b6 <WCHNET_HandleGlobalInt+0x4e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:127
|
||
for (i = 0; i < WCHNET_MAX_SOCKET_NUM; i++) {
|
||
socketint = WCHNET_GetSocketInt(i);
|
||
if (socketint) WCHNET_HandleSockInt(i, socketint);
|
||
}
|
||
}
|
||
}
|
||
5b4: b185 j 214 <__riscv_restore_0>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:123
|
||
socketint = WCHNET_GetSocketInt(i);
|
||
5b6: 4501 li a0,0
|
||
5b8: 720020ef jal ra,2cd8 <WCHNET_GetSocketInt>
|
||
5bc: 85aa mv a1,a0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:124
|
||
if (socketint) WCHNET_HandleSockInt(i, socketint);
|
||
5be: d97d beqz a0,5b4 <WCHNET_HandleGlobalInt+0x4c>
|
||
5c0: 4501 li a0,0
|
||
5c2: 3731 jal 4ce <WCHNET_HandleSockInt>
|
||
5c4: bfc5 j 5b4 <WCHNET_HandleGlobalInt+0x4c>
|
||
|
||
000005c6 <main>:
|
||
main():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:130
|
||
|
||
int main(void)
|
||
{
|
||
5c6: c11ff2ef jal t0,1d6 <__riscv_save_4>
|
||
5ca: 1141 addi sp,sp,-16
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:132
|
||
u8 i;
|
||
SystemCoreClockUpdate();
|
||
5cc: 2ad1 jal 7a0 <SystemCoreClockUpdate>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:133
|
||
Delay_Init();
|
||
5ce: 2e0010ef jal ra,18ae <Delay_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:134
|
||
USART_Printf_Init(115200);
|
||
5d2: 6571 lui a0,0x1c
|
||
5d4: 20050513 addi a0,a0,512 # 1c200 <_data_lma+0x1336c>
|
||
5d8: 332010ef jal ra,190a <USART_Printf_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:135
|
||
printf("TCPClient Test\r\nSystemClk:%d\r\n", SystemCoreClock);
|
||
5dc: 8141a583 lw a1,-2028(gp) # 20000034 <SystemCoreClock>
|
||
5e0: 00009537 lui a0,0x9
|
||
5e4: d6050513 addi a0,a0,-672 # 8d60 <memcpy+0x1aa>
|
||
5e8: 548080ef jal ra,8b30 <printf>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:136
|
||
printf("net version:%x\n", WCHNET_GetVer());
|
||
5ec: 727010ef jal ra,2512 <WCHNET_GetVer>
|
||
5f0: 85aa mv a1,a0
|
||
5f2: 00009537 lui a0,0x9
|
||
5f6: d8050513 addi a0,a0,-640 # 8d80 <memcpy+0x1ca>
|
||
5fa: 536080ef jal ra,8b30 <printf>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:137
|
||
if (WCHNET_LIB_VER != WCHNET_GetVer()) printf("version error.\n");
|
||
5fe: 715010ef jal ra,2512 <WCHNET_GetVer>
|
||
602: 47ed li a5,27
|
||
604: 00f50863 beq a0,a5,614 <main+0x4e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:137 (discriminator 1)
|
||
608: 00009537 lui a0,0x9
|
||
60c: d9050513 addi a0,a0,-624 # 8d90 <memcpy+0x1da>
|
||
610: 544080ef jal ra,8b54 <puts>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:139
|
||
|
||
WCHNET_GetMacAddr(MACAddr);
|
||
614: 85c18513 addi a0,gp,-1956 # 2000007c <MACAddr>
|
||
618: 37b000ef jal ra,1192 <WCHNET_GetMacAddr>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:140
|
||
printf("mac addr:");
|
||
61c: 00009537 lui a0,0x9
|
||
620: da050513 addi a0,a0,-608 # 8da0 <memcpy+0x1ea>
|
||
624: 50c080ef jal ra,8b30 <printf>
|
||
628: 4481 li s1,0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:141
|
||
for (i = 0; i < 6; i++) printf("%x ", MACAddr[i]);
|
||
62a: 85c18a13 addi s4,gp,-1956 # 2000007c <MACAddr>
|
||
62e: 000099b7 lui s3,0x9
|
||
632: 4919 li s2,6
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:141 (discriminator 3)
|
||
634: 009a07b3 add a5,s4,s1
|
||
638: 238c lbu a1,0(a5)
|
||
63a: dac98513 addi a0,s3,-596 # 8dac <memcpy+0x1f6>
|
||
63e: 0485 addi s1,s1,1
|
||
640: 4f0080ef jal ra,8b30 <printf>
|
||
644: ff2498e3 bne s1,s2,634 <main+0x6e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:142
|
||
printf("\n");
|
||
648: 4529 li a0,10
|
||
64a: 554080ef jal ra,8b9e <putchar>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:144
|
||
|
||
DVP_Init();
|
||
64e: 35c010ef jal ra,19aa <DVP_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:145
|
||
TIM2_Init();
|
||
652: 3bb1 jal 3ae <TIM2_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:147
|
||
|
||
i = ETH_LibInit(IPAddr, GWIPAddr, IPMask, MACAddr);
|
||
654: 85c18693 addi a3,gp,-1956 # 2000007c <MACAddr>
|
||
658: 80c18613 addi a2,gp,-2036 # 2000002c <IPMask>
|
||
65c: 80418593 addi a1,gp,-2044 # 20000024 <GWIPAddr>
|
||
660: 80818513 addi a0,gp,-2040 # 20000028 <IPAddr>
|
||
664: 1d6010ef jal ra,183a <ETH_LibInit>
|
||
668: 842a mv s0,a0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:148
|
||
mStopIfError(i);
|
||
66a: 3335 jal 396 <mStopIfError>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:149
|
||
if (i == WCHNET_ERR_SUCCESS) printf("WCHNET_LibInit Success\r\n");
|
||
66c: e419 bnez s0,67a <main+0xb4>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:149 (discriminator 1)
|
||
66e: 00009537 lui a0,0x9
|
||
672: db050513 addi a0,a0,-592 # 8db0 <memcpy+0x1fa>
|
||
676: 4de080ef jal ra,8b54 <puts>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:153
|
||
|
||
#if KEEPALIVE_ENABLE
|
||
{
|
||
struct _KEEP_CFG cfg = {20000, 15000, 9};
|
||
67a: 65a5 lui a1,0x9
|
||
67c: 4631 li a2,12
|
||
67e: c6858593 addi a1,a1,-920 # 8c68 <memcpy+0xb2>
|
||
682: 0048 addi a0,sp,4
|
||
684: 532080ef jal ra,8bb6 <memcpy>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:154
|
||
WCHNET_ConfigKeepLive(&cfg);
|
||
688: 0048 addi a0,sp,4
|
||
68a: 52f010ef jal ra,23b8 <WCHNET_ConfigKeepLive>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:158
|
||
}
|
||
#endif
|
||
|
||
memset(socket, 0xff, WCHNET_MAX_SOCKET_NUM);
|
||
68e: 577d li a4,-1
|
||
690: 86e18223 sb a4,-1948(gp) # 20000084 <socket>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:159
|
||
WCHNET_CreateTcpSocket();
|
||
694: 3361 jal 41c <WCHNET_CreateTcpSocket>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:163
|
||
|
||
while (1)
|
||
{
|
||
DVP_Task();
|
||
696: 3dc010ef jal ra,1a72 <DVP_Task>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:164
|
||
WCHNET_MainTask();
|
||
69a: 5e7000ef jal ra,1480 <WCHNET_MainTask>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:165
|
||
if (WCHNET_QueryGlobalInt())
|
||
69e: 5ea020ef jal ra,2c88 <WCHNET_QueryGlobalInt>
|
||
6a2: d975 beqz a0,696 <main+0xd0>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:166
|
||
WCHNET_HandleGlobalInt();
|
||
6a4: 35d1 jal 568 <WCHNET_HandleGlobalInt>
|
||
6a6: bfc5 j 696 <main+0xd0>
|
||
|
||
000006a8 <SystemInit>:
|
||
SystemInit():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:113
|
||
*
|
||
* @return none
|
||
*/
|
||
void SystemInit (void)
|
||
{
|
||
RCC->CTLR |= (uint32_t)0x00000001;
|
||
6a8: 400217b7 lui a5,0x40021
|
||
6ac: 4398 lw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:115
|
||
|
||
RCC->CFGR0 &= (uint32_t)0xF0FF0000;
|
||
6ae: f0ff06b7 lui a3,0xf0ff0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:112
|
||
{
|
||
6b2: 1141 addi sp,sp,-16
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:113
|
||
RCC->CTLR |= (uint32_t)0x00000001;
|
||
6b4: 00176713 ori a4,a4,1
|
||
6b8: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:115
|
||
RCC->CFGR0 &= (uint32_t)0xF0FF0000;
|
||
6ba: 43d8 lw a4,4(a5)
|
||
SetSysClockTo144_HSE():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:713
|
||
RCC->CTLR |= ((uint32_t)RCC_HSEON);
|
||
|
||
/* Wait till HSE is ready and if Time out is reached exit */
|
||
do
|
||
{
|
||
HSEStatus = RCC->CTLR & RCC_HSERDY;
|
||
6bc: 00020637 lui a2,0x20
|
||
SystemInit():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:115
|
||
RCC->CFGR0 &= (uint32_t)0xF0FF0000;
|
||
6c0: 8f75 and a4,a4,a3
|
||
6c2: c3d8 sw a4,4(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:117
|
||
RCC->CTLR &= (uint32_t)0xFEF6FFFF;
|
||
6c4: 4398 lw a4,0(a5)
|
||
6c6: fef706b7 lui a3,0xfef70
|
||
6ca: 16fd addi a3,a3,-1
|
||
6cc: 8f75 and a4,a4,a3
|
||
6ce: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:118
|
||
RCC->CTLR &= (uint32_t)0xFFFBFFFF;
|
||
6d0: 4398 lw a4,0(a5)
|
||
6d2: fffc06b7 lui a3,0xfffc0
|
||
6d6: 16fd addi a3,a3,-1
|
||
6d8: 8f75 and a4,a4,a3
|
||
6da: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:119
|
||
RCC->CFGR0 &= (uint32_t)0xFF00FFFF;
|
||
6dc: 43d8 lw a4,4(a5)
|
||
6de: ff0106b7 lui a3,0xff010
|
||
6e2: 16fd addi a3,a3,-1
|
||
6e4: 8f75 and a4,a4,a3
|
||
6e6: c3d8 sw a4,4(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:122
|
||
RCC->CTLR &= (uint32_t)0xEBFFFFFF;
|
||
6e8: 4398 lw a4,0(a5)
|
||
6ea: ec0006b7 lui a3,0xec000
|
||
6ee: 16fd addi a3,a3,-1
|
||
6f0: 8f75 and a4,a4,a3
|
||
6f2: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:123
|
||
RCC->INTR = 0x00FF0000;
|
||
6f4: 00ff0737 lui a4,0xff0
|
||
6f8: c798 sw a4,8(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:124
|
||
RCC->CFGR2 = 0x00000000;
|
||
6fa: 0207a623 sw zero,44(a5) # 4002102c <_eusrstack+0x2000102c>
|
||
SetSysClockTo144_HSE():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:706
|
||
__IO uint32_t StartUpCounter = 0, HSEStatus = 0;
|
||
6fe: c402 sw zero,8(sp)
|
||
700: c602 sw zero,12(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:708
|
||
RCC->CTLR |= ((uint32_t)RCC_HSEON);
|
||
702: 4398 lw a4,0(a5)
|
||
704: 66c1 lui a3,0x10
|
||
706: 8f55 or a4,a4,a3
|
||
708: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:713
|
||
HSEStatus = RCC->CTLR & RCC_HSERDY;
|
||
70a: 400216b7 lui a3,0x40021
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:715
|
||
StartUpCounter++;
|
||
} while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));
|
||
70e: 6705 lui a4,0x1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:713
|
||
HSEStatus = RCC->CTLR & RCC_HSERDY;
|
||
710: 429c lw a5,0(a3)
|
||
712: 8ff1 and a5,a5,a2
|
||
714: c63e sw a5,12(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:714
|
||
StartUpCounter++;
|
||
716: 47a2 lw a5,8(sp)
|
||
718: 0785 addi a5,a5,1
|
||
71a: c43e sw a5,8(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:715
|
||
} while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));
|
||
71c: 47b2 lw a5,12(sp)
|
||
71e: e781 bnez a5,726 <SystemInit+0x7e>
|
||
720: 47a2 lw a5,8(sp)
|
||
722: fee797e3 bne a5,a4,710 <SystemInit+0x68>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:717
|
||
|
||
if ((RCC->CTLR & RCC_HSERDY) != RESET)
|
||
726: 400217b7 lui a5,0x40021
|
||
72a: 439c lw a5,0(a5)
|
||
72c: 00e79713 slli a4,a5,0xe
|
||
730: 06075663 bgez a4,79c <SystemInit+0xf4>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:719
|
||
{
|
||
HSEStatus = (uint32_t)0x01;
|
||
734: 4785 li a5,1
|
||
736: c63e sw a5,12(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:726
|
||
else
|
||
{
|
||
HSEStatus = (uint32_t)0x00;
|
||
}
|
||
|
||
if (HSEStatus == (uint32_t)0x01)
|
||
738: 4732 lw a4,12(sp)
|
||
73a: 4785 li a5,1
|
||
73c: 04f71e63 bne a4,a5,798 <SystemInit+0xf0>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:729
|
||
{
|
||
/* HCLK = SYSCLK */
|
||
RCC->CFGR0 |= (uint32_t)RCC_HPRE_DIV1;
|
||
740: 400217b7 lui a5,0x40021
|
||
744: 43d8 lw a4,4(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:736
|
||
RCC->CFGR0 |= (uint32_t)RCC_PPRE2_DIV1;
|
||
/* PCLK1 = HCLK */
|
||
RCC->CFGR0 |= (uint32_t)RCC_PPRE1_DIV2;
|
||
|
||
/* PLL configuration: PLLCLK = HSE * 18 = 144 MHz */
|
||
RCC->CFGR0 &= (uint32_t)((uint32_t)~(RCC_PLLSRC | RCC_PLLXTPRE |
|
||
746: ffc106b7 lui a3,0xffc10
|
||
74a: 16fd addi a3,a3,-1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:729
|
||
RCC->CFGR0 |= (uint32_t)RCC_HPRE_DIV1;
|
||
74c: c3d8 sw a4,4(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:731
|
||
RCC->CFGR0 |= (uint32_t)RCC_PPRE2_DIV1;
|
||
74e: 43d8 lw a4,4(a5)
|
||
750: c3d8 sw a4,4(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:733
|
||
RCC->CFGR0 |= (uint32_t)RCC_PPRE1_DIV2;
|
||
752: 43d8 lw a4,4(a5)
|
||
754: 40076713 ori a4,a4,1024
|
||
758: c3d8 sw a4,4(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:736
|
||
RCC->CFGR0 &= (uint32_t)((uint32_t)~(RCC_PLLSRC | RCC_PLLXTPRE |
|
||
75a: 43d8 lw a4,4(a5)
|
||
75c: 8f75 and a4,a4,a3
|
||
75e: c3d8 sw a4,4(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:742
|
||
RCC_PLLMULL));
|
||
|
||
#ifdef CH32V30x_D8
|
||
RCC->CFGR0 |= (uint32_t)(RCC_PLLSRC_HSE | RCC_PLLXTPRE_HSE | RCC_PLLMULL18);
|
||
#else
|
||
RCC->CFGR0 |= (uint32_t)(RCC_PLLSRC_HSE | RCC_PLLXTPRE_HSE | RCC_PLLMULL18_EXTEN);
|
||
760: 43d8 lw a4,4(a5)
|
||
762: 66c1 lui a3,0x10
|
||
764: 8f55 or a4,a4,a3
|
||
766: c3d8 sw a4,4(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:746
|
||
#endif
|
||
|
||
/* Enable PLL */
|
||
RCC->CTLR |= RCC_PLLON;
|
||
768: 4398 lw a4,0(a5)
|
||
76a: 010006b7 lui a3,0x1000
|
||
76e: 8f55 or a4,a4,a3
|
||
770: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:748
|
||
/* Wait till PLL is ready */
|
||
while((RCC->CTLR & RCC_PLLRDY) == 0)
|
||
772: 4398 lw a4,0(a5)
|
||
774: 00671693 slli a3,a4,0x6
|
||
778: fe06dde3 bgez a3,772 <SystemInit+0xca>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:752
|
||
{
|
||
}
|
||
/* Select PLL as system clock source */
|
||
RCC->CFGR0 &= (uint32_t)((uint32_t)~(RCC_SW));
|
||
77c: 43d8 lw a4,4(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:755
|
||
RCC->CFGR0 |= (uint32_t)RCC_SW_PLL;
|
||
/* Wait till PLL is used as system clock source */
|
||
while ((RCC->CFGR0 & (uint32_t)RCC_SWS) != (uint32_t)0x08)
|
||
77e: 400216b7 lui a3,0x40021
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:752
|
||
RCC->CFGR0 &= (uint32_t)((uint32_t)~(RCC_SW));
|
||
782: 9b71 andi a4,a4,-4
|
||
784: c3d8 sw a4,4(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:753
|
||
RCC->CFGR0 |= (uint32_t)RCC_SW_PLL;
|
||
786: 43d8 lw a4,4(a5)
|
||
788: 00276713 ori a4,a4,2
|
||
78c: c3d8 sw a4,4(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:755
|
||
while ((RCC->CFGR0 & (uint32_t)RCC_SWS) != (uint32_t)0x08)
|
||
78e: 4721 li a4,8
|
||
790: 42dc lw a5,4(a3)
|
||
792: 8bb1 andi a5,a5,12
|
||
794: fee79ee3 bne a5,a4,790 <SystemInit+0xe8>
|
||
SystemInit():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:129
|
||
}
|
||
798: 0141 addi sp,sp,16
|
||
79a: 8082 ret
|
||
SetSysClockTo144_HSE():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:723
|
||
HSEStatus = (uint32_t)0x00;
|
||
79c: c602 sw zero,12(sp)
|
||
79e: bf69 j 738 <SystemInit+0x90>
|
||
|
||
000007a0 <SystemCoreClockUpdate>:
|
||
SystemCoreClockUpdate():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:148
|
||
tmp = RCC->CFGR0 & RCC_SWS;
|
||
7a0: 400216b7 lui a3,0x40021
|
||
7a4: 42d8 lw a4,4(a3)
|
||
7a6: 4611 li a2,4
|
||
7a8: 8b31 andi a4,a4,12
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:150
|
||
switch (tmp)
|
||
7aa: 81418793 addi a5,gp,-2028 # 20000034 <SystemCoreClock>
|
||
7ae: 00c70563 beq a4,a2,7b8 <SystemCoreClockUpdate+0x18>
|
||
7b2: 4621 li a2,8
|
||
7b4: 02c70863 beq a4,a2,7e4 <SystemCoreClockUpdate+0x44>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:153
|
||
SystemCoreClock = HSI_VALUE;
|
||
7b8: 007a1737 lui a4,0x7a1
|
||
7bc: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79836c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:215 (discriminator 1)
|
||
if(Pll_6_5 == 1) SystemCoreClock = (SystemCoreClock / 2);
|
||
7c0: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:223
|
||
tmp = AHBPrescTable[((RCC->CFGR0 & RCC_HPRE) >> 4)];
|
||
7c2: 40021737 lui a4,0x40021
|
||
7c6: 4358 lw a4,4(a4)
|
||
7c8: 8311 srli a4,a4,0x4
|
||
7ca: 00f77693 andi a3,a4,15
|
||
7ce: 20000737 lui a4,0x20000
|
||
7d2: 00070713 mv a4,a4
|
||
7d6: 9736 add a4,a4,a3
|
||
7d8: 2314 lbu a3,0(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:224
|
||
SystemCoreClock >>= tmp;
|
||
7da: 4398 lw a4,0(a5)
|
||
7dc: 00d75733 srl a4,a4,a3
|
||
7e0: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:225
|
||
}
|
||
7e2: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:159
|
||
pllmull = RCC->CFGR0 & RCC_PLLMULL;
|
||
7e4: 42d8 lw a4,4(a3)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:160
|
||
pllsource = RCC->CFGR0 & RCC_PLLSRC;
|
||
7e6: 42d4 lw a3,4(a3)
|
||
7e8: 6641 lui a2,0x10
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:161
|
||
pllmull = ( pllmull >> 18) + 2;
|
||
7ea: 8349 srli a4,a4,0x12
|
||
7ec: 8b3d andi a4,a4,15
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:160
|
||
pllsource = RCC->CFGR0 & RCC_PLLSRC;
|
||
7ee: 8ef1 and a3,a3,a2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:166
|
||
if(pllmull == 2) pllmull = 18;
|
||
7f0: 00270613 addi a2,a4,2 # 20000002 <_data_vma+0x2>
|
||
7f4: cf15 beqz a4,830 <__stack_size+0x30>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:167
|
||
if(pllmull == 15){
|
||
7f6: 473d li a4,15
|
||
7f8: 02e60f63 beq a2,a4,836 <__stack_size+0x36>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:171
|
||
if(pllmull == 16) pllmull = 15;
|
||
7fc: 4741 li a4,16
|
||
7fe: 02e60f63 beq a2,a4,83c <__stack_size+0x3c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:172
|
||
if(pllmull == 17) pllmull = 16;
|
||
802: 4745 li a4,17
|
||
804: 4581 li a1,0
|
||
806: 00e61363 bne a2,a4,80c <__stack_size+0xc>
|
||
80a: 4641 li a2,16
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:175
|
||
if (pllsource == 0x00)
|
||
80c: e2a1 bnez a3,84c <__stack_size+0x4c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:177
|
||
if(EXTEN->EXTEN_CTR & EXTEN_PLL_HSI_PRE) SystemCoreClock = HSI_VALUE * pllmull;
|
||
80e: 40024737 lui a4,0x40024
|
||
812: 80072703 lw a4,-2048(a4) # 40023800 <_eusrstack+0x20003800>
|
||
816: 8b41 andi a4,a4,16
|
||
818: c70d beqz a4,842 <__stack_size+0x42>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:177 (discriminator 1)
|
||
81a: 007a1737 lui a4,0x7a1
|
||
81e: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79836c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:210
|
||
SystemCoreClock = SystemCoreClock * pllmull;
|
||
822: 02c70633 mul a2,a4,a2
|
||
826: c390 sw a2,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:215
|
||
if(Pll_6_5 == 1) SystemCoreClock = (SystemCoreClock / 2);
|
||
828: ddc9 beqz a1,7c2 <SystemCoreClockUpdate+0x22>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:215 (discriminator 1)
|
||
82a: 4398 lw a4,0(a5)
|
||
82c: 8305 srli a4,a4,0x1
|
||
82e: bf49 j 7c0 <SystemCoreClockUpdate+0x20>
|
||
830: 4581 li a1,0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:166
|
||
if(pllmull == 2) pllmull = 18;
|
||
832: 4649 li a2,18
|
||
834: bfe1 j 80c <__stack_size+0xc>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:169
|
||
Pll_6_5 = 1;
|
||
836: 4585 li a1,1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:168
|
||
pllmull = 13; /* *6.5 */
|
||
838: 4635 li a2,13
|
||
83a: bfc9 j 80c <__stack_size+0xc>
|
||
83c: 4581 li a1,0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:171
|
||
if(pllmull == 16) pllmull = 15;
|
||
83e: 463d li a2,15
|
||
840: b7f1 j 80c <__stack_size+0xc>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:178
|
||
else SystemCoreClock = (HSI_VALUE >> 1) * pllmull;
|
||
842: 003d1737 lui a4,0x3d1
|
||
846: 90070713 addi a4,a4,-1792 # 3d0900 <_data_lma+0x3c7a6c>
|
||
84a: bfe1 j 822 <__stack_size+0x22>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:194
|
||
if(RCC->CFGR2 & (1<<16)){ /* PLL2 */
|
||
84c: 40021537 lui a0,0x40021
|
||
850: 5558 lw a4,44(a0)
|
||
852: 00f71693 slli a3,a4,0xf
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:195
|
||
SystemCoreClock = HSE_VALUE/(((RCC->CFGR2 & 0xF0)>>4) + 1); /* PREDIV2 */
|
||
856: 5558 lw a4,44(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:194
|
||
if(RCC->CFGR2 & (1<<16)){ /* PLL2 */
|
||
858: 0406df63 bgez a3,8b6 <__stack_size+0xb6>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:195
|
||
SystemCoreClock = HSE_VALUE/(((RCC->CFGR2 & 0xF0)>>4) + 1); /* PREDIV2 */
|
||
85c: 8311 srli a4,a4,0x4
|
||
85e: 8b3d andi a4,a4,15
|
||
860: 00170693 addi a3,a4,1
|
||
864: 007a1737 lui a4,0x7a1
|
||
868: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79836c>
|
||
86c: 02d75733 divu a4,a4,a3
|
||
870: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:197
|
||
Pll2mull = (uint8_t)((RCC->CFGR2 & 0xF00)>>8);
|
||
872: 5554 lw a3,44(a0)
|
||
874: 82a1 srli a3,a3,0x8
|
||
876: 8abd andi a3,a3,15
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:199
|
||
if(Pll2mull == 0) SystemCoreClock = (SystemCoreClock * 5)>>1;
|
||
878: e28d bnez a3,89a <__stack_size+0x9a>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:199 (discriminator 1)
|
||
87a: 4695 li a3,5
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:200 (discriminator 1)
|
||
else if(Pll2mull == 1) SystemCoreClock = (SystemCoreClock * 25)>>1;
|
||
87c: 02d70733 mul a4,a4,a3
|
||
880: 8305 srli a4,a4,0x1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:202
|
||
else SystemCoreClock = SystemCoreClock * (Pll2mull + 2);
|
||
882: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:204
|
||
SystemCoreClock = SystemCoreClock/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */
|
||
884: 40021737 lui a4,0x40021
|
||
888: 5758 lw a4,44(a4)
|
||
88a: 4394 lw a3,0(a5)
|
||
88c: 8b3d andi a4,a4,15
|
||
88e: 0705 addi a4,a4,1
|
||
890: 02e6d733 divu a4,a3,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:207
|
||
SystemCoreClock = HSE_VALUE/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */
|
||
894: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:210
|
||
SystemCoreClock = SystemCoreClock * pllmull;
|
||
896: 4398 lw a4,0(a5)
|
||
898: b769 j 822 <__stack_size+0x22>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:200
|
||
else if(Pll2mull == 1) SystemCoreClock = (SystemCoreClock * 25)>>1;
|
||
89a: 4505 li a0,1
|
||
89c: 00a69463 bne a3,a0,8a4 <__stack_size+0xa4>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:200 (discriminator 1)
|
||
8a0: 46e5 li a3,25
|
||
8a2: bfe9 j 87c <__stack_size+0x7c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:201
|
||
else if(Pll2mull == 15) SystemCoreClock = SystemCoreClock * 20;
|
||
8a4: 453d li a0,15
|
||
8a6: 00a69663 bne a3,a0,8b2 <__stack_size+0xb2>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:201 (discriminator 1)
|
||
8aa: 46d1 li a3,20
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:202
|
||
else SystemCoreClock = SystemCoreClock * (Pll2mull + 2);
|
||
8ac: 02e68733 mul a4,a3,a4
|
||
8b0: bfc9 j 882 <__stack_size+0x82>
|
||
8b2: 0689 addi a3,a3,2
|
||
8b4: bfe5 j 8ac <__stack_size+0xac>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:207
|
||
SystemCoreClock = HSE_VALUE/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */
|
||
8b6: 8b3d andi a4,a4,15
|
||
8b8: 00170693 addi a3,a4,1 # 40021001 <_eusrstack+0x20001001>
|
||
8bc: 007a1737 lui a4,0x7a1
|
||
8c0: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79836c>
|
||
8c4: 02d75733 divu a4,a4,a3
|
||
8c8: b7f1 j 894 <__stack_size+0x94>
|
||
|
||
000008ca <ADC1_2_IRQHandler>:
|
||
EXTI2_IRQHandler():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:321
|
||
DMA2_Channel8_IRQHandler:
|
||
DMA2_Channel9_IRQHandler:
|
||
DMA2_Channel10_IRQHandler:
|
||
DMA2_Channel11_IRQHandler:
|
||
1:
|
||
j 1b
|
||
8ca: a001 j 8ca <ADC1_2_IRQHandler>
|
||
|
||
000008cc <handle_reset>:
|
||
handle_reset():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:329
|
||
.weak handle_reset
|
||
.align 1
|
||
handle_reset:
|
||
.option push
|
||
.option norelax
|
||
la gp, __global_pointer$
|
||
8cc: 20000197 auipc gp,0x20000
|
||
8d0: f5418193 addi gp,gp,-172 # 20000820 <__global_pointer$>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:332
|
||
.option pop
|
||
|
||
la sp, _eusrstack
|
||
8d4: 2001f117 auipc sp,0x2001f
|
||
8d8: 72c10113 addi sp,sp,1836 # 20020000 <_eusrstack>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:335
|
||
|
||
/* Load data section from flash to RAM */
|
||
la a0, _data_lma
|
||
8dc: 00008517 auipc a0,0x8
|
||
8e0: 5b850513 addi a0,a0,1464 # 8e94 <_data_lma>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:336
|
||
la a1, _data_vma
|
||
8e4: 1ffff597 auipc a1,0x1ffff
|
||
8e8: 71c58593 addi a1,a1,1820 # 20000000 <_data_vma>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:337
|
||
la a2, _edata
|
||
8ec: 85818613 addi a2,gp,-1960 # 20000078 <_edata>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:338
|
||
bgeu a1, a2, 2f
|
||
8f0: 00c5fa63 bgeu a1,a2,904 <handle_reset+0x38>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:340
|
||
1:
|
||
lw t0, (a0)
|
||
8f4: 00052283 lw t0,0(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:341
|
||
sw t0, (a1)
|
||
8f8: 0055a023 sw t0,0(a1)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:342
|
||
addi a0, a0, 4
|
||
8fc: 0511 addi a0,a0,4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:343
|
||
addi a1, a1, 4
|
||
8fe: 0591 addi a1,a1,4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:344
|
||
bltu a1, a2, 1b
|
||
900: fec5eae3 bltu a1,a2,8f4 <handle_reset+0x28>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:347
|
||
2:
|
||
/* Clear bss section */
|
||
la a0, _sbss
|
||
904: 85818513 addi a0,gp,-1960 # 20000078 <_edata>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:348
|
||
la a1, _ebss
|
||
908: 20007597 auipc a1,0x20007
|
||
90c: fcc58593 addi a1,a1,-52 # 200078d4 <_ebss>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:349
|
||
bgeu a0, a1, 2f
|
||
910: 00b57763 bgeu a0,a1,91e <handle_reset+0x52>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:351
|
||
1:
|
||
sw zero, (a0)
|
||
914: 00052023 sw zero,0(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:352
|
||
addi a0, a0, 4
|
||
918: 0511 addi a0,a0,4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:353
|
||
bltu a0, a1, 1b
|
||
91a: feb56de3 bltu a0,a1,914 <handle_reset+0x48>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:356
|
||
2:
|
||
/* Configure pipelining and instruction prediction */
|
||
li t0, 0x1f
|
||
91e: 42fd li t0,31
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:357
|
||
csrw 0xbc0, t0
|
||
920: bc029073 csrw 0xbc0,t0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:359
|
||
/* Enable interrupt nesting and hardware stack */
|
||
li t0, 0x0b
|
||
924: 42ad li t0,11
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:360
|
||
csrw 0x804, t0
|
||
926: 80429073 csrw 0x804,t0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:362
|
||
/* Enable floating point and global interrupt, configure privileged mode */
|
||
li t0, 0x6088
|
||
92a: 000062b7 lui t0,0x6
|
||
92e: 08828293 addi t0,t0,136 # 6088 <tcp_receive+0x4be>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:363
|
||
csrw mstatus, t0
|
||
932: 30029073 csrw mstatus,t0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:365
|
||
/* Configure the interrupt vector table recognition mode and entry address mode */
|
||
la t0, _vector_base
|
||
936: fffff297 auipc t0,0xfffff
|
||
93a: 6ce28293 addi t0,t0,1742 # 4 <_einit>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:366
|
||
ori t0, t0, 3
|
||
93e: 0032e293 ori t0,t0,3
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:367
|
||
csrw mtvec, t0
|
||
942: 30529073 csrw mtvec,t0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:369
|
||
|
||
jal SystemInit
|
||
946: d63ff0ef jal ra,6a8 <SystemInit>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:370
|
||
la t0, main
|
||
94a: 00000297 auipc t0,0x0
|
||
94e: c7c28293 addi t0,t0,-900 # 5c6 <main>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:371
|
||
csrw mepc, t0
|
||
952: 34129073 csrw mepc,t0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:372
|
||
mret
|
||
956: 30200073 mret
|
||
|
||
0000095a <DBGMCU_GetCHIPID>:
|
||
DBGMCU_GetCHIPID():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dbgmcu.c:128
|
||
* CH32V317TCU6-0x3175B5X8
|
||
*/
|
||
uint32_t DBGMCU_GetCHIPID( void )
|
||
{
|
||
return( *( uint32_t * )0x1FFFF704 );
|
||
}
|
||
95a: 1ffff7b7 lui a5,0x1ffff
|
||
95e: 7047a503 lw a0,1796(a5) # 1ffff704 <_data_lma+0x1fff6870>
|
||
962: 8082 ret
|
||
|
||
00000964 <DVP_INTCfg>:
|
||
DVP_INTCfg():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:35
|
||
*/
|
||
void DVP_INTCfg(uint8_t s, uint8_t i)
|
||
{
|
||
if(s)
|
||
{
|
||
DVP->IER |= i;
|
||
964: 500507b7 lui a5,0x50050
|
||
968: 23b8 lbu a4,2(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:33
|
||
if(s)
|
||
96a: c501 beqz a0,972 <DVP_INTCfg+0xe>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:35
|
||
DVP->IER |= i;
|
||
96c: 8dd9 or a1,a1,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:39
|
||
}
|
||
else
|
||
{
|
||
DVP->IER &= ~i;
|
||
96e: a3ac sb a1,2(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:41
|
||
}
|
||
}
|
||
970: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:39
|
||
DVP->IER &= ~i;
|
||
972: fff5c593 not a1,a1
|
||
976: 8df9 and a1,a1,a4
|
||
978: bfdd j 96e <DVP_INTCfg+0xa>
|
||
|
||
0000097a <DVP_Mode>:
|
||
DVP_Mode():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:60
|
||
*
|
||
* @return none
|
||
*/
|
||
void DVP_Mode(uint8_t s, DVP_Data_ModeTypeDef i)
|
||
{
|
||
DVP->CR0 &= ~RB_DVP_MSK_DAT_MOD;
|
||
97a: 500507b7 lui a5,0x50050
|
||
97e: 2398 lbu a4,0(a5)
|
||
980: 0cf77713 andi a4,a4,207
|
||
984: a398 sb a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:64
|
||
|
||
if(s)
|
||
{
|
||
DVP->CR0 |= s;
|
||
986: 2398 lbu a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:62
|
||
if(s)
|
||
988: c919 beqz a0,99e <DVP_Mode+0x24>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:64
|
||
DVP->CR0 |= s;
|
||
98a: 8d59 or a0,a0,a4
|
||
98c: a388 sb a0,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:73
|
||
DVP->CR0 &= ~(3 << 4);
|
||
}
|
||
|
||
if(i)
|
||
{
|
||
DVP->CR0 |= RB_DVP_JPEG;
|
||
98e: 50050737 lui a4,0x50050
|
||
992: 231c lbu a5,0(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:71
|
||
if(i)
|
||
994: c989 beqz a1,9a6 <DVP_Mode+0x2c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:73
|
||
DVP->CR0 |= RB_DVP_JPEG;
|
||
996: 0407e793 ori a5,a5,64
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:77
|
||
}
|
||
else
|
||
{
|
||
DVP->CR0 &= ~RB_DVP_JPEG;
|
||
99a: a31c sb a5,0(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:79
|
||
}
|
||
}
|
||
99c: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:68
|
||
DVP->CR0 &= ~(3 << 4);
|
||
99e: 0cf77713 andi a4,a4,207
|
||
9a2: a398 sb a4,0(a5)
|
||
9a4: b7ed j 98e <DVP_Mode+0x14>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:77
|
||
DVP->CR0 &= ~RB_DVP_JPEG;
|
||
9a6: 0bf7f793 andi a5,a5,191
|
||
9aa: bfc5 j 99a <DVP_Mode+0x20>
|
||
|
||
000009ac <DVP_Cfg>:
|
||
DVP_Cfg():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:100
|
||
*
|
||
* @return none
|
||
*/
|
||
void DVP_Cfg(DVP_DMATypeDef s, DVP_FLAG_FIFO_RESETTypeDef i, DVP_RX_RESETTypeDef j)
|
||
{
|
||
switch(s)
|
||
9ac: cd1d beqz a0,9ea <DVP_Cfg+0x3e>
|
||
9ae: 4785 li a5,1
|
||
9b0: 00f51863 bne a0,a5,9c0 <DVP_Cfg+0x14>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:103
|
||
{
|
||
case DVP_DMA_Enable:
|
||
DVP->CR1 |= RB_DVP_DMA_EN;
|
||
9b4: 50050737 lui a4,0x50050
|
||
9b8: 331c lbu a5,1(a4)
|
||
9ba: 0017e793 ori a5,a5,1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:106
|
||
break;
|
||
case DVP_DMA_Disable:
|
||
DVP->CR1 &= ~RB_DVP_DMA_EN;
|
||
9be: b31c sb a5,1(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:112
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
|
||
switch(i)
|
||
9c0: c99d beqz a1,9f6 <DVP_Cfg+0x4a>
|
||
9c2: 4785 li a5,1
|
||
9c4: 00f59863 bne a1,a5,9d4 <DVP_Cfg+0x28>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:115
|
||
{
|
||
case DVP_RX_RESET_Enable:
|
||
DVP->CR1 |= RB_DVP_ALL_CLR;
|
||
9c8: 50050737 lui a4,0x50050
|
||
9cc: 331c lbu a5,1(a4)
|
||
9ce: 0027e793 ori a5,a5,2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:118
|
||
break;
|
||
case DVP_RX_RESET_Disable:
|
||
DVP->CR1 &= ~RB_DVP_ALL_CLR;
|
||
9d2: b31c sb a5,1(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:124
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
|
||
switch(j)
|
||
9d4: c61d beqz a2,a02 <DVP_Cfg+0x56>
|
||
9d6: 4785 li a5,1
|
||
9d8: 00f61863 bne a2,a5,9e8 <DVP_Cfg+0x3c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:127
|
||
{
|
||
case DVP_RX_RESET_Enable:
|
||
DVP->CR1 |= RB_DVP_RCV_CLR;
|
||
9dc: 50050737 lui a4,0x50050
|
||
9e0: 331c lbu a5,1(a4)
|
||
9e2: 0047e793 ori a5,a5,4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:130
|
||
break;
|
||
case DVP_RX_RESET_Disable:
|
||
DVP->CR1 &= ~RB_DVP_RCV_CLR;
|
||
9e6: b31c sb a5,1(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:135
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
}
|
||
9e8: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:106
|
||
DVP->CR1 &= ~RB_DVP_DMA_EN;
|
||
9ea: 50050737 lui a4,0x50050
|
||
9ee: 331c lbu a5,1(a4)
|
||
9f0: 0fe7f793 andi a5,a5,254
|
||
9f4: b7e9 j 9be <DVP_Cfg+0x12>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:118
|
||
DVP->CR1 &= ~RB_DVP_ALL_CLR;
|
||
9f6: 50050737 lui a4,0x50050
|
||
9fa: 331c lbu a5,1(a4)
|
||
9fc: 0fd7f793 andi a5,a5,253
|
||
a00: bfc9 j 9d2 <DVP_Cfg+0x26>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:130
|
||
DVP->CR1 &= ~RB_DVP_RCV_CLR;
|
||
a02: 50050737 lui a4,0x50050
|
||
a06: 331c lbu a5,1(a4)
|
||
a08: 0fb7f793 andi a5,a5,251
|
||
a0c: bfe9 j 9e6 <DVP_Cfg+0x3a>
|
||
|
||
00000a0e <ETH_DeInit>:
|
||
ETH_DeInit():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:29
|
||
*
|
||
* @return none
|
||
*/
|
||
#ifdef CH32V30x_D8C
|
||
void ETH_DeInit(void)
|
||
{
|
||
a0e: fe2ff2ef jal t0,1f0 <__riscv_save_0>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:30
|
||
RCC_AHBPeriphResetCmd(RCC_AHBPeriph_ETH_MAC, ENABLE);
|
||
a12: 4585 li a1,1
|
||
a14: 6511 lui a0,0x4
|
||
a16: 2319 jal f1c <RCC_AHBPeriphResetCmd>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:31
|
||
RCC_AHBPeriphResetCmd(RCC_AHBPeriph_ETH_MAC, DISABLE);
|
||
a18: 4581 li a1,0
|
||
a1a: 6511 lui a0,0x4
|
||
a1c: 2301 jal f1c <RCC_AHBPeriphResetCmd>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:32
|
||
}
|
||
a1e: ff6ff06f j 214 <__riscv_restore_0>
|
||
|
||
00000a22 <ETH_ReadPHYRegister>:
|
||
ETH_ReadPHYRegister():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:292
|
||
*
|
||
* @return ETH_ERROR - in case of timeout.
|
||
* MAC MIIDR register value - Data read from the selected PHY register.
|
||
*/
|
||
uint16_t ETH_ReadPHYRegister(uint16_t PHYAddress, uint16_t PHYReg)
|
||
{
|
||
a22: 1141 addi sp,sp,-16
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:294
|
||
uint32_t tmpreg = 0;
|
||
__IO uint32_t timeout = 0;
|
||
a24: c602 sw zero,12(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:296
|
||
|
||
tmpreg = ETH->MACMIIAR;
|
||
a26: 400286b7 lui a3,0x40028
|
||
a2a: 4a9c lw a5,16(a3)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:298
|
||
tmpreg &= ~MACMIIAR_CR_MASK;
|
||
tmpreg |= (((uint32_t)PHYAddress << 11) & ETH_MACMIIAR_PA);
|
||
a2c: 6741 lui a4,0x10
|
||
a2e: 052e slli a0,a0,0xb
|
||
a30: 177d addi a4,a4,-1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:297
|
||
tmpreg &= ~MACMIIAR_CR_MASK;
|
||
a32: 8bf1 andi a5,a5,28
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:298
|
||
tmpreg |= (((uint32_t)PHYAddress << 11) & ETH_MACMIIAR_PA);
|
||
a34: 8d79 and a0,a0,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:299
|
||
tmpreg |= (((uint32_t)PHYReg << 6) & ETH_MACMIIAR_MR);
|
||
a36: 059a slli a1,a1,0x6
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:298
|
||
tmpreg |= (((uint32_t)PHYAddress << 11) & ETH_MACMIIAR_PA);
|
||
a38: 8d5d or a0,a0,a5
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:299
|
||
tmpreg |= (((uint32_t)PHYReg << 6) & ETH_MACMIIAR_MR);
|
||
a3a: 7c05f593 andi a1,a1,1984
|
||
a3e: 8dc9 or a1,a1,a0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:301
|
||
tmpreg &= ~ETH_MACMIIAR_MW;
|
||
tmpreg |= ETH_MACMIIAR_MB;
|
||
a40: 0015e593 ori a1,a1,1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:308
|
||
|
||
do
|
||
{
|
||
timeout++;
|
||
tmpreg = ETH->MACMIIAR;
|
||
} while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_READ_TO));
|
||
a44: 005007b7 lui a5,0x500
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:302
|
||
ETH->MACMIIAR = tmpreg;
|
||
a48: ca8c sw a1,16(a3)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:308
|
||
} while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_READ_TO));
|
||
a4a: 17f9 addi a5,a5,-2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:306 (discriminator 2)
|
||
timeout++;
|
||
a4c: 4732 lw a4,12(sp)
|
||
a4e: 0705 addi a4,a4,1
|
||
a50: c63a sw a4,12(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:307 (discriminator 2)
|
||
tmpreg = ETH->MACMIIAR;
|
||
a52: 4a98 lw a4,16(a3)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:308 (discriminator 2)
|
||
} while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_READ_TO));
|
||
a54: 8b05 andi a4,a4,1
|
||
a56: c701 beqz a4,a5e <ETH_ReadPHYRegister+0x3c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:308 (discriminator 1)
|
||
a58: 4732 lw a4,12(sp)
|
||
a5a: fee7f9e3 bgeu a5,a4,a4c <ETH_ReadPHYRegister+0x2a>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:310
|
||
|
||
if(timeout == PHY_READ_TO)
|
||
a5e: 4732 lw a4,12(sp)
|
||
a60: 005007b7 lui a5,0x500
|
||
a64: 17fd addi a5,a5,-1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:312
|
||
{
|
||
return (uint16_t)ETH_ERROR;
|
||
a66: 4501 li a0,0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:310
|
||
if(timeout == PHY_READ_TO)
|
||
a68: 00f70763 beq a4,a5,a76 <ETH_ReadPHYRegister+0x54>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:315
|
||
}
|
||
|
||
return (uint16_t)(ETH->MACMIIDR);
|
||
a6c: 400287b7 lui a5,0x40028
|
||
a70: 4bc8 lw a0,20(a5)
|
||
a72: 0542 slli a0,a0,0x10
|
||
a74: 8141 srli a0,a0,0x10
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:316
|
||
}
|
||
a76: 0141 addi sp,sp,16
|
||
a78: 8082 ret
|
||
|
||
00000a7a <ETH_WritePHYRegister>:
|
||
ETH_WritePHYRegister():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:331
|
||
*
|
||
* @return ETH_ERROR - in case of timeout.
|
||
* ETH_SUCCESS - for correct write
|
||
*/
|
||
uint32_t ETH_WritePHYRegister(uint16_t PHYAddress, uint16_t PHYReg, uint16_t PHYValue)
|
||
{
|
||
a7a: 1141 addi sp,sp,-16
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:335
|
||
uint32_t tmpreg = 0;
|
||
__IO uint32_t timeout = 0;
|
||
|
||
tmpreg = ETH->MACMIIAR;
|
||
a7c: 400287b7 lui a5,0x40028
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:333
|
||
__IO uint32_t timeout = 0;
|
||
a80: c602 sw zero,12(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:335
|
||
tmpreg = ETH->MACMIIAR;
|
||
a82: 4b98 lw a4,16(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:337
|
||
tmpreg &= ~MACMIIAR_CR_MASK;
|
||
tmpreg |= (((uint32_t)PHYAddress << 11) & ETH_MACMIIAR_PA);
|
||
a84: 66c1 lui a3,0x10
|
||
a86: 16fd addi a3,a3,-1
|
||
a88: 052e slli a0,a0,0xb
|
||
a8a: 8d75 and a0,a0,a3
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:336
|
||
tmpreg &= ~MACMIIAR_CR_MASK;
|
||
a8c: 8b71 andi a4,a4,28
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:338
|
||
tmpreg |= (((uint32_t)PHYReg << 6) & ETH_MACMIIAR_MR);
|
||
a8e: 059a slli a1,a1,0x6
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:337
|
||
tmpreg |= (((uint32_t)PHYAddress << 11) & ETH_MACMIIAR_PA);
|
||
a90: 8d59 or a0,a0,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:338
|
||
tmpreg |= (((uint32_t)PHYReg << 6) & ETH_MACMIIAR_MR);
|
||
a92: 7c05f593 andi a1,a1,1984
|
||
a96: 8dc9 or a1,a1,a0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:341
|
||
tmpreg |= ETH_MACMIIAR_MW;
|
||
tmpreg |= ETH_MACMIIAR_MB;
|
||
ETH->MACMIIDR = PHYValue;
|
||
a98: cbd0 sw a2,20(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:340
|
||
tmpreg |= ETH_MACMIIAR_MB;
|
||
a9a: 0035e593 ori a1,a1,3
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:342
|
||
ETH->MACMIIAR = tmpreg;
|
||
a9e: cb8c sw a1,16(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:348
|
||
|
||
do
|
||
{
|
||
timeout++;
|
||
tmpreg = ETH->MACMIIAR;
|
||
} while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_WRITE_TO));
|
||
aa0: 000507b7 lui a5,0x50
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:347
|
||
tmpreg = ETH->MACMIIAR;
|
||
aa4: 400286b7 lui a3,0x40028
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:348
|
||
} while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_WRITE_TO));
|
||
aa8: 17f9 addi a5,a5,-2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:346 (discriminator 2)
|
||
timeout++;
|
||
aaa: 4732 lw a4,12(sp)
|
||
aac: 0705 addi a4,a4,1
|
||
aae: c63a sw a4,12(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:347 (discriminator 2)
|
||
tmpreg = ETH->MACMIIAR;
|
||
ab0: 4a98 lw a4,16(a3)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:348 (discriminator 2)
|
||
} while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_WRITE_TO));
|
||
ab2: 8b05 andi a4,a4,1
|
||
ab4: c701 beqz a4,abc <ETH_WritePHYRegister+0x42>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:348 (discriminator 1)
|
||
ab6: 4732 lw a4,12(sp)
|
||
ab8: fee7f9e3 bgeu a5,a4,aaa <ETH_WritePHYRegister+0x30>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:350
|
||
|
||
if(timeout >= PHY_WRITE_TO)
|
||
abc: 4532 lw a0,12(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:356
|
||
{
|
||
return ETH_ERROR;
|
||
}
|
||
|
||
return ETH_SUCCESS;
|
||
}
|
||
abe: 000507b7 lui a5,0x50
|
||
ac2: 17fd addi a5,a5,-1
|
||
ac4: 00f53533 sltu a0,a0,a5
|
||
ac8: 0141 addi sp,sp,16
|
||
aca: 8082 ret
|
||
|
||
00000acc <ETH_MACTransmissionCmd>:
|
||
ETH_MACTransmissionCmd():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:407
|
||
*/
|
||
void ETH_MACTransmissionCmd(FunctionalState NewState)
|
||
{
|
||
if(NewState != DISABLE)
|
||
{
|
||
ETH->MACCR |= ETH_MACCR_TE;
|
||
acc: 40028737 lui a4,0x40028
|
||
ad0: 431c lw a5,0(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:405
|
||
if(NewState != DISABLE)
|
||
ad2: c509 beqz a0,adc <ETH_MACTransmissionCmd+0x10>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:407
|
||
ETH->MACCR |= ETH_MACCR_TE;
|
||
ad4: 0087e793 ori a5,a5,8
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:411
|
||
}
|
||
else
|
||
{
|
||
ETH->MACCR &= ~ETH_MACCR_TE;
|
||
ad8: c31c sw a5,0(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:413
|
||
}
|
||
}
|
||
ada: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:411
|
||
ETH->MACCR &= ~ETH_MACCR_TE;
|
||
adc: 9bdd andi a5,a5,-9
|
||
ade: bfed j ad8 <ETH_MACTransmissionCmd+0xc>
|
||
|
||
00000ae0 <ETH_MACReceptionCmd>:
|
||
ETH_MACReceptionCmd():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:428
|
||
*/
|
||
void ETH_MACReceptionCmd(FunctionalState NewState)
|
||
{
|
||
if(NewState != DISABLE)
|
||
{
|
||
ETH->MACCR |= ETH_MACCR_RE;
|
||
ae0: 40028737 lui a4,0x40028
|
||
ae4: 431c lw a5,0(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:426
|
||
if(NewState != DISABLE)
|
||
ae6: c509 beqz a0,af0 <ETH_MACReceptionCmd+0x10>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:428
|
||
ETH->MACCR |= ETH_MACCR_RE;
|
||
ae8: 0047e793 ori a5,a5,4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:432
|
||
}
|
||
else
|
||
{
|
||
ETH->MACCR &= ~ETH_MACCR_RE;
|
||
aec: c31c sw a5,0(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:434
|
||
}
|
||
}
|
||
aee: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:432
|
||
ETH->MACCR &= ~ETH_MACCR_RE;
|
||
af0: 9bed andi a5,a5,-5
|
||
af2: bfed j aec <ETH_MACReceptionCmd+0xc>
|
||
|
||
00000af4 <ETH_DMATxDescChainInit>:
|
||
ETH_DMATxDescChainInit():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:712
|
||
void ETH_DMATxDescChainInit(ETH_DMADESCTypeDef *DMATxDescTab, uint8_t *TxBuff, uint32_t TxBuffCount)
|
||
{
|
||
uint32_t i = 0;
|
||
ETH_DMADESCTypeDef *DMATxDesc;
|
||
|
||
DMATxDescToSet = DMATxDescTab;
|
||
af4: 86a1a623 sw a0,-1940(gp) # 2000008c <DMATxDescToSet>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:714
|
||
|
||
for(i = 0; i < TxBuffCount; i++)
|
||
af8: 872a mv a4,a0
|
||
afa: 4781 li a5,0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:717
|
||
{
|
||
DMATxDesc = DMATxDescTab + i;
|
||
DMATxDesc->Status = ETH_DMATxDesc_TCH | ETH_DMATxDesc_IC;
|
||
afc: 401008b7 lui a7,0x40100
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:718
|
||
DMATxDesc->Buffer1Addr = (uint32_t)(&TxBuff[i * ETH_MAX_PACKET_SIZE]);
|
||
b00: 5f400313 li t1,1524
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:720
|
||
|
||
if(i < (TxBuffCount - 1))
|
||
b04: fff60e13 addi t3,a2,-1 # ffff <_data_lma+0x716b>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:714 (discriminator 1)
|
||
for(i = 0; i < TxBuffCount; i++)
|
||
b08: 00c79663 bne a5,a2,b14 <ETH_DMATxDescChainInit+0x20>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:730
|
||
{
|
||
DMATxDesc->Buffer2NextDescAddr = (uint32_t)DMATxDescTab;
|
||
}
|
||
}
|
||
|
||
ETH->DMATDLAR = (uint32_t)DMATxDescTab;
|
||
b0c: 400297b7 lui a5,0x40029
|
||
b10: cb88 sw a0,16(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:731
|
||
}
|
||
b12: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:718
|
||
DMATxDesc->Buffer1Addr = (uint32_t)(&TxBuff[i * ETH_MAX_PACKET_SIZE]);
|
||
b14: 026786b3 mul a3,a5,t1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:717
|
||
DMATxDesc->Status = ETH_DMATxDesc_TCH | ETH_DMATxDesc_IC;
|
||
b18: 01172023 sw a7,0(a4) # 40028000 <_eusrstack+0x20008000>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:718
|
||
DMATxDesc->Buffer1Addr = (uint32_t)(&TxBuff[i * ETH_MAX_PACKET_SIZE]);
|
||
b1c: 882a mv a6,a0
|
||
b1e: 96ae add a3,a3,a1
|
||
b20: c714 sw a3,8(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:720
|
||
if(i < (TxBuffCount - 1))
|
||
b22: 01070693 addi a3,a4,16
|
||
b26: 01c7f363 bgeu a5,t3,b2c <ETH_DMATxDescChainInit+0x38>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:722
|
||
DMATxDesc->Buffer2NextDescAddr = (uint32_t)(DMATxDescTab + i + 1);
|
||
b2a: 8836 mv a6,a3
|
||
b2c: 01072623 sw a6,12(a4)
|
||
b30: 0785 addi a5,a5,1
|
||
b32: 8736 mv a4,a3
|
||
b34: bfd1 j b08 <ETH_DMATxDescChainInit+0x14>
|
||
|
||
00000b36 <ETH_DMARxDescChainInit>:
|
||
ETH_DMARxDescChainInit():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1046
|
||
|
||
for(i = 0; i < RxBuffCount; i++)
|
||
{
|
||
DMARxDesc = DMARxDescTab + i;
|
||
DMARxDesc->Status = ETH_DMARxDesc_OWN;
|
||
DMARxDesc->ControlBufferSize = ETH_DMARxDesc_RCH | (uint32_t)ETH_MAX_PACKET_SIZE;
|
||
b36: 6691 lui a3,0x4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1040
|
||
DMARxDescToGet = DMARxDescTab;
|
||
b38: 86a1a423 sw a0,-1944(gp) # 20000088 <DMARxDescToGet>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1042
|
||
for(i = 0; i < RxBuffCount; i++)
|
||
b3c: 4701 li a4,0
|
||
b3e: 87aa mv a5,a0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1045
|
||
DMARxDesc->Status = ETH_DMARxDesc_OWN;
|
||
b40: 80000337 lui t1,0x80000
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1046
|
||
DMARxDesc->ControlBufferSize = ETH_DMARxDesc_RCH | (uint32_t)ETH_MAX_PACKET_SIZE;
|
||
b44: 5f468693 addi a3,a3,1524 # 45f4 <dhcp_arp_reply+0x7e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1047
|
||
DMARxDesc->Buffer1Addr = (uint32_t)(&RxBuff[i * ETH_MAX_PACKET_SIZE]);
|
||
b48: 5f400e13 li t3,1524
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1049
|
||
|
||
if(i < (RxBuffCount - 1))
|
||
b4c: fff60e93 addi t4,a2,-1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1042 (discriminator 1)
|
||
for(i = 0; i < RxBuffCount; i++)
|
||
b50: 00c71663 bne a4,a2,b5c <ETH_DMARxDescChainInit+0x26>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1059
|
||
{
|
||
DMARxDesc->Buffer2NextDescAddr = (uint32_t)(DMARxDescTab);
|
||
}
|
||
}
|
||
|
||
ETH->DMARDLAR = (uint32_t)DMARxDescTab;
|
||
b54: 400297b7 lui a5,0x40029
|
||
b58: c7c8 sw a0,12(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1060
|
||
}
|
||
b5a: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1047
|
||
DMARxDesc->Buffer1Addr = (uint32_t)(&RxBuff[i * ETH_MAX_PACKET_SIZE]);
|
||
b5c: 03c70833 mul a6,a4,t3
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1045
|
||
DMARxDesc->Status = ETH_DMARxDesc_OWN;
|
||
b60: 0067a023 sw t1,0(a5) # 40029000 <_eusrstack+0x20009000>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1046
|
||
DMARxDesc->ControlBufferSize = ETH_DMARxDesc_RCH | (uint32_t)ETH_MAX_PACKET_SIZE;
|
||
b64: c3d4 sw a3,4(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1047
|
||
DMARxDesc->Buffer1Addr = (uint32_t)(&RxBuff[i * ETH_MAX_PACKET_SIZE]);
|
||
b66: 88aa mv a7,a0
|
||
b68: 982e add a6,a6,a1
|
||
b6a: 0107a423 sw a6,8(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1049
|
||
if(i < (RxBuffCount - 1))
|
||
b6e: 01078813 addi a6,a5,16
|
||
b72: 01d77363 bgeu a4,t4,b78 <ETH_DMARxDescChainInit+0x42>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1051
|
||
DMARxDesc->Buffer2NextDescAddr = (uint32_t)(DMARxDescTab + i + 1);
|
||
b76: 88c2 mv a7,a6
|
||
b78: 0117a623 sw a7,12(a5)
|
||
b7c: 0705 addi a4,a4,1
|
||
b7e: 87c2 mv a5,a6
|
||
b80: bfc1 j b50 <ETH_DMARxDescChainInit+0x1a>
|
||
|
||
00000b82 <ETH_SoftwareReset>:
|
||
ETH_SoftwareReset():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1269
|
||
*
|
||
* @return none
|
||
*/
|
||
void ETH_SoftwareReset(void)
|
||
{
|
||
ETH->DMABMR |= ETH_DMABMR_SR;
|
||
b82: 40029737 lui a4,0x40029
|
||
b86: 431c lw a5,0(a4)
|
||
b88: 0017e793 ori a5,a5,1
|
||
b8c: c31c sw a5,0(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1270
|
||
}
|
||
b8e: 8082 ret
|
||
|
||
00000b90 <ETH_DMAClearITPendingBit>:
|
||
ETH_DMAClearITPendingBit():
|
||
b90: 400297b7 lui a5,0x40029
|
||
b94: cbc8 sw a0,20(a5)
|
||
b96: 8082 ret
|
||
|
||
00000b98 <ETH_FlushTransmitFIFO>:
|
||
ETH_FlushTransmitFIFO():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1507
|
||
*
|
||
* @return none
|
||
*/
|
||
void ETH_FlushTransmitFIFO(void)
|
||
{
|
||
ETH->DMAOMR |= ETH_DMAOMR_FTF;
|
||
b98: 40029737 lui a4,0x40029
|
||
b9c: 4f1c lw a5,24(a4)
|
||
b9e: 001006b7 lui a3,0x100
|
||
ba2: 8fd5 or a5,a5,a3
|
||
ba4: cf1c sw a5,24(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1508
|
||
}
|
||
ba6: 8082 ret
|
||
|
||
00000ba8 <ETH_Start>:
|
||
ETH_Start():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:107
|
||
{
|
||
ba8: e48ff2ef jal t0,1f0 <__riscv_save_0>
|
||
ETH_MACTransmissionCmd():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:407
|
||
ETH->MACCR |= ETH_MACCR_TE;
|
||
bac: 40028437 lui s0,0x40028
|
||
bb0: 401c lw a5,0(s0)
|
||
bb2: 0087e793 ori a5,a5,8
|
||
bb6: c01c sw a5,0(s0)
|
||
ETH_Start():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:109
|
||
ETH_FlushTransmitFIFO();
|
||
bb8: 37c5 jal b98 <ETH_FlushTransmitFIFO>
|
||
ETH_MACReceptionCmd():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:428
|
||
ETH->MACCR |= ETH_MACCR_RE;
|
||
bba: 401c lw a5,0(s0)
|
||
ETH_DMATransmissionCmd():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1544
|
||
*/
|
||
void ETH_DMATransmissionCmd(FunctionalState NewState)
|
||
{
|
||
if(NewState != DISABLE)
|
||
{
|
||
ETH->DMAOMR |= ETH_DMAOMR_ST;
|
||
bbc: 6689 lui a3,0x2
|
||
ETH_MACReceptionCmd():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:428
|
||
ETH->MACCR |= ETH_MACCR_RE;
|
||
bbe: 0047e793 ori a5,a5,4
|
||
bc2: c01c sw a5,0(s0)
|
||
ETH_DMATransmissionCmd():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1544
|
||
ETH->DMAOMR |= ETH_DMAOMR_ST;
|
||
bc4: 400297b7 lui a5,0x40029
|
||
bc8: 4f98 lw a4,24(a5)
|
||
bca: 8f55 or a4,a4,a3
|
||
bcc: cf98 sw a4,24(a5)
|
||
ETH_DMAReceptionCmd():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1565
|
||
*/
|
||
void ETH_DMAReceptionCmd(FunctionalState NewState)
|
||
{
|
||
if(NewState != DISABLE)
|
||
{
|
||
ETH->DMAOMR |= ETH_DMAOMR_SR;
|
||
bce: 4f98 lw a4,24(a5)
|
||
bd0: 00276713 ori a4,a4,2
|
||
bd4: cf98 sw a4,24(a5)
|
||
ETH_Start():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:113
|
||
}
|
||
bd6: e3eff06f j 214 <__riscv_restore_0>
|
||
|
||
00000bda <ETH_DMAITConfig>:
|
||
ETH_DMAITConfig():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1602
|
||
*
|
||
* @return new state of the specified ETHERNET DMA interrupts.
|
||
*/
|
||
void ETH_DMAITConfig(uint32_t ETH_DMA_IT, FunctionalState NewState)
|
||
{
|
||
if(NewState != DISABLE)
|
||
bda: c599 beqz a1,be8 <ETH_DMAITConfig+0xe>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1604
|
||
{
|
||
ETH->DMAIER |= ETH_DMA_IT;
|
||
bdc: 40029737 lui a4,0x40029
|
||
be0: 4f5c lw a5,28(a4)
|
||
be2: 8d5d or a0,a0,a5
|
||
be4: cf48 sw a0,28(a4)
|
||
be6: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1608
|
||
}
|
||
else
|
||
{
|
||
ETH->DMAIER &= (~(uint32_t)ETH_DMA_IT);
|
||
be8: 400297b7 lui a5,0x40029
|
||
bec: 4fd8 lw a4,28(a5)
|
||
bee: fff54513 not a0,a0
|
||
bf2: 8d79 and a0,a0,a4
|
||
bf4: cfc8 sw a0,28(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1610
|
||
}
|
||
}
|
||
bf6: 8082 ret
|
||
|
||
00000bf8 <RGMII_TXC_Delay>:
|
||
RGMII_TXC_Delay():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2513
|
||
*/
|
||
void RGMII_TXC_Delay(uint8_t clock_polarity, uint8_t delay_time)
|
||
{
|
||
if(clock_polarity)
|
||
{
|
||
ETH->MACCR |= (uint32_t)(1 << 1);
|
||
bf8: 40028737 lui a4,0x40028
|
||
bfc: 431c lw a5,0(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2511
|
||
if(clock_polarity)
|
||
bfe: c115 beqz a0,c22 <RGMII_TXC_Delay+0x2a>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2513
|
||
ETH->MACCR |= (uint32_t)(1 << 1);
|
||
c00: 0027e793 ori a5,a5,2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2517
|
||
}
|
||
else
|
||
{
|
||
ETH->MACCR &= ~(uint32_t)(1 << 1);
|
||
c04: c31c sw a5,0(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2519
|
||
}
|
||
if(delay_time <= 7)
|
||
c06: 479d li a5,7
|
||
c08: 00b7ec63 bltu a5,a1,c20 <RGMII_TXC_Delay+0x28>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2521
|
||
{
|
||
ETH->MACCR &= ~(uint32_t)(7 << 29);
|
||
c0c: 40028737 lui a4,0x40028
|
||
c10: 431c lw a5,0(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2522
|
||
ETH->MACCR |= (uint32_t)(delay_time << 29);
|
||
c12: 05f6 slli a1,a1,0x1d
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2521
|
||
ETH->MACCR &= ~(uint32_t)(7 << 29);
|
||
c14: 078e slli a5,a5,0x3
|
||
c16: 838d srli a5,a5,0x3
|
||
c18: c31c sw a5,0(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2522
|
||
ETH->MACCR |= (uint32_t)(delay_time << 29);
|
||
c1a: 431c lw a5,0(a4)
|
||
c1c: 8ddd or a1,a1,a5
|
||
c1e: c30c sw a1,0(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2524
|
||
}
|
||
}
|
||
c20: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2517
|
||
ETH->MACCR &= ~(uint32_t)(1 << 1);
|
||
c22: 9bf5 andi a5,a5,-3
|
||
c24: b7c5 j c04 <RGMII_TXC_Delay+0xc>
|
||
|
||
00000c26 <EXTI_ClearITPendingBit>:
|
||
EXTI_ClearITPendingBit():
|
||
c26: 400107b7 lui a5,0x40010
|
||
c2a: 40a7aa23 sw a0,1044(a5) # 40010414 <_eusrstack+0x1fff0414>
|
||
c2e: 8082 ret
|
||
|
||
00000c30 <GPIO_Init>:
|
||
GPIO_Init():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:90
|
||
void GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_InitStruct)
|
||
{
|
||
uint32_t currentmode = 0x00, currentpin = 0x00, pinpos = 0x00, pos = 0x00;
|
||
uint32_t tmpreg = 0x00, pinmask = 0x00;
|
||
|
||
currentmode = ((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x0F);
|
||
c30: 459c lw a5,8(a1)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:92
|
||
|
||
if((((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x10)) != 0x00)
|
||
c32: 0107f713 andi a4,a5,16
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:90
|
||
currentmode = ((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x0F);
|
||
c36: 00f7f813 andi a6,a5,15
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:92
|
||
if((((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x10)) != 0x00)
|
||
c3a: c701 beqz a4,c42 <GPIO_Init+0x12>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:94
|
||
{
|
||
currentmode |= (uint32_t)GPIO_InitStruct->GPIO_Speed;
|
||
c3c: 41d8 lw a4,4(a1)
|
||
c3e: 00e86833 or a6,a6,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:97
|
||
}
|
||
|
||
if(((uint32_t)GPIO_InitStruct->GPIO_Pin & ((uint32_t)0x00FF)) != 0x00)
|
||
c42: 218e lhu a1,0(a1)
|
||
c44: 0ff5f713 andi a4,a1,255
|
||
c48: c339 beqz a4,c8e <GPIO_Init+0x5e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:99
|
||
{
|
||
tmpreg = GPIOx->CFGLR;
|
||
c4a: 4118 lw a4,0(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:101
|
||
|
||
for(pinpos = 0x00; pinpos < 0x08; pinpos++)
|
||
c4c: 4681 li a3,0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:103
|
||
{
|
||
pos = ((uint32_t)0x01) << pinpos;
|
||
c4e: 4e85 li t4,1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:109
|
||
currentpin = (GPIO_InitStruct->GPIO_Pin) & pos;
|
||
|
||
if(currentpin == pos)
|
||
{
|
||
pos = pinpos << 2;
|
||
pinmask = ((uint32_t)0x0F) << pos;
|
||
c50: 4f3d li t5,15
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:113
|
||
tmpreg &= ~pinmask;
|
||
tmpreg |= (currentmode << pos);
|
||
|
||
if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPD)
|
||
c52: 02800f93 li t6,40
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:119
|
||
{
|
||
GPIOx->BCR = (((uint32_t)0x01) << pinpos);
|
||
}
|
||
else
|
||
{
|
||
if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU)
|
||
c56: 04800293 li t0,72
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:101
|
||
for(pinpos = 0x00; pinpos < 0x08; pinpos++)
|
||
c5a: 4e21 li t3,8
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:103
|
||
pos = ((uint32_t)0x01) << pinpos;
|
||
c5c: 00de9633 sll a2,t4,a3
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:104
|
||
currentpin = (GPIO_InitStruct->GPIO_Pin) & pos;
|
||
c60: 00c5f8b3 and a7,a1,a2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:106
|
||
if(currentpin == pos)
|
||
c64: 03161163 bne a2,a7,c86 <GPIO_Init+0x56>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:108
|
||
pos = pinpos << 2;
|
||
c68: 00269893 slli a7,a3,0x2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:109
|
||
pinmask = ((uint32_t)0x0F) << pos;
|
||
c6c: 011f1333 sll t1,t5,a7
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:110
|
||
tmpreg &= ~pinmask;
|
||
c70: fff34313 not t1,t1
|
||
c74: 00e37733 and a4,t1,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:111
|
||
tmpreg |= (currentmode << pos);
|
||
c78: 011818b3 sll a7,a6,a7
|
||
c7c: 00e8e733 or a4,a7,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:113
|
||
if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPD)
|
||
c80: 05f79f63 bne a5,t6,cde <GPIO_Init+0xae>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:115
|
||
GPIOx->BCR = (((uint32_t)0x01) << pinpos);
|
||
c84: c950 sw a2,20(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:101 (discriminator 2)
|
||
for(pinpos = 0x00; pinpos < 0x08; pinpos++)
|
||
c86: 0685 addi a3,a3,1
|
||
c88: fdc69ae3 bne a3,t3,c5c <GPIO_Init+0x2c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:126
|
||
GPIOx->BSHR = (((uint32_t)0x01) << pinpos);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
GPIOx->CFGLR = tmpreg;
|
||
c8c: c118 sw a4,0(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:129
|
||
}
|
||
|
||
if(GPIO_InitStruct->GPIO_Pin > 0x00FF)
|
||
c8e: 0ff00713 li a4,255
|
||
c92: 04b77563 bgeu a4,a1,cdc <GPIO_Init+0xac>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:131
|
||
{
|
||
tmpreg = GPIOx->CFGHR;
|
||
c96: 4154 lw a3,4(a0)
|
||
c98: 4621 li a2,8
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:135
|
||
|
||
for(pinpos = 0x00; pinpos < 0x08; pinpos++)
|
||
{
|
||
pos = (((uint32_t)0x01) << (pinpos + 0x08));
|
||
c9a: 4e85 li t4,1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:141
|
||
currentpin = ((GPIO_InitStruct->GPIO_Pin) & pos);
|
||
|
||
if(currentpin == pos)
|
||
{
|
||
pos = pinpos << 2;
|
||
pinmask = ((uint32_t)0x0F) << pos;
|
||
c9c: 4f3d li t5,15
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:145
|
||
tmpreg &= ~pinmask;
|
||
tmpreg |= (currentmode << pos);
|
||
|
||
if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPD)
|
||
c9e: 02800f93 li t6,40
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:150
|
||
{
|
||
GPIOx->BCR = (((uint32_t)0x01) << (pinpos + 0x08));
|
||
}
|
||
|
||
if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU)
|
||
ca2: 04800293 li t0,72
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:133
|
||
for(pinpos = 0x00; pinpos < 0x08; pinpos++)
|
||
ca6: 4e41 li t3,16
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:135
|
||
pos = (((uint32_t)0x01) << (pinpos + 0x08));
|
||
ca8: 00ce98b3 sll a7,t4,a2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:136
|
||
currentpin = ((GPIO_InitStruct->GPIO_Pin) & pos);
|
||
cac: 0115f733 and a4,a1,a7
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:138
|
||
if(currentpin == pos)
|
||
cb0: 02e89263 bne a7,a4,cd4 <GPIO_Init+0xa4>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:140
|
||
pos = pinpos << 2;
|
||
cb4: 00261713 slli a4,a2,0x2
|
||
cb8: 1701 addi a4,a4,-32
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:141
|
||
pinmask = ((uint32_t)0x0F) << pos;
|
||
cba: 00ef1333 sll t1,t5,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:142
|
||
tmpreg &= ~pinmask;
|
||
cbe: fff34313 not t1,t1
|
||
cc2: 00d376b3 and a3,t1,a3
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:143
|
||
tmpreg |= (currentmode << pos);
|
||
cc6: 00e81733 sll a4,a6,a4
|
||
cca: 8ed9 or a3,a3,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:145
|
||
if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPD)
|
||
ccc: 01f79d63 bne a5,t6,ce6 <GPIO_Init+0xb6>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:147
|
||
GPIOx->BCR = (((uint32_t)0x01) << (pinpos + 0x08));
|
||
cd0: 01152a23 sw a7,20(a0) # 4014 <ip_reass+0x264>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:150
|
||
if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU)
|
||
cd4: 0605 addi a2,a2,1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:133 (discriminator 2)
|
||
for(pinpos = 0x00; pinpos < 0x08; pinpos++)
|
||
cd6: fdc619e3 bne a2,t3,ca8 <GPIO_Init+0x78>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:156
|
||
{
|
||
GPIOx->BSHR = (((uint32_t)0x01) << (pinpos + 0x08));
|
||
}
|
||
}
|
||
}
|
||
GPIOx->CFGHR = tmpreg;
|
||
cda: c154 sw a3,4(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:158
|
||
}
|
||
}
|
||
cdc: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:119
|
||
if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU)
|
||
cde: fa5794e3 bne a5,t0,c86 <GPIO_Init+0x56>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:121
|
||
GPIOx->BSHR = (((uint32_t)0x01) << pinpos);
|
||
ce2: c910 sw a2,16(a0)
|
||
ce4: b74d j c86 <GPIO_Init+0x56>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:150
|
||
if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU)
|
||
ce6: fe5797e3 bne a5,t0,cd4 <GPIO_Init+0xa4>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:152
|
||
GPIOx->BSHR = (((uint32_t)0x01) << (pinpos + 0x08));
|
||
cea: 01152823 sw a7,16(a0)
|
||
cee: b7dd j cd4 <GPIO_Init+0xa4>
|
||
|
||
00000cf0 <NVIC_Init>:
|
||
NVIC_Init():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_misc.c:80
|
||
{
|
||
NVIC_SetPriority(NVIC_InitStruct->NVIC_IRQChannel, (NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority << 7) | (NVIC_InitStruct->NVIC_IRQChannelSubPriority << 5));
|
||
}
|
||
}
|
||
#elif (INTSYSCR_INEST == INTSYSCR_INEST_EN_4Level)
|
||
if(NVIC_Priority_Group == NVIC_PriorityGroup_2)
|
||
cf0: 8701a703 lw a4,-1936(gp) # 20000090 <NVIC_Priority_Group>
|
||
cf4: 4789 li a5,2
|
||
cf6: 2110 lbu a2,0(a0)
|
||
cf8: 02f71163 bne a4,a5,d1a <NVIC_Init+0x2a>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_misc.c:82
|
||
{
|
||
if(NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority < 4)
|
||
cfc: 3114 lbu a3,1(a0)
|
||
cfe: 478d li a5,3
|
||
d00: 00d7ed63 bltu a5,a3,d1a <NVIC_Init+0x2a>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_misc.c:84
|
||
{
|
||
NVIC_SetPriority(NVIC_InitStruct->NVIC_IRQChannel, (NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority << 6) | (NVIC_InitStruct->NVIC_IRQChannelSubPriority << 5));
|
||
d04: 213c lbu a5,2(a0)
|
||
d06: 069a slli a3,a3,0x6
|
||
NVIC_SetPriority():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\Core/core_riscv.h:286
|
||
NVIC->IPRIOR[(uint32_t)(IRQn)] = priority;
|
||
d08: e000e737 lui a4,0xe000e
|
||
NVIC_Init():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_misc.c:84
|
||
d0c: 0796 slli a5,a5,0x5
|
||
d0e: 8fd5 or a5,a5,a3
|
||
d10: 0ff7f793 andi a5,a5,255
|
||
NVIC_SetPriority():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\Core/core_riscv.h:286
|
||
d14: 9732 add a4,a4,a2
|
||
d16: 40f70023 sb a5,1024(a4) # e000e400 <_eusrstack+0xbffee400>
|
||
NVIC_Init():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_misc.c:97
|
||
NVIC_SetPriority(NVIC_InitStruct->NVIC_IRQChannel, (NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority << 5) );
|
||
}
|
||
}
|
||
#endif
|
||
|
||
if(NVIC_InitStruct->NVIC_IRQChannelCmd != DISABLE)
|
||
d1a: 4154 lw a3,4(a0)
|
||
d1c: 4705 li a4,1
|
||
d1e: 00565793 srli a5,a2,0x5
|
||
d22: 00c71733 sll a4,a4,a2
|
||
d26: ca89 beqz a3,d38 <NVIC_Init+0x48>
|
||
NVIC_EnableIRQ():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\Core/core_riscv.h:170
|
||
NVIC->IENR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F));
|
||
d28: 04078793 addi a5,a5,64
|
||
d2c: 078a slli a5,a5,0x2
|
||
d2e: e000e6b7 lui a3,0xe000e
|
||
d32: 97b6 add a5,a5,a3
|
||
d34: c398 sw a4,0(a5)
|
||
d36: 8082 ret
|
||
NVIC_DisableIRQ():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\Core/core_riscv.h:184
|
||
NVIC->IRER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F));
|
||
d38: 06078793 addi a5,a5,96
|
||
d3c: e000e6b7 lui a3,0xe000e
|
||
d40: 078a slli a5,a5,0x2
|
||
d42: 97b6 add a5,a5,a3
|
||
d44: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\Core/core_riscv.h:185
|
||
__asm volatile ("fence.i");
|
||
d46: 0000100f fence.i
|
||
NVIC_Init():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_misc.c:105
|
||
}
|
||
else
|
||
{
|
||
NVIC_DisableIRQ(NVIC_InitStruct->NVIC_IRQChannel);
|
||
}
|
||
}
|
||
d4a: 8082 ret
|
||
|
||
00000d4c <RCC_GetClocksFreq>:
|
||
RCC_GetClocksFreq():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:585
|
||
#ifdef CH32V30x_D8C
|
||
uint8_t Pll2mull = 0;
|
||
|
||
#endif
|
||
|
||
tmp = RCC->CFGR0 & CFGR0_SWS_Mask;
|
||
d4c: 40021737 lui a4,0x40021
|
||
d50: 435c lw a5,4(a4)
|
||
d52: 4691 li a3,4
|
||
d54: 8bb1 andi a5,a5,12
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:587
|
||
|
||
switch(tmp)
|
||
d56: 00d78563 beq a5,a3,d60 <RCC_GetClocksFreq+0x14>
|
||
d5a: 46a1 li a3,8
|
||
d5c: 06d78263 beq a5,a3,dc0 <RCC_GetClocksFreq+0x74>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:590
|
||
{
|
||
case 0x00:
|
||
RCC_Clocks->SYSCLK_Frequency = HSI_VALUE;
|
||
d60: 007a17b7 lui a5,0x7a1
|
||
d64: 20078793 addi a5,a5,512 # 7a1200 <_data_lma+0x79836c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:668
|
||
|
||
#endif
|
||
}
|
||
|
||
if(Pll_6_5 == 1)
|
||
RCC_Clocks->SYSCLK_Frequency = (RCC_Clocks->SYSCLK_Frequency / 2);
|
||
d68: c11c sw a5,0(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:677
|
||
default:
|
||
RCC_Clocks->SYSCLK_Frequency = HSI_VALUE;
|
||
break;
|
||
}
|
||
|
||
tmp = RCC->CFGR0 & CFGR0_HPRE_Set_Mask;
|
||
d6a: 40021637 lui a2,0x40021
|
||
d6e: 425c lw a5,4(a2)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:679
|
||
tmp = tmp >> 4;
|
||
presc = APBAHBPrescTable[tmp];
|
||
d70: 20000737 lui a4,0x20000
|
||
d74: 01070713 addi a4,a4,16 # 20000010 <APBAHBPrescTable>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:678
|
||
tmp = tmp >> 4;
|
||
d78: 8391 srli a5,a5,0x4
|
||
d7a: 8bbd andi a5,a5,15
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:679
|
||
presc = APBAHBPrescTable[tmp];
|
||
d7c: 97ba add a5,a5,a4
|
||
d7e: 2394 lbu a3,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:680
|
||
RCC_Clocks->HCLK_Frequency = RCC_Clocks->SYSCLK_Frequency >> presc;
|
||
d80: 411c lw a5,0(a0)
|
||
d82: 00d7d7b3 srl a5,a5,a3
|
||
d86: c15c sw a5,4(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:681
|
||
tmp = RCC->CFGR0 & CFGR0_PPRE1_Set_Mask;
|
||
d88: 4254 lw a3,4(a2)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:682
|
||
tmp = tmp >> 8;
|
||
d8a: 82a1 srli a3,a3,0x8
|
||
d8c: 8a9d andi a3,a3,7
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:683
|
||
presc = APBAHBPrescTable[tmp];
|
||
d8e: 96ba add a3,a3,a4
|
||
d90: 2294 lbu a3,0(a3)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:684
|
||
RCC_Clocks->PCLK1_Frequency = RCC_Clocks->HCLK_Frequency >> presc;
|
||
d92: 00d7d6b3 srl a3,a5,a3
|
||
d96: c514 sw a3,8(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:685
|
||
tmp = RCC->CFGR0 & CFGR0_PPRE2_Set_Mask;
|
||
d98: 4254 lw a3,4(a2)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:686
|
||
tmp = tmp >> 11;
|
||
d9a: 82ad srli a3,a3,0xb
|
||
d9c: 8a9d andi a3,a3,7
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:687
|
||
presc = APBAHBPrescTable[tmp];
|
||
d9e: 9736 add a4,a4,a3
|
||
da0: 2318 lbu a4,0(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:688
|
||
RCC_Clocks->PCLK2_Frequency = RCC_Clocks->HCLK_Frequency >> presc;
|
||
da2: 00e7d7b3 srl a5,a5,a4
|
||
da6: c55c sw a5,12(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:689
|
||
tmp = RCC->CFGR0 & CFGR0_ADCPRE_Set_Mask;
|
||
da8: 4258 lw a4,4(a2)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:690
|
||
tmp = tmp >> 14;
|
||
daa: 8339 srli a4,a4,0xe
|
||
dac: 00377693 andi a3,a4,3
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:691
|
||
presc = ADCPrescTable[tmp];
|
||
db0: 81818713 addi a4,gp,-2024 # 20000038 <ADCPrescTable>
|
||
db4: 9736 add a4,a4,a3
|
||
db6: 2318 lbu a4,0(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:692
|
||
RCC_Clocks->ADCCLK_Frequency = RCC_Clocks->PCLK2_Frequency / presc;
|
||
db8: 02e7d7b3 divu a5,a5,a4
|
||
dbc: c91c sw a5,16(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:693
|
||
}
|
||
dbe: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:598
|
||
pllmull = RCC->CFGR0 & CFGR0_PLLMull_Mask;
|
||
dc0: 435c lw a5,4(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:599
|
||
pllsource = RCC->CFGR0 & CFGR0_PLLSRC_Mask;
|
||
dc2: 4358 lw a4,4(a4)
|
||
dc4: 66c1 lui a3,0x10
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:601
|
||
pllmull = (pllmull >> 18) + 2;
|
||
dc6: 83c9 srli a5,a5,0x12
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:599
|
||
pllsource = RCC->CFGR0 & CFGR0_PLLSRC_Mask;
|
||
dc8: 8f75 and a4,a4,a3
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:603
|
||
if(((*(uint32_t *)0x1FFFF70C) & (1 << 14)) != (1 << 14))
|
||
dca: 1ffff6b7 lui a3,0x1ffff
|
||
dce: 70c6a683 lw a3,1804(a3) # 1ffff70c <_data_lma+0x1fff6878>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:601
|
||
pllmull = (pllmull >> 18) + 2;
|
||
dd2: 8bbd andi a5,a5,15
|
||
dd4: 0789 addi a5,a5,2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:603
|
||
if(((*(uint32_t *)0x1FFFF70C) & (1 << 14)) != (1 << 14))
|
||
dd6: 01169613 slli a2,a3,0x11
|
||
dda: 00064863 bltz a2,dea <RCC_GetClocksFreq+0x9e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:605
|
||
if(pllmull == 17)
|
||
dde: 46c5 li a3,17
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:578
|
||
uint8_t Pll_6_5 = 0;
|
||
de0: 4601 li a2,0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:605
|
||
if(pllmull == 17)
|
||
de2: 02d79263 bne a5,a3,e06 <RCC_GetClocksFreq+0xba>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:606
|
||
pllmull = 18;
|
||
de6: 47c9 li a5,18
|
||
de8: a839 j e06 <RCC_GetClocksFreq+0xba>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:610
|
||
if(pllmull == 2)
|
||
dea: 4689 li a3,2
|
||
dec: 02d78f63 beq a5,a3,e2a <RCC_GetClocksFreq+0xde>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:612
|
||
if(pllmull == 15)
|
||
df0: 46bd li a3,15
|
||
df2: 02d78e63 beq a5,a3,e2e <RCC_GetClocksFreq+0xe2>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:617
|
||
if(pllmull == 16)
|
||
df6: 46c1 li a3,16
|
||
df8: 02d78e63 beq a5,a3,e34 <RCC_GetClocksFreq+0xe8>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:619
|
||
if(pllmull == 17)
|
||
dfc: 46c5 li a3,17
|
||
dfe: 4601 li a2,0
|
||
e00: 00d79363 bne a5,a3,e06 <RCC_GetClocksFreq+0xba>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:620
|
||
pllmull = 16;
|
||
e04: 47c1 li a5,16
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:623
|
||
if(pllsource == 0x00)
|
||
e06: ef1d bnez a4,e44 <RCC_GetClocksFreq+0xf8>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:625
|
||
if(EXTEN->EXTEN_CTR & EXTEN_PLL_HSI_PRE)
|
||
e08: 40024737 lui a4,0x40024
|
||
e0c: 80072703 lw a4,-2048(a4) # 40023800 <_eusrstack+0x20003800>
|
||
e10: 8b41 andi a4,a4,16
|
||
e12: c705 beqz a4,e3a <RCC_GetClocksFreq+0xee>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:627
|
||
RCC_Clocks->SYSCLK_Frequency = (HSI_VALUE)*pllmull;
|
||
e14: 007a1737 lui a4,0x7a1
|
||
e18: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79836c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:662
|
||
RCC_Clocks->SYSCLK_Frequency = RCC_Clocks->SYSCLK_Frequency * pllmull;
|
||
e1c: 02f707b3 mul a5,a4,a5
|
||
e20: c11c sw a5,0(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:667
|
||
if(Pll_6_5 == 1)
|
||
e22: d621 beqz a2,d6a <RCC_GetClocksFreq+0x1e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:668
|
||
RCC_Clocks->SYSCLK_Frequency = (RCC_Clocks->SYSCLK_Frequency / 2);
|
||
e24: 411c lw a5,0(a0)
|
||
e26: 8385 srli a5,a5,0x1
|
||
e28: b781 j d68 <RCC_GetClocksFreq+0x1c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:578
|
||
uint8_t Pll_6_5 = 0;
|
||
e2a: 4601 li a2,0
|
||
e2c: bf6d j de6 <RCC_GetClocksFreq+0x9a>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:615
|
||
Pll_6_5 = 1;
|
||
e2e: 4605 li a2,1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:614
|
||
pllmull = 13; /* *6.5 */
|
||
e30: 47b5 li a5,13
|
||
e32: bfd1 j e06 <RCC_GetClocksFreq+0xba>
|
||
e34: 4601 li a2,0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:618
|
||
pllmull = 15;
|
||
e36: 47bd li a5,15
|
||
e38: b7f9 j e06 <RCC_GetClocksFreq+0xba>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:631
|
||
RCC_Clocks->SYSCLK_Frequency = (HSI_VALUE >> 1) * pllmull;
|
||
e3a: 003d1737 lui a4,0x3d1
|
||
e3e: 90070713 addi a4,a4,-1792 # 3d0900 <_data_lma+0x3c7a6c>
|
||
e42: bfe9 j e1c <RCC_GetClocksFreq+0xd0>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:646
|
||
if(RCC->CFGR2 & (1<<16)){ /* PLL2 */
|
||
e44: 400215b7 lui a1,0x40021
|
||
e48: 55d8 lw a4,44(a1)
|
||
e4a: 00f71693 slli a3,a4,0xf
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:647
|
||
RCC_Clocks->SYSCLK_Frequency = HSE_VALUE/(((RCC->CFGR2 & 0xF0)>>4) + 1); /* PREDIV2 */
|
||
e4e: 55d8 lw a4,44(a1)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:646
|
||
if(RCC->CFGR2 & (1<<16)){ /* PLL2 */
|
||
e50: 0406df63 bgez a3,eae <RCC_GetClocksFreq+0x162>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:647
|
||
RCC_Clocks->SYSCLK_Frequency = HSE_VALUE/(((RCC->CFGR2 & 0xF0)>>4) + 1); /* PREDIV2 */
|
||
e54: 8311 srli a4,a4,0x4
|
||
e56: 8b3d andi a4,a4,15
|
||
e58: 00170693 addi a3,a4,1
|
||
e5c: 007a1737 lui a4,0x7a1
|
||
e60: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79836c>
|
||
e64: 02d75733 divu a4,a4,a3
|
||
e68: c118 sw a4,0(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:649
|
||
Pll2mull = (uint8_t)((RCC->CFGR2 & 0xF00)>>8);
|
||
e6a: 55d4 lw a3,44(a1)
|
||
e6c: 82a1 srli a3,a3,0x8
|
||
e6e: 8abd andi a3,a3,15
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:651
|
||
if(Pll2mull == 0) RCC_Clocks->SYSCLK_Frequency = (RCC_Clocks->SYSCLK_Frequency * 5)>>1;
|
||
e70: e28d bnez a3,e92 <RCC_GetClocksFreq+0x146>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:651 (discriminator 1)
|
||
e72: 4695 li a3,5
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:652 (discriminator 1)
|
||
else if(Pll2mull == 1) RCC_Clocks->SYSCLK_Frequency = (RCC_Clocks->SYSCLK_Frequency * 25)>>1;
|
||
e74: 02d70733 mul a4,a4,a3
|
||
e78: 8305 srli a4,a4,0x1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:654
|
||
else RCC_Clocks->SYSCLK_Frequency = RCC_Clocks->SYSCLK_Frequency * (Pll2mull + 2);
|
||
e7a: c118 sw a4,0(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:656
|
||
RCC_Clocks->SYSCLK_Frequency = RCC_Clocks->SYSCLK_Frequency/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */
|
||
e7c: 40021737 lui a4,0x40021
|
||
e80: 5758 lw a4,44(a4)
|
||
e82: 4114 lw a3,0(a0)
|
||
e84: 8b3d andi a4,a4,15
|
||
e86: 0705 addi a4,a4,1
|
||
e88: 02e6d733 divu a4,a3,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:659
|
||
RCC_Clocks->SYSCLK_Frequency = HSE_VALUE/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */
|
||
e8c: c118 sw a4,0(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:662
|
||
RCC_Clocks->SYSCLK_Frequency = RCC_Clocks->SYSCLK_Frequency * pllmull;
|
||
e8e: 4118 lw a4,0(a0)
|
||
e90: b771 j e1c <RCC_GetClocksFreq+0xd0>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:652
|
||
else if(Pll2mull == 1) RCC_Clocks->SYSCLK_Frequency = (RCC_Clocks->SYSCLK_Frequency * 25)>>1;
|
||
e92: 4585 li a1,1
|
||
e94: 00b69463 bne a3,a1,e9c <RCC_GetClocksFreq+0x150>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:652 (discriminator 1)
|
||
e98: 46e5 li a3,25
|
||
e9a: bfe9 j e74 <RCC_GetClocksFreq+0x128>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:653
|
||
else if(Pll2mull == 15) RCC_Clocks->SYSCLK_Frequency = RCC_Clocks->SYSCLK_Frequency * 20;
|
||
e9c: 45bd li a1,15
|
||
e9e: 00b69663 bne a3,a1,eaa <RCC_GetClocksFreq+0x15e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:653 (discriminator 1)
|
||
ea2: 46d1 li a3,20
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:654
|
||
else RCC_Clocks->SYSCLK_Frequency = RCC_Clocks->SYSCLK_Frequency * (Pll2mull + 2);
|
||
ea4: 02e68733 mul a4,a3,a4
|
||
ea8: bfc9 j e7a <RCC_GetClocksFreq+0x12e>
|
||
eaa: 0689 addi a3,a3,2
|
||
eac: bfe5 j ea4 <RCC_GetClocksFreq+0x158>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:659
|
||
RCC_Clocks->SYSCLK_Frequency = HSE_VALUE/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */
|
||
eae: 8b3d andi a4,a4,15
|
||
eb0: 00170693 addi a3,a4,1 # 40021001 <_eusrstack+0x20001001>
|
||
eb4: 007a1737 lui a4,0x7a1
|
||
eb8: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79836c>
|
||
ebc: 02d75733 divu a4,a4,a3
|
||
ec0: b7f1 j e8c <RCC_GetClocksFreq+0x140>
|
||
|
||
00000ec2 <RCC_AHBPeriphClockCmd>:
|
||
RCC_AHBPeriphClockCmd():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:722
|
||
*
|
||
* @return none
|
||
*/
|
||
void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState)
|
||
{
|
||
if(NewState != DISABLE)
|
||
ec2: c599 beqz a1,ed0 <RCC_AHBPeriphClockCmd+0xe>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:724
|
||
{
|
||
RCC->AHBPCENR |= RCC_AHBPeriph;
|
||
ec4: 40021737 lui a4,0x40021
|
||
ec8: 4b5c lw a5,20(a4)
|
||
eca: 8d5d or a0,a0,a5
|
||
ecc: cb48 sw a0,20(a4)
|
||
ece: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:728
|
||
}
|
||
else
|
||
{
|
||
RCC->AHBPCENR &= ~RCC_AHBPeriph;
|
||
ed0: 400217b7 lui a5,0x40021
|
||
ed4: 4bd8 lw a4,20(a5)
|
||
ed6: fff54513 not a0,a0
|
||
eda: 8d79 and a0,a0,a4
|
||
edc: cbc8 sw a0,20(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:730
|
||
}
|
||
}
|
||
ede: 8082 ret
|
||
|
||
00000ee0 <RCC_APB2PeriphClockCmd>:
|
||
RCC_APB2PeriphClockCmd():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:758
|
||
*
|
||
* @return none
|
||
*/
|
||
void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState)
|
||
{
|
||
if(NewState != DISABLE)
|
||
ee0: c599 beqz a1,eee <RCC_APB2PeriphClockCmd+0xe>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:760
|
||
{
|
||
RCC->APB2PCENR |= RCC_APB2Periph;
|
||
ee2: 40021737 lui a4,0x40021
|
||
ee6: 4f1c lw a5,24(a4)
|
||
ee8: 8d5d or a0,a0,a5
|
||
eea: cf08 sw a0,24(a4)
|
||
eec: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:764
|
||
}
|
||
else
|
||
{
|
||
RCC->APB2PCENR &= ~RCC_APB2Periph;
|
||
eee: 400217b7 lui a5,0x40021
|
||
ef2: 4f98 lw a4,24(a5)
|
||
ef4: fff54513 not a0,a0
|
||
ef8: 8d79 and a0,a0,a4
|
||
efa: cf88 sw a0,24(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:766
|
||
}
|
||
}
|
||
efc: 8082 ret
|
||
|
||
00000efe <RCC_APB1PeriphClockCmd>:
|
||
RCC_APB1PeriphClockCmd():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:803
|
||
*
|
||
* @return none
|
||
*/
|
||
void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState)
|
||
{
|
||
if(NewState != DISABLE)
|
||
efe: c599 beqz a1,f0c <RCC_APB1PeriphClockCmd+0xe>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:805
|
||
{
|
||
RCC->APB1PCENR |= RCC_APB1Periph;
|
||
f00: 40021737 lui a4,0x40021
|
||
f04: 4f5c lw a5,28(a4)
|
||
f06: 8d5d or a0,a0,a5
|
||
f08: cf48 sw a0,28(a4)
|
||
f0a: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:809
|
||
}
|
||
else
|
||
{
|
||
RCC->APB1PCENR &= ~RCC_APB1Periph;
|
||
f0c: 400217b7 lui a5,0x40021
|
||
f10: 4fd8 lw a4,28(a5)
|
||
f12: fff54513 not a0,a0
|
||
f16: 8d79 and a0,a0,a4
|
||
f18: cfc8 sw a0,28(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:811
|
||
}
|
||
}
|
||
f1a: 8082 ret
|
||
|
||
00000f1c <RCC_AHBPeriphResetCmd>:
|
||
RCC_AHBPeriphResetCmd():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1295
|
||
*
|
||
* @return none
|
||
*/
|
||
void RCC_AHBPeriphResetCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState)
|
||
{
|
||
if(NewState != DISABLE)
|
||
f1c: c599 beqz a1,f2a <RCC_AHBPeriphResetCmd+0xe>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1297
|
||
{
|
||
RCC->AHBRSTR |= RCC_AHBPeriph;
|
||
f1e: 40021737 lui a4,0x40021
|
||
f22: 571c lw a5,40(a4)
|
||
f24: 8d5d or a0,a0,a5
|
||
f26: d708 sw a0,40(a4)
|
||
f28: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1301
|
||
}
|
||
else
|
||
{
|
||
RCC->AHBRSTR &= ~RCC_AHBPeriph;
|
||
f2a: 400217b7 lui a5,0x40021
|
||
f2e: 5798 lw a4,40(a5)
|
||
f30: fff54513 not a0,a0
|
||
f34: 8d79 and a0,a0,a4
|
||
f36: d788 sw a0,40(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1303
|
||
}
|
||
}
|
||
f38: 8082 ret
|
||
|
||
00000f3a <RCC_ETH1GCLKConfig>:
|
||
RCC_ETH1GCLKConfig():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1357
|
||
*
|
||
* @return none
|
||
*/
|
||
void RCC_ETH1GCLKConfig(uint32_t RCC_ETH1GCLKSource)
|
||
{
|
||
RCC->CFGR2 &= ~(3 << 20);
|
||
f3a: 400217b7 lui a5,0x40021
|
||
f3e: 57d8 lw a4,44(a5)
|
||
f40: ffd006b7 lui a3,0xffd00
|
||
f44: 16fd addi a3,a3,-1
|
||
f46: 8f75 and a4,a4,a3
|
||
f48: d7d8 sw a4,44(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1358
|
||
RCC->CFGR2 |= RCC_ETH1GCLKSource << 20;
|
||
f4a: 57d8 lw a4,44(a5)
|
||
f4c: 0552 slli a0,a0,0x14
|
||
f4e: 8d59 or a0,a0,a4
|
||
f50: d7c8 sw a0,44(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1359
|
||
}
|
||
f52: 8082 ret
|
||
|
||
00000f54 <RCC_ETH1G_125Mcmd>:
|
||
RCC_ETH1G_125Mcmd():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1372
|
||
*
|
||
* @return none
|
||
*/
|
||
void RCC_ETH1G_125Mcmd(FunctionalState NewState)
|
||
{
|
||
if(NewState != DISABLE)
|
||
f54: c909 beqz a0,f66 <RCC_ETH1G_125Mcmd+0x12>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1374
|
||
{
|
||
RCC->CFGR2 |= (1 << 22);
|
||
f56: 40021737 lui a4,0x40021
|
||
f5a: 575c lw a5,44(a4)
|
||
f5c: 004006b7 lui a3,0x400
|
||
f60: 8fd5 or a5,a5,a3
|
||
f62: d75c sw a5,44(a4)
|
||
f64: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1378
|
||
}
|
||
else
|
||
{
|
||
RCC->CFGR2 &= ~(1 << 22);
|
||
f66: 400216b7 lui a3,0x40021
|
||
f6a: 56dc lw a5,44(a3)
|
||
f6c: ffc00737 lui a4,0xffc00
|
||
f70: 177d addi a4,a4,-1
|
||
f72: 8ff9 and a5,a5,a4
|
||
f74: d6dc sw a5,44(a3)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:1380
|
||
}
|
||
}
|
||
f76: 8082 ret
|
||
|
||
00000f78 <TIM_TimeBaseInit>:
|
||
TIM_TimeBaseInit():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:110
|
||
*/
|
||
void TIM_TimeBaseInit(TIM_TypeDef *TIMx, TIM_TimeBaseInitTypeDef *TIM_TimeBaseInitStruct)
|
||
{
|
||
uint16_t tmpcr1 = 0;
|
||
uint32_t temper1 = 0;
|
||
temper1 = ((*( uint32_t * )0x1FFFF704) & 0x000000F0) >> 4;
|
||
f78: 1ffff737 lui a4,0x1ffff
|
||
f7c: 70472703 lw a4,1796(a4) # 1ffff704 <_data_lma+0x1fff6870>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:111
|
||
tmpcr1 = TIMx->CTLR1;
|
||
f80: 211e lhu a5,0(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:113
|
||
|
||
if(((temper1>=4)&&(temper1<=8))&&((TIMx == TIM1) || (TIMx == TIM8) || (TIMx == TIM9) || (TIMx == TIM10)))
|
||
f82: 4691 li a3,4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:110
|
||
temper1 = ((*( uint32_t * )0x1FFFF704) & 0x000000F0) >> 4;
|
||
f84: 8311 srli a4,a4,0x4
|
||
f86: 8b3d andi a4,a4,15
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:111
|
||
tmpcr1 = TIMx->CTLR1;
|
||
f88: 07c2 slli a5,a5,0x10
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:113
|
||
if(((temper1>=4)&&(temper1<=8))&&((TIMx == TIM1) || (TIMx == TIM8) || (TIMx == TIM9) || (TIMx == TIM10)))
|
||
f8a: 1771 addi a4,a4,-4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:111
|
||
tmpcr1 = TIMx->CTLR1;
|
||
f8c: 83c1 srli a5,a5,0x10
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:113
|
||
if(((temper1>=4)&&(temper1<=8))&&((TIMx == TIM1) || (TIMx == TIM8) || (TIMx == TIM9) || (TIMx == TIM10)))
|
||
f8e: 02e6e663 bltu a3,a4,fba <TIM_TimeBaseInit+0x42>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:113 (discriminator 1)
|
||
f92: 40013737 lui a4,0x40013
|
||
f96: c0070693 addi a3,a4,-1024 # 40012c00 <_eusrstack+0x1fff2c00>
|
||
f9a: 00d50e63 beq a0,a3,fb6 <TIM_TimeBaseInit+0x3e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:113 (discriminator 2)
|
||
f9e: 40070713 addi a4,a4,1024
|
||
fa2: 00e50a63 beq a0,a4,fb6 <TIM_TimeBaseInit+0x3e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:113 (discriminator 3)
|
||
fa6: 40015737 lui a4,0x40015
|
||
faa: c0070693 addi a3,a4,-1024 # 40014c00 <_eusrstack+0x1fff4c00>
|
||
fae: 00d50463 beq a0,a3,fb6 <TIM_TimeBaseInit+0x3e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:113 (discriminator 4)
|
||
fb2: 00e51a63 bne a0,a4,fc6 <TIM_TimeBaseInit+0x4e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:115
|
||
{
|
||
tmpcr1 |= 1<<13;
|
||
fb6: 6709 lui a4,0x2
|
||
fb8: 8fd9 or a5,a5,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:118
|
||
}
|
||
|
||
if((TIMx == TIM1) || (TIMx == TIM2) || (TIMx == TIM3) || (TIMx == TIM4) ||
|
||
fba: 40013737 lui a4,0x40013
|
||
fbe: c0070713 addi a4,a4,-1024 # 40012c00 <_eusrstack+0x1fff2c00>
|
||
fc2: 04e50263 beq a0,a4,1006 <TIM_TimeBaseInit+0x8e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:118 (discriminator 1)
|
||
fc6: 40000737 lui a4,0x40000
|
||
fca: 02e50e63 beq a0,a4,1006 <TIM_TimeBaseInit+0x8e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:118 (discriminator 2)
|
||
fce: 40070713 addi a4,a4,1024 # 40000400 <_eusrstack+0x1ffe0400>
|
||
fd2: 02e50a63 beq a0,a4,1006 <TIM_TimeBaseInit+0x8e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:118 (discriminator 3)
|
||
fd6: 40001737 lui a4,0x40001
|
||
fda: 80070693 addi a3,a4,-2048 # 40000800 <_eusrstack+0x1ffe0800>
|
||
fde: 02d50463 beq a0,a3,1006 <TIM_TimeBaseInit+0x8e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:118 (discriminator 4)
|
||
fe2: c0070713 addi a4,a4,-1024
|
||
fe6: 02e50063 beq a0,a4,1006 <TIM_TimeBaseInit+0x8e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:119
|
||
(TIMx == TIM5) || (TIMx == TIM8) || (TIMx == TIM9) || (TIMx == TIM10))
|
||
fea: 40013737 lui a4,0x40013
|
||
fee: 40070713 addi a4,a4,1024 # 40013400 <_eusrstack+0x1fff3400>
|
||
ff2: 00e50a63 beq a0,a4,1006 <TIM_TimeBaseInit+0x8e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:119 (discriminator 1)
|
||
ff6: 40015737 lui a4,0x40015
|
||
ffa: c0070693 addi a3,a4,-1024 # 40014c00 <_eusrstack+0x1fff4c00>
|
||
ffe: 00d50463 beq a0,a3,1006 <TIM_TimeBaseInit+0x8e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:119 (discriminator 2)
|
||
1002: 00e51863 bne a0,a4,1012 <TIM_TimeBaseInit+0x9a>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:121
|
||
{
|
||
tmpcr1 &= (uint16_t)(~((uint16_t)(TIM_DIR | TIM_CMS)));
|
||
1006: f8f7f793 andi a5,a5,-113
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:122
|
||
tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_CounterMode;
|
||
100a: 21ba lhu a4,2(a1)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:121
|
||
tmpcr1 &= (uint16_t)(~((uint16_t)(TIM_DIR | TIM_CMS)));
|
||
100c: 07c2 slli a5,a5,0x10
|
||
100e: 83c1 srli a5,a5,0x10
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:122
|
||
tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_CounterMode;
|
||
1010: 8fd9 or a5,a5,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:125
|
||
}
|
||
|
||
if((TIMx != TIM6) && (TIMx != TIM7))
|
||
1012: 40001737 lui a4,0x40001
|
||
1016: 00e50c63 beq a0,a4,102e <TIM_TimeBaseInit+0xb6>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:125 (discriminator 1)
|
||
101a: 40070713 addi a4,a4,1024 # 40001400 <_eusrstack+0x1ffe1400>
|
||
101e: 00e50863 beq a0,a4,102e <TIM_TimeBaseInit+0xb6>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:127
|
||
{
|
||
tmpcr1 &= (uint16_t)(~((uint16_t)TIM_CTLR1_CKD));
|
||
1022: cff7f793 andi a5,a5,-769
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:128
|
||
tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_ClockDivision;
|
||
1026: 21fa lhu a4,6(a1)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:127
|
||
tmpcr1 &= (uint16_t)(~((uint16_t)TIM_CTLR1_CKD));
|
||
1028: 07c2 slli a5,a5,0x10
|
||
102a: 83c1 srli a5,a5,0x10
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:128
|
||
tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_ClockDivision;
|
||
102c: 8fd9 or a5,a5,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:131
|
||
}
|
||
|
||
TIMx->CTLR1 = tmpcr1;
|
||
102e: a11e sh a5,0(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:132
|
||
TIMx->ATRLR = TIM_TimeBaseInitStruct->TIM_Period;
|
||
1030: 21de lhu a5,4(a1)
|
||
1032: b55e sh a5,44(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:133
|
||
TIMx->PSC = TIM_TimeBaseInitStruct->TIM_Prescaler;
|
||
1034: 219e lhu a5,0(a1)
|
||
1036: b51e sh a5,40(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:135
|
||
|
||
if((TIMx == TIM1) || (TIMx == TIM8) || (TIMx == TIM9) || (TIMx == TIM10))
|
||
1038: 400137b7 lui a5,0x40013
|
||
103c: c0078713 addi a4,a5,-1024 # 40012c00 <_eusrstack+0x1fff2c00>
|
||
1040: 00e50e63 beq a0,a4,105c <TIM_TimeBaseInit+0xe4>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:135 (discriminator 1)
|
||
1044: 40078793 addi a5,a5,1024
|
||
1048: 00f50a63 beq a0,a5,105c <TIM_TimeBaseInit+0xe4>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:135 (discriminator 2)
|
||
104c: 400157b7 lui a5,0x40015
|
||
1050: c0078713 addi a4,a5,-1024 # 40014c00 <_eusrstack+0x1fff4c00>
|
||
1054: 00e50463 beq a0,a4,105c <TIM_TimeBaseInit+0xe4>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:135 (discriminator 3)
|
||
1058: 00f51463 bne a0,a5,1060 <TIM_TimeBaseInit+0xe8>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:137
|
||
{
|
||
TIMx->RPTCR = TIM_TimeBaseInitStruct->TIM_RepetitionCounter;
|
||
105c: 259c lbu a5,8(a1)
|
||
105e: b91e sh a5,48(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:140
|
||
}
|
||
|
||
TIMx->SWEVGR = TIM_PSCReloadMode_Immediate;
|
||
1060: 4785 li a5,1
|
||
1062: a95e sh a5,20(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:141
|
||
}
|
||
1064: 8082 ret
|
||
|
||
00001066 <TIM_Cmd>:
|
||
TIM_Cmd():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:522
|
||
*/
|
||
void TIM_Cmd(TIM_TypeDef *TIMx, FunctionalState NewState)
|
||
{
|
||
if(NewState != DISABLE)
|
||
{
|
||
TIMx->CTLR1 |= TIM_CEN;
|
||
1066: 211e lhu a5,0(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:520
|
||
if(NewState != DISABLE)
|
||
1068: c589 beqz a1,1072 <TIM_Cmd+0xc>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:522
|
||
TIMx->CTLR1 |= TIM_CEN;
|
||
106a: 0017e793 ori a5,a5,1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:526
|
||
}
|
||
else
|
||
{
|
||
TIMx->CTLR1 &= (uint16_t)(~((uint16_t)TIM_CEN));
|
||
106e: a11e sh a5,0(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:528
|
||
}
|
||
}
|
||
1070: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:526
|
||
TIMx->CTLR1 &= (uint16_t)(~((uint16_t)TIM_CEN));
|
||
1072: 07c2 slli a5,a5,0x10
|
||
1074: 83c1 srli a5,a5,0x10
|
||
1076: 9bf9 andi a5,a5,-2
|
||
1078: 07c2 slli a5,a5,0x10
|
||
107a: 83c1 srli a5,a5,0x10
|
||
107c: bfcd j 106e <TIM_Cmd+0x8>
|
||
|
||
0000107e <TIM_ITConfig>:
|
||
TIM_ITConfig():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:576
|
||
*/
|
||
void TIM_ITConfig(TIM_TypeDef *TIMx, uint16_t TIM_IT, FunctionalState NewState)
|
||
{
|
||
if(NewState != DISABLE)
|
||
{
|
||
TIMx->DMAINTENR |= TIM_IT;
|
||
107e: 255e lhu a5,12(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:574
|
||
if(NewState != DISABLE)
|
||
1080: c601 beqz a2,1088 <TIM_ITConfig+0xa>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:576
|
||
TIMx->DMAINTENR |= TIM_IT;
|
||
1082: 8ddd or a1,a1,a5
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:580
|
||
}
|
||
else
|
||
{
|
||
TIMx->DMAINTENR &= (uint16_t)~TIM_IT;
|
||
1084: a54e sh a1,12(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:582
|
||
}
|
||
}
|
||
1086: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_tim.c:580
|
||
TIMx->DMAINTENR &= (uint16_t)~TIM_IT;
|
||
1088: fff5c593 not a1,a1
|
||
108c: 8dfd and a1,a1,a5
|
||
108e: bfdd j 1084 <TIM_ITConfig+0x6>
|
||
|
||
00001090 <TIM_ClearITPendingBit>:
|
||
TIM_ClearITPendingBit():
|
||
1090: fff5c593 not a1,a1
|
||
1094: 05c2 slli a1,a1,0x10
|
||
1096: 81c1 srli a1,a1,0x10
|
||
1098: a90e sh a1,16(a0)
|
||
109a: 8082 ret
|
||
|
||
0000109c <USART_Init>:
|
||
USART_Init():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:122
|
||
* USART peripheral.
|
||
*
|
||
* @return none
|
||
*/
|
||
void USART_Init(USART_TypeDef *USARTx, USART_InitTypeDef *USART_InitStruct)
|
||
{
|
||
109c: 954ff2ef jal t0,1f0 <__riscv_save_0>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:134
|
||
if(USART_InitStruct->USART_HardwareFlowControl != USART_HardwareFlowControl_None)
|
||
{
|
||
}
|
||
|
||
usartxbase = (uint32_t)USARTx;
|
||
tmpreg = USARTx->CTLR2;
|
||
10a0: 2916 lhu a3,16(a0)
|
||
10a2: 77f5 lui a5,0xffffd
|
||
10a4: 17fd addi a5,a5,-1
|
||
10a6: 8ff5 and a5,a5,a3
|
||
10a8: 21f6 lhu a3,6(a1)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:129
|
||
if(USART_InitStruct->USART_HardwareFlowControl != USART_HardwareFlowControl_None)
|
||
10aa: 25da lhu a4,12(a1)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:122
|
||
{
|
||
10ac: 7179 addi sp,sp,-48
|
||
10ae: 8fd5 or a5,a5,a3
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:138
|
||
tmpreg &= CTLR2_STOP_CLEAR_Mask;
|
||
tmpreg |= (uint32_t)USART_InitStruct->USART_StopBits;
|
||
|
||
USARTx->CTLR2 = (uint16_t)tmpreg;
|
||
10b0: a91e sh a5,16(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:139
|
||
tmpreg = USARTx->CTLR1;
|
||
10b2: 2556 lhu a3,12(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:141
|
||
tmpreg &= CTLR1_CLEAR_Mask;
|
||
tmpreg |= (uint32_t)USART_InitStruct->USART_WordLength | USART_InitStruct->USART_Parity |
|
||
10b4: 77fd lui a5,0xfffff
|
||
10b6: 9f378793 addi a5,a5,-1549 # ffffe9f3 <_eusrstack+0xdffde9f3>
|
||
10ba: 8ff5 and a5,a5,a3
|
||
10bc: 21d6 lhu a3,4(a1)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:122
|
||
{
|
||
10be: 842a mv s0,a0
|
||
10c0: c62e sw a1,12(sp)
|
||
10c2: 8fd5 or a5,a5,a3
|
||
10c4: 2596 lhu a3,8(a1)
|
||
10c6: 8fd5 or a5,a5,a3
|
||
10c8: 25b6 lhu a3,10(a1)
|
||
10ca: 8fd5 or a5,a5,a3
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:143
|
||
USART_InitStruct->USART_Mode;
|
||
USARTx->CTLR1 = (uint16_t)tmpreg;
|
||
10cc: a55e sh a5,12(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:145
|
||
|
||
tmpreg = USARTx->CTLR3;
|
||
10ce: 295e lhu a5,20(a0)
|
||
10d0: 07c2 slli a5,a5,0x10
|
||
10d2: 83c1 srli a5,a5,0x10
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:147
|
||
tmpreg &= CTLR3_CLEAR_Mask;
|
||
tmpreg |= USART_InitStruct->USART_HardwareFlowControl;
|
||
10d4: cff7f793 andi a5,a5,-769
|
||
10d8: 8fd9 or a5,a5,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:148
|
||
USARTx->CTLR3 = (uint16_t)tmpreg;
|
||
10da: a95e sh a5,20(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:150
|
||
|
||
RCC_GetClocksFreq(&RCC_ClocksStatus);
|
||
10dc: 0868 addi a0,sp,28
|
||
10de: 31bd jal d4c <RCC_GetClocksFreq>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:152
|
||
|
||
if(usartxbase == USART1_BASE)
|
||
10e0: 400147b7 lui a5,0x40014
|
||
10e4: 80078793 addi a5,a5,-2048 # 40013800 <_eusrstack+0x1fff3800>
|
||
10e8: 45b2 lw a1,12(sp)
|
||
10ea: 02f41e63 bne s0,a5,1126 <USART_Init+0x8a>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:154
|
||
{
|
||
apbclock = RCC_ClocksStatus.PCLK2_Frequency;
|
||
10ee: 57a2 lw a5,40(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:161
|
||
else
|
||
{
|
||
apbclock = RCC_ClocksStatus.PCLK1_Frequency;
|
||
}
|
||
|
||
integerdivider = ((25 * apbclock) / (4 * (USART_InitStruct->USART_BaudRate)));
|
||
10f0: 4765 li a4,25
|
||
10f2: 02e787b3 mul a5,a5,a4
|
||
10f6: 4198 lw a4,0(a1)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:162
|
||
tmpreg = (integerdivider / 100) << 4;
|
||
10f8: 06400693 li a3,100
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:161
|
||
integerdivider = ((25 * apbclock) / (4 * (USART_InitStruct->USART_BaudRate)));
|
||
10fc: 070a slli a4,a4,0x2
|
||
10fe: 02e7d7b3 divu a5,a5,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:162
|
||
tmpreg = (integerdivider / 100) << 4;
|
||
1102: 02d7d733 divu a4,a5,a3
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:164
|
||
fractionaldivider = integerdivider - (100 * (tmpreg >> 4));
|
||
tmpreg |= ((((fractionaldivider * 16) + 50) / 100)) & ((uint8_t)0x0F);
|
||
1106: 02d7f7b3 remu a5,a5,a3
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:162
|
||
tmpreg = (integerdivider / 100) << 4;
|
||
110a: 0712 slli a4,a4,0x4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:164
|
||
tmpreg |= ((((fractionaldivider * 16) + 50) / 100)) & ((uint8_t)0x0F);
|
||
110c: 0792 slli a5,a5,0x4
|
||
110e: 03278793 addi a5,a5,50
|
||
1112: 02d7d7b3 divu a5,a5,a3
|
||
1116: 8bbd andi a5,a5,15
|
||
1118: 8fd9 or a5,a5,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:165
|
||
USARTx->BRR = (uint16_t)tmpreg;
|
||
111a: 07c2 slli a5,a5,0x10
|
||
111c: 83c1 srli a5,a5,0x10
|
||
111e: a41e sh a5,8(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:166
|
||
}
|
||
1120: 6145 addi sp,sp,48
|
||
1122: 8f2ff06f j 214 <__riscv_restore_0>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:158
|
||
apbclock = RCC_ClocksStatus.PCLK1_Frequency;
|
||
1126: 5792 lw a5,36(sp)
|
||
1128: b7e1 j 10f0 <USART_Init+0x54>
|
||
|
||
0000112a <USART_Cmd>:
|
||
USART_Cmd():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:244
|
||
*
|
||
* @return none
|
||
*/
|
||
void USART_Cmd(USART_TypeDef *USARTx, FunctionalState NewState)
|
||
{
|
||
if(NewState != DISABLE)
|
||
112a: c591 beqz a1,1136 <USART_Cmd+0xc>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:246
|
||
{
|
||
USARTx->CTLR1 |= CTLR1_UE_Set;
|
||
112c: 255e lhu a5,12(a0)
|
||
112e: 6709 lui a4,0x2
|
||
1130: 8fd9 or a5,a5,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:250
|
||
}
|
||
else
|
||
{
|
||
USARTx->CTLR1 &= CTLR1_UE_Reset;
|
||
1132: a55e sh a5,12(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:252
|
||
}
|
||
}
|
||
1134: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:250
|
||
USARTx->CTLR1 &= CTLR1_UE_Reset;
|
||
1136: 255a lhu a4,12(a0)
|
||
1138: 77f9 lui a5,0xffffe
|
||
113a: 17fd addi a5,a5,-1
|
||
113c: 8ff9 and a5,a5,a4
|
||
113e: bfd5 j 1132 <USART_Cmd+0x8>
|
||
|
||
00001140 <USART_SendData>:
|
||
USART_SendData():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:447
|
||
*
|
||
* @return none
|
||
*/
|
||
void USART_SendData(USART_TypeDef *USARTx, uint16_t Data)
|
||
{
|
||
USARTx->DATAR = (Data & (uint16_t)0x01FF);
|
||
1140: 1ff5f593 andi a1,a1,511
|
||
1144: a14e sh a1,4(a0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:448
|
||
}
|
||
1146: 8082 ret
|
||
|
||
00001148 <USART_GetFlagStatus>:
|
||
USART_GetFlagStatus():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:649
|
||
*/
|
||
FlagStatus USART_GetFlagStatus(USART_TypeDef *USARTx, uint16_t USART_FLAG)
|
||
{
|
||
FlagStatus bitstatus = RESET;
|
||
|
||
if((USARTx->STATR & USART_FLAG) != (uint16_t)RESET)
|
||
1148: 210a lhu a0,0(a0)
|
||
114a: 8d6d and a0,a0,a1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_usart.c:658
|
||
else
|
||
{
|
||
bitstatus = RESET;
|
||
}
|
||
return bitstatus;
|
||
}
|
||
114c: 00a03533 snez a0,a0
|
||
1150: 8082 ret
|
||
|
||
00001152 <ETH_TxPktChainMode>:
|
||
ETH_TxPktChainMode():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:484
|
||
* @return Send status.
|
||
*/
|
||
uint32_t ETH_TxPktChainMode(uint16_t len, uint32_t *pBuff )
|
||
{
|
||
/* Check if the descriptor is owned by the ETHERNET DMA (when set) or CPU (when reset) */
|
||
if((DMATxDescToSet->Status & ETH_DMATxDesc_OWN) != (u32)RESET)
|
||
1152: 86c1a783 lw a5,-1940(gp) # 2000008c <DMATxDescToSet>
|
||
1156: 4398 lw a4,0(a5)
|
||
1158: 02074b63 bltz a4,118e <ETH_TxPktChainMode+0x3c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:497
|
||
|
||
/* Setting the last segment and first segment bits (in this case a frame is transmitted in one descriptor) */
|
||
#if HARDWARE_CHECKSUM_CONFIG
|
||
DMATxDescToSet->Status |= ETH_DMATxDesc_LS | ETH_DMATxDesc_FS | ETH_DMATxDesc_CIC_TCPUDPICMP_Full;
|
||
#else
|
||
DMATxDescToSet->Status |= ETH_DMATxDesc_LS | ETH_DMATxDesc_FS;
|
||
115c: 4398 lw a4,0(a5)
|
||
115e: 30000637 lui a2,0x30000
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:490
|
||
DMATxDescToSet->ControlBufferSize = (len & ETH_DMATxDesc_TBS1);
|
||
1162: 054e slli a0,a0,0x13
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:497
|
||
DMATxDescToSet->Status |= ETH_DMATxDesc_LS | ETH_DMATxDesc_FS;
|
||
1164: 8f51 or a4,a4,a2
|
||
1166: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:501
|
||
#endif
|
||
|
||
/* Set Own bit of the Tx descriptor Status: gives the buffer back to ETHERNET DMA */
|
||
DMATxDescToSet->Status |= ETH_DMATxDesc_OWN;
|
||
1168: 4398 lw a4,0(a5)
|
||
116a: 80000637 lui a2,0x80000
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:490
|
||
DMATxDescToSet->ControlBufferSize = (len & ETH_DMATxDesc_TBS1);
|
||
116e: 814d srli a0,a0,0x13
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:501
|
||
DMATxDescToSet->Status |= ETH_DMATxDesc_OWN;
|
||
1170: 8f51 or a4,a4,a2
|
||
1172: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:490
|
||
DMATxDescToSet->ControlBufferSize = (len & ETH_DMATxDesc_TBS1);
|
||
1174: c3c8 sw a0,4(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:491
|
||
DMATxDescToSet->Buffer1Addr = (uint32_t)pBuff;
|
||
1176: c78c sw a1,8(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:504
|
||
|
||
/* Clear TBUS ETHERNET DMA flag */
|
||
ETH->DMASR = ETH_DMASR_TBUS;
|
||
1178: 40029737 lui a4,0x40029
|
||
117c: 4611 li a2,4
|
||
117e: cb50 sw a2,20(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:506
|
||
/* Resume DMA transmission*/
|
||
ETH->DMATPDR = 0;
|
||
1180: 00072223 sw zero,4(a4) # 40029004 <_eusrstack+0x20009004>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:511
|
||
|
||
/* Update the ETHERNET DMA global Tx descriptor with next Tx descriptor */
|
||
/* Chained Mode */
|
||
/* Selects the next DMA Tx descriptor list for next buffer to send */
|
||
DMATxDescToSet = (ETH_DMADESCTypeDef*) (DMATxDescToSet->Buffer2NextDescAddr);
|
||
1184: 47dc lw a5,12(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:513
|
||
/* Return SUCCESS */
|
||
return ETH_SUCCESS;
|
||
1186: 4505 li a0,1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:511
|
||
DMATxDescToSet = (ETH_DMADESCTypeDef*) (DMATxDescToSet->Buffer2NextDescAddr);
|
||
1188: 86f1a623 sw a5,-1940(gp) # 2000008c <DMATxDescToSet>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:513
|
||
return ETH_SUCCESS;
|
||
118c: 8082 ret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:487
|
||
return ETH_ERROR;
|
||
118e: 4501 li a0,0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:514
|
||
}
|
||
1190: 8082 ret
|
||
|
||
00001192 <WCHNET_GetMacAddr>:
|
||
WCHNET_GetMacAddr():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:71
|
||
*p = *macaddr;
|
||
1192: 1ffff737 lui a4,0x1ffff
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:65
|
||
{
|
||
1196: 4781 li a5,0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:71
|
||
*p = *macaddr;
|
||
1198: 7ed70713 addi a4,a4,2029 # 1ffff7ed <_data_lma+0x1fff6959>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:69
|
||
for(i=0;i<6;i++)
|
||
119c: 4699 li a3,6
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:71 (discriminator 3)
|
||
*p = *macaddr;
|
||
119e: 40f70633 sub a2,a4,a5
|
||
11a2: 220c lbu a1,0(a2)
|
||
11a4: 00f50633 add a2,a0,a5
|
||
11a8: 0785 addi a5,a5,1
|
||
11aa: a20c sb a1,0(a2)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:69 (discriminator 3)
|
||
for(i=0;i<6;i++)
|
||
11ac: fed799e3 bne a5,a3,119e <WCHNET_GetMacAddr+0xc>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:75
|
||
}
|
||
11b0: 8082 ret
|
||
|
||
000011b2 <WCHNET_TimeIsr>:
|
||
WCHNET_TimeIsr():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:86
|
||
LocalTime += timperiod;
|
||
11b2: 88018793 addi a5,gp,-1920 # 200000a0 <LocalTime>
|
||
11b6: 4398 lw a4,0(a5)
|
||
11b8: 953a add a0,a0,a4
|
||
11ba: c388 sw a0,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:87
|
||
}
|
||
11bc: 8082 ret
|
||
|
||
000011be <ETH_RGMIIPinInit>:
|
||
ETH_RGMIIPinInit():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:143
|
||
{
|
||
11be: 80aff2ef jal t0,1c8 <__riscv_save_10>
|
||
11c2: 1141 addi sp,sp,-16
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:146
|
||
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
|
||
11c4: 4585 li a1,1
|
||
11c6: 4505 li a0,1
|
||
11c8: 3b21 jal ee0 <RCC_APB2PeriphClockCmd>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:147
|
||
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC, ENABLE);
|
||
11ca: 4585 li a1,1
|
||
11cc: 4571 li a0,28
|
||
11ce: 3b09 jal ee0 <RCC_APB2PeriphClockCmd>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:148
|
||
GPIOB->CFGHR &= ~(0xff<<16);
|
||
11d0: 40011937 lui s2,0x40011
|
||
11d4: c0492783 lw a5,-1020(s2) # 40010c04 <_eusrstack+0x1fff0c04>
|
||
11d8: ff010737 lui a4,0xff010
|
||
11dc: 177d addi a4,a4,-1
|
||
11de: 8ff9 and a5,a5,a4
|
||
11e0: c0f92223 sw a5,-1020(s2)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:149
|
||
GPIOB->CFGHR |= (0xbb<<16);
|
||
11e4: c0492783 lw a5,-1020(s2)
|
||
11e8: 00bb0737 lui a4,0xbb0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:152
|
||
GPIO_Output(GPIOA, GPIO_Pin_2);
|
||
11ec: 440d li s0,3
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:149
|
||
GPIOB->CFGHR |= (0xbb<<16);
|
||
11ee: 8fd9 or a5,a5,a4
|
||
11f0: c0f92223 sw a5,-1020(s2)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:150
|
||
GPIOB->CFGLR &= ~(0xff<<4);
|
||
11f4: c0092783 lw a5,-1024(s2)
|
||
11f8: 777d lui a4,0xfffff
|
||
11fa: 073d addi a4,a4,15
|
||
11fc: 8ff9 and a5,a5,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:152
|
||
GPIO_Output(GPIOA, GPIO_Pin_2);
|
||
11fe: 44e1 li s1,24
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:150
|
||
GPIOB->CFGLR &= ~(0xff<<4);
|
||
1200: c0f92023 sw a5,-1024(s2)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:152
|
||
GPIO_Output(GPIOA, GPIO_Pin_2);
|
||
1204: 004c addi a1,sp,4
|
||
1206: 4791 li a5,4
|
||
1208: 80090513 addi a0,s2,-2048
|
||
120c: 827c sh a5,4(sp)
|
||
120e: c422 sw s0,8(sp)
|
||
1210: c626 sw s1,12(sp)
|
||
1212: 3c39 jal c30 <GPIO_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:153
|
||
GPIO_Output(GPIOA, GPIO_Pin_3);
|
||
1214: 4ba1 li s7,8
|
||
1216: 004c addi a1,sp,4
|
||
1218: 80090513 addi a0,s2,-2048
|
||
121c: 01711223 sh s7,4(sp)
|
||
1220: c422 sw s0,8(sp)
|
||
1222: c626 sw s1,12(sp)
|
||
1224: 3431 jal c30 <GPIO_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:154
|
||
GPIO_Output(GPIOA, GPIO_Pin_7);
|
||
1226: 08000b13 li s6,128
|
||
122a: 004c addi a1,sp,4
|
||
122c: 80090513 addi a0,s2,-2048
|
||
1230: 01611223 sh s6,4(sp)
|
||
1234: c422 sw s0,8(sp)
|
||
1236: c626 sw s1,12(sp)
|
||
1238: 3ae5 jal c30 <GPIO_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:155
|
||
GPIO_Output(GPIOC, GPIO_Pin_4);
|
||
123a: 47c1 li a5,16
|
||
123c: 004c addi a1,sp,4
|
||
123e: 40011537 lui a0,0x40011
|
||
1242: 827c sh a5,4(sp)
|
||
1244: c422 sw s0,8(sp)
|
||
1246: c626 sw s1,12(sp)
|
||
1248: 32e5 jal c30 <GPIO_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:156
|
||
GPIO_Output(GPIOC, GPIO_Pin_5);
|
||
124a: 02000793 li a5,32
|
||
124e: 004c addi a1,sp,4
|
||
1250: 40011537 lui a0,0x40011
|
||
1254: 827c sh a5,4(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:148
|
||
GPIOB->CFGHR &= ~(0xff<<16);
|
||
1256: c0090993 addi s3,s2,-1024
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:156
|
||
GPIO_Output(GPIOC, GPIO_Pin_5);
|
||
125a: c422 sw s0,8(sp)
|
||
125c: c626 sw s1,12(sp)
|
||
125e: 9d3ff0ef jal ra,c30 <GPIO_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:157
|
||
GPIO_Output(GPIOB, GPIO_Pin_0);
|
||
1262: 4a85 li s5,1
|
||
1264: 004c addi a1,sp,4
|
||
1266: 854e mv a0,s3
|
||
1268: 01511223 sh s5,4(sp)
|
||
126c: c422 sw s0,8(sp)
|
||
126e: c626 sw s1,12(sp)
|
||
1270: 9c1ff0ef jal ra,c30 <GPIO_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:159
|
||
GPIO_Input(GPIOC, GPIO_Pin_0);
|
||
1274: 4491 li s1,4
|
||
1276: 004c addi a1,sp,4
|
||
1278: 40011537 lui a0,0x40011
|
||
127c: 01511223 sh s5,4(sp)
|
||
1280: c422 sw s0,8(sp)
|
||
1282: c626 sw s1,12(sp)
|
||
1284: 9adff0ef jal ra,c30 <GPIO_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:160
|
||
GPIO_Input(GPIOC, GPIO_Pin_1);
|
||
1288: 4a09 li s4,2
|
||
128a: 004c addi a1,sp,4
|
||
128c: 40011537 lui a0,0x40011
|
||
1290: 01411223 sh s4,4(sp)
|
||
1294: c422 sw s0,8(sp)
|
||
1296: c626 sw s1,12(sp)
|
||
1298: 999ff0ef jal ra,c30 <GPIO_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:161
|
||
GPIO_Input(GPIOC, GPIO_Pin_2);
|
||
129c: 004c addi a1,sp,4
|
||
129e: 40011537 lui a0,0x40011
|
||
12a2: 8264 sh s1,4(sp)
|
||
12a4: c422 sw s0,8(sp)
|
||
12a6: c626 sw s1,12(sp)
|
||
12a8: 989ff0ef jal ra,c30 <GPIO_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:162
|
||
GPIO_Input(GPIOC, GPIO_Pin_3);
|
||
12ac: 004c addi a1,sp,4
|
||
12ae: 40011537 lui a0,0x40011
|
||
12b2: 01711223 sh s7,4(sp)
|
||
12b6: c422 sw s0,8(sp)
|
||
12b8: c626 sw s1,12(sp)
|
||
12ba: 977ff0ef jal ra,c30 <GPIO_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:163
|
||
GPIO_Input(GPIOA, GPIO_Pin_0);
|
||
12be: 004c addi a1,sp,4
|
||
12c0: 80090513 addi a0,s2,-2048
|
||
12c4: 01511223 sh s5,4(sp)
|
||
12c8: c422 sw s0,8(sp)
|
||
12ca: c626 sw s1,12(sp)
|
||
12cc: 965ff0ef jal ra,c30 <GPIO_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:164
|
||
GPIO_Input(GPIOA, GPIO_Pin_1);
|
||
12d0: 004c addi a1,sp,4
|
||
12d2: 80090513 addi a0,s2,-2048
|
||
12d6: 01411223 sh s4,4(sp)
|
||
12da: c422 sw s0,8(sp)
|
||
12dc: c626 sw s1,12(sp)
|
||
12de: 953ff0ef jal ra,c30 <GPIO_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:166
|
||
GPIO_Input(GPIOB, GPIO_Pin_1); /* 125m in */
|
||
12e2: 004c addi a1,sp,4
|
||
12e4: 854e mv a0,s3
|
||
12e6: 01411223 sh s4,4(sp)
|
||
12ea: c422 sw s0,8(sp)
|
||
12ec: c626 sw s1,12(sp)
|
||
12ee: 943ff0ef jal ra,c30 <GPIO_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:167
|
||
GPIO_Input(GPIOC, GPIO_Pin_7); /* interrupt pin */
|
||
12f2: 004c addi a1,sp,4
|
||
12f4: 40011537 lui a0,0x40011
|
||
12f8: 01611223 sh s6,4(sp)
|
||
12fc: c422 sw s0,8(sp)
|
||
12fe: c626 sw s1,12(sp)
|
||
1300: 931ff0ef jal ra,c30 <GPIO_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:168
|
||
}
|
||
1304: 0141 addi sp,sp,16
|
||
1306: efbfe06f j 200 <__riscv_restore_10>
|
||
|
||
0000130a <ETH_PHYLink>:
|
||
ETH_PHYLink():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:242
|
||
{
|
||
130a: ecdfe2ef jal t0,1d6 <__riscv_save_4>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:248
|
||
ETH_WritePHYRegister( gPHYAddress, 0x1F, 0x0a43 );
|
||
130e: 88418413 addi s0,gp,-1916 # 200000a4 <gPHYAddress>
|
||
1312: 200a lhu a0,0(s0)
|
||
1314: 6605 lui a2,0x1
|
||
1316: a4360613 addi a2,a2,-1469 # a43 <ETH_ReadPHYRegister+0x21>
|
||
131a: 45fd li a1,31
|
||
131c: f5eff0ef jal ra,a7a <ETH_WritePHYRegister>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:251
|
||
ETH_ReadPHYRegister( gPHYAddress, 0x1A);
|
||
1320: 200a lhu a0,0(s0)
|
||
1322: 45e9 li a1,26
|
||
1324: efeff0ef jal ra,a22 <ETH_ReadPHYRegister>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:252
|
||
phy_stat = ETH_ReadPHYRegister( gPHYAddress, 0x1A);
|
||
1328: 200a lhu a0,0(s0)
|
||
132a: 45e9 li a1,26
|
||
132c: 88418493 addi s1,gp,-1916 # 200000a4 <gPHYAddress>
|
||
1330: ef2ff0ef jal ra,a22 <ETH_ReadPHYRegister>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:254
|
||
if((ChipId & 0xf0) <= 0x20)
|
||
1334: 8741a783 lw a5,-1932(gp) # 20000094 <ChipId>
|
||
1338: 02000713 li a4,32
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:252
|
||
phy_stat = ETH_ReadPHYRegister( gPHYAddress, 0x1A);
|
||
133c: 842a mv s0,a0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:254
|
||
if((ChipId & 0xf0) <= 0x20)
|
||
133e: 0f07f793 andi a5,a5,240
|
||
1342: 87418993 addi s3,gp,-1932 # 20000094 <ChipId>
|
||
1346: 4941 li s2,16
|
||
1348: 06f77863 bgeu a4,a5,13b8 <ETH_PHYLink+0xae>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:264
|
||
LastPhyStat = phy_stat & 0x04;
|
||
134c: 00447913 andi s2,s0,4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:266
|
||
WCHNET_PhyStatus( phy_stat );
|
||
1350: 8522 mv a0,s0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:264
|
||
LastPhyStat = phy_stat & 0x04;
|
||
1352: 87219c23 sh s2,-1928(gp) # 20000098 <LastPhyStat>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:266
|
||
WCHNET_PhyStatus( phy_stat );
|
||
1356: 1fd000ef jal ra,1d52 <WCHNET_PhyStatus>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:268
|
||
if( phy_stat & 0x04 )
|
||
135a: 02090d63 beqz s2,1394 <ETH_PHYLink+0x8a>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:271
|
||
RGMII_TXC_Delay(0, 4);
|
||
135e: 4591 li a1,4
|
||
1360: 4501 li a0,0
|
||
1362: 897ff0ef jal ra,bf8 <RGMII_TXC_Delay>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:272
|
||
if( phy_stat & 0x08 )
|
||
1366: 00847793 andi a5,s0,8
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:274
|
||
ETH->MACCR |= ETH_Mode_FullDuplex;
|
||
136a: 400286b7 lui a3,0x40028
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:272
|
||
if( phy_stat & 0x08 )
|
||
136e: cfb1 beqz a5,13ca <ETH_PHYLink+0xc0>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:274
|
||
ETH->MACCR |= ETH_Mode_FullDuplex;
|
||
1370: 429c lw a5,0(a3)
|
||
1372: 6705 lui a4,0x1
|
||
1374: 80070713 addi a4,a4,-2048 # 800 <__stack_size>
|
||
1378: 8fd9 or a5,a5,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:278
|
||
ETH->MACCR &= ~ETH_Mode_FullDuplex;
|
||
137a: c29c sw a5,0(a3)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:280
|
||
if( (phy_stat & 0x30) == 0x00 )
|
||
137c: 03047413 andi s0,s0,48
|
||
1380: e839 bnez s0,13d6 <ETH_PHYLink+0xcc>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:282
|
||
ETH->MACCR &= ~(ETH_Speed_100M|ETH_Speed_1000M);
|
||
1382: 400286b7 lui a3,0x40028
|
||
1386: 429c lw a5,0(a3)
|
||
1388: 7751 lui a4,0xffff4
|
||
138a: 177d addi a4,a4,-1
|
||
138c: 8ff9 and a5,a5,a4
|
||
138e: c29c sw a5,0(a3)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:297
|
||
ETH_Start( );
|
||
1390: 819ff0ef jal ra,ba8 <ETH_Start>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:299
|
||
phy_stat = ETH_ReadPHYRegister( gPHYAddress, 0x1D); /* Clear the Interrupt status */
|
||
1394: 208a lhu a0,0(s1)
|
||
1396: 45f5 li a1,29
|
||
1398: e8aff0ef jal ra,a22 <ETH_ReadPHYRegister>
|
||
139c: a02d j 13c6 <ETH_PHYLink+0xbc>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:258
|
||
Delay_Us(100);
|
||
139e: 06400513 li a0,100
|
||
13a2: 2b0d jal 18d4 <Delay_Us>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:259
|
||
phy_stat = ETH_ReadPHYRegister( gPHYAddress, 0x1A);
|
||
13a4: 208a lhu a0,0(s1)
|
||
13a6: 45e9 li a1,26
|
||
13a8: 197d addi s2,s2,-1
|
||
13aa: e78ff0ef jal ra,a22 <ETH_ReadPHYRegister>
|
||
13ae: 0ff97913 andi s2,s2,255
|
||
13b2: 842a mv s0,a0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:260
|
||
if(timeout++ == 15) break;
|
||
13b4: 00090363 beqz s2,13ba <ETH_PHYLink+0xb0>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:256
|
||
while(phy_stat == 0)
|
||
13b8: d07d beqz s0,139e <ETH_PHYLink+0x94>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:262
|
||
if(LastPhyStat == (phy_stat & 0x04)) return;
|
||
13ba: 8781d703 lhu a4,-1928(gp) # 20000098 <LastPhyStat>
|
||
13be: 00447793 andi a5,s0,4
|
||
13c2: f8f715e3 bne a4,a5,134c <ETH_PHYLink+0x42>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:300
|
||
}
|
||
13c6: e45fe06f j 20a <__riscv_restore_4>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:278
|
||
ETH->MACCR &= ~ETH_Mode_FullDuplex;
|
||
13ca: 429c lw a5,0(a3)
|
||
13cc: 777d lui a4,0xfffff
|
||
13ce: 7ff70713 addi a4,a4,2047 # fffff7ff <_eusrstack+0xdffdf7ff>
|
||
13d2: 8ff9 and a5,a5,a4
|
||
13d4: b75d j 137a <ETH_PHYLink+0x70>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:284
|
||
else if( (phy_stat & 0x30) == 0x10 )
|
||
13d6: 47c1 li a5,16
|
||
13d8: 00f41e63 bne s0,a5,13f4 <ETH_PHYLink+0xea>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:286
|
||
ETH->MACCR &= ~(ETH_Speed_100M|ETH_Speed_1000M);
|
||
13dc: 400287b7 lui a5,0x40028
|
||
13e0: 4398 lw a4,0(a5)
|
||
13e2: 76d1 lui a3,0xffff4
|
||
13e4: 16fd addi a3,a3,-1
|
||
13e6: 8f75 and a4,a4,a3
|
||
13e8: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:287
|
||
ETH->MACCR |= ETH_Speed_100M;
|
||
13ea: 4398 lw a4,0(a5)
|
||
13ec: 6691 lui a3,0x4
|
||
13ee: 8f55 or a4,a4,a3
|
||
13f0: c398 sw a4,0(a5)
|
||
13f2: bf79 j 1390 <ETH_PHYLink+0x86>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:289
|
||
else if( (phy_stat & 0x30) == 0x20 )
|
||
13f4: 02000793 li a5,32
|
||
13f8: f8f41ce3 bne s0,a5,1390 <ETH_PHYLink+0x86>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:291
|
||
ETH->MACCR &= ~(ETH_Speed_100M|ETH_Speed_1000M);
|
||
13fc: 400287b7 lui a5,0x40028
|
||
1400: 4398 lw a4,0(a5)
|
||
1402: 76d1 lui a3,0xffff4
|
||
1404: 16fd addi a3,a3,-1
|
||
1406: 8f75 and a4,a4,a3
|
||
1408: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:292
|
||
ETH->MACCR |= ETH_Speed_1000M;
|
||
140a: 4398 lw a4,0(a5)
|
||
140c: 66a1 lui a3,0x8
|
||
140e: 8f55 or a4,a4,a3
|
||
1410: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:294
|
||
if((ChipId & 0xf0) >= 0x60)
|
||
1412: 0009a783 lw a5,0(s3)
|
||
1416: 05f00713 li a4,95
|
||
141a: 0f07f793 andi a5,a5,240
|
||
141e: f6f779e3 bgeu a4,a5,1390 <ETH_PHYLink+0x86>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:295
|
||
RGMII_TXC_Delay(1, 2);
|
||
1422: 4589 li a1,2
|
||
1424: 4505 li a0,1
|
||
1426: fd2ff0ef jal ra,bf8 <RGMII_TXC_Delay>
|
||
142a: b79d j 1390 <ETH_PHYLink+0x86>
|
||
|
||
0000142c <WCHNET_QueryPhySta>:
|
||
WCHNET_QueryPhySta():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:100
|
||
if(QUERY_STAT_FLAG){ /* Query the PHY link status every 1s */
|
||
142c: 88018713 addi a4,gp,-1920 # 200000a0 <LocalTime>
|
||
1430: 4314 lw a3,0(a4)
|
||
1432: 3e800613 li a2,1000
|
||
1436: 02c6d6b3 divu a3,a3,a2
|
||
143a: 87c18793 addi a5,gp,-1924 # 2000009c <LastQueryPhyTime>
|
||
143e: 438c lw a1,0(a5)
|
||
1440: 02b68f63 beq a3,a1,147e <WCHNET_QueryPhySta+0x52>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:98
|
||
{
|
||
1444: dadfe2ef jal t0,1f0 <__riscv_save_0>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:101
|
||
LastQueryPhyTime = LocalTime / 1000;
|
||
1448: 4318 lw a4,0(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:102
|
||
ETH_WritePHYRegister( PHY_ADDRESS, 0x1F, 0x0a43 );
|
||
144a: 45fd li a1,31
|
||
144c: 4505 li a0,1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:101
|
||
LastQueryPhyTime = LocalTime / 1000;
|
||
144e: 02c75733 divu a4,a4,a2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:102
|
||
ETH_WritePHYRegister( PHY_ADDRESS, 0x1F, 0x0a43 );
|
||
1452: 6605 lui a2,0x1
|
||
1454: a4360613 addi a2,a2,-1469 # a43 <ETH_ReadPHYRegister+0x21>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:101
|
||
LastQueryPhyTime = LocalTime / 1000;
|
||
1458: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:102
|
||
ETH_WritePHYRegister( PHY_ADDRESS, 0x1F, 0x0a43 );
|
||
145a: e20ff0ef jal ra,a7a <ETH_WritePHYRegister>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:105
|
||
ETH_ReadPHYRegister( PHY_ADDRESS, 0x1A);
|
||
145e: 45e9 li a1,26
|
||
1460: 4505 li a0,1
|
||
1462: dc0ff0ef jal ra,a22 <ETH_ReadPHYRegister>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:106
|
||
phy_stat = ETH_ReadPHYRegister( PHY_ADDRESS, 0x1A) & 0x04;
|
||
1466: 45e9 li a1,26
|
||
1468: 4505 li a0,1
|
||
146a: db8ff0ef jal ra,a22 <ETH_ReadPHYRegister>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:107
|
||
if((phy_stat != LastPhyStat) && (phy_stat != 0xffff)){
|
||
146e: 8781d783 lhu a5,-1928(gp) # 20000098 <LastPhyStat>
|
||
1472: 8911 andi a0,a0,4
|
||
1474: 00a78363 beq a5,a0,147a <WCHNET_QueryPhySta+0x4e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:108
|
||
ETH_PHYLink();
|
||
1478: 3d49 jal 130a <ETH_PHYLink>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:111
|
||
}
|
||
147a: d9bfe06f j 214 <__riscv_restore_0>
|
||
147e: 8082 ret
|
||
|
||
00001480 <WCHNET_MainTask>:
|
||
WCHNET_MainTask():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:124
|
||
{
|
||
1480: d71fe2ef jal t0,1f0 <__riscv_save_0>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:125
|
||
WCHNET_NetInput( ); /* Ethernet data input */
|
||
1484: 0bb000ef jal ra,1d3e <WCHNET_NetInput>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:126
|
||
WCHNET_PeriodicHandle( ); /* Protocol stack time-related task processing */
|
||
1488: 6f8000ef jal ra,1b80 <WCHNET_PeriodicHandle>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:129
|
||
WCHNET_QueryPhySta(); /* Query external PHY status */
|
||
148c: 3745 jal 142c <WCHNET_QueryPhySta>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:131
|
||
}
|
||
148e: d87fe06f j 214 <__riscv_restore_0>
|
||
|
||
00001492 <ETH_RegInit>:
|
||
ETH_RegInit():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:313
|
||
{
|
||
1492: d5ffe2ef jal t0,1f0 <__riscv_save_0>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:315
|
||
ETH->MACMIIAR = (uint32_t)ETH_MACMIIAR_CR_Div42;
|
||
1496: 400286b7 lui a3,0x40028
|
||
149a: 0006a823 sw zero,16(a3) # 40028010 <_eusrstack+0x20008010>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:313
|
||
{
|
||
149e: 87aa mv a5,a0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:318
|
||
ETH->MACCR = (uint32_t)(ETH_InitStruct->ETH_Watchdog |
|
||
14a0: 4790 lw a2,8(a5)
|
||
14a2: 43d8 lw a4,4(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:313
|
||
{
|
||
14a4: 852e mv a0,a1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:351
|
||
ETH_WritePHYRegister(PHYAddress, PHY_BCR, PHY_Reset);
|
||
14a6: 4581 li a1,0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:318
|
||
ETH->MACCR = (uint32_t)(ETH_InitStruct->ETH_Watchdog |
|
||
14a8: 8f51 or a4,a4,a2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:319
|
||
ETH_InitStruct->ETH_Jabber |
|
||
14aa: 47d0 lw a2,12(a5)
|
||
14ac: 8f51 or a4,a4,a2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:320
|
||
ETH_InitStruct->ETH_InterFrameGap |
|
||
14ae: 53d0 lw a2,36(a5)
|
||
14b0: 8f51 or a4,a4,a2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:321
|
||
ETH_InitStruct->ETH_ChecksumOffload |
|
||
14b2: 57d0 lw a2,44(a5)
|
||
14b4: 8f51 or a4,a4,a2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:322
|
||
ETH_InitStruct->ETH_AutomaticPadCRCStrip |
|
||
14b6: 4fd0 lw a2,28(a5)
|
||
14b8: 8f51 or a4,a4,a2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:318
|
||
ETH->MACCR = (uint32_t)(ETH_InitStruct->ETH_Watchdog |
|
||
14ba: c298 sw a4,0(a3)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:325
|
||
ETH->MACFFR = (uint32_t)(ETH_InitStruct->ETH_ReceiveAll |
|
||
14bc: 5fd0 lw a2,60(a5)
|
||
14be: 5f98 lw a4,56(a5)
|
||
14c0: 8f51 or a4,a4,a2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:326
|
||
ETH_InitStruct->ETH_SourceAddrFilter |
|
||
14c2: 43b0 lw a2,64(a5)
|
||
14c4: 8f51 or a4,a4,a2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:327
|
||
ETH_InitStruct->ETH_PassControlFrames |
|
||
14c6: 43f0 lw a2,68(a5)
|
||
14c8: 8f51 or a4,a4,a2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:328
|
||
ETH_InitStruct->ETH_BroadcastFramesReception |
|
||
14ca: 47b0 lw a2,72(a5)
|
||
14cc: 8f51 or a4,a4,a2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:329
|
||
ETH_InitStruct->ETH_DestinationAddrFilter |
|
||
14ce: 47f0 lw a2,76(a5)
|
||
14d0: 8f51 or a4,a4,a2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:330
|
||
ETH_InitStruct->ETH_PromiscuousMode |
|
||
14d2: 4bb0 lw a2,80(a5)
|
||
14d4: 8f51 or a4,a4,a2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:331
|
||
ETH_InitStruct->ETH_MulticastFramesFilter |
|
||
14d6: 4bf0 lw a2,84(a5)
|
||
14d8: 8f51 or a4,a4,a2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:325
|
||
ETH->MACFFR = (uint32_t)(ETH_InitStruct->ETH_ReceiveAll |
|
||
14da: c2d8 sw a4,4(a3)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:334
|
||
ETH->MACHTHR = (uint32_t)ETH_InitStruct->ETH_HashTableHigh;
|
||
14dc: 4fb8 lw a4,88(a5)
|
||
14de: c698 sw a4,8(a3)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:335
|
||
ETH->MACHTLR = (uint32_t)ETH_InitStruct->ETH_HashTableLow;
|
||
14e0: 4ff8 lw a4,92(a5)
|
||
14e2: c6d8 sw a4,12(a3)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:339
|
||
ETH_InitStruct->ETH_ReceiveFlowControl |
|
||
14e4: 5bb0 lw a2,112(a5)
|
||
14e6: 57f8 lw a4,108(a5)
|
||
14e8: 8f51 or a4,a4,a2
|
||
14ea: 5bf0 lw a2,116(a5)
|
||
14ec: 8f51 or a4,a4,a2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:337
|
||
ETH->MACFCR = (uint32_t)((ETH_InitStruct->ETH_PauseTime << 16) |
|
||
14ee: 53b0 lw a2,96(a5)
|
||
14f0: 0642 slli a2,a2,0x10
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:339
|
||
ETH_InitStruct->ETH_ReceiveFlowControl |
|
||
14f2: 8f51 or a4,a4,a2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:337
|
||
ETH->MACFCR = (uint32_t)((ETH_InitStruct->ETH_PauseTime << 16) |
|
||
14f4: ce98 sw a4,24(a3)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:342
|
||
ETH->MACVLANTR = (uint32_t)(ETH_InitStruct->ETH_VLANTagComparison |
|
||
14f6: 5ff0 lw a2,124(a5)
|
||
14f8: 5fb8 lw a4,120(a5)
|
||
14fa: 8f51 or a4,a4,a2
|
||
14fc: ced8 sw a4,28(a3)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:345
|
||
ETH->DMAOMR = (uint32_t)(ETH_InitStruct->ETH_DropTCPIPChecksumErrorFrame |
|
||
14fe: 08c7a683 lw a3,140(a5) # 4002808c <_eusrstack+0x2000808c>
|
||
1502: 0807a703 lw a4,128(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:351
|
||
ETH_WritePHYRegister(PHYAddress, PHY_BCR, PHY_Reset);
|
||
1506: 6621 lui a2,0x8
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:345
|
||
ETH->DMAOMR = (uint32_t)(ETH_InitStruct->ETH_DropTCPIPChecksumErrorFrame |
|
||
1508: 8f55 or a4,a4,a3
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:346
|
||
ETH_InitStruct->ETH_TransmitStoreForward |
|
||
150a: 0947a683 lw a3,148(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:347
|
||
ETH_InitStruct->ETH_ForwardErrorFrames |
|
||
150e: 0987a783 lw a5,152(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:346
|
||
ETH_InitStruct->ETH_TransmitStoreForward |
|
||
1512: 8f55 or a4,a4,a3
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:347
|
||
ETH_InitStruct->ETH_ForwardErrorFrames |
|
||
1514: 8f5d or a4,a4,a5
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:345
|
||
ETH->DMAOMR = (uint32_t)(ETH_InitStruct->ETH_DropTCPIPChecksumErrorFrame |
|
||
1516: 400297b7 lui a5,0x40029
|
||
151a: cf98 sw a4,24(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:351
|
||
ETH_WritePHYRegister(PHYAddress, PHY_BCR, PHY_Reset);
|
||
151c: d5eff0ef jal ra,a7a <ETH_WritePHYRegister>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:353
|
||
}
|
||
1520: 4505 li a0,1
|
||
1522: cf3fe06f j 214 <__riscv_restore_0>
|
||
|
||
00001526 <ETH_Configuration>:
|
||
ETH_Configuration():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:363
|
||
{
|
||
1526: cb1fe2ef jal t0,1d6 <__riscv_save_4>
|
||
152a: 7131 addi sp,sp,-192
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:368
|
||
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_ETH_MAC | \
|
||
152c: 4585 li a1,1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:363
|
||
{
|
||
152e: 84aa mv s1,a0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:368
|
||
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_ETH_MAC | \
|
||
1530: 6571 lui a0,0x1c
|
||
1532: 991ff0ef jal ra,ec2 <RCC_AHBPeriphClockCmd>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:375
|
||
EXTEN->EXTEN_CTR |= EXTEN_ETH_RGMII_SEL;
|
||
1536: 40024737 lui a4,0x40024
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:372
|
||
gPHYAddress = PHY_ADDRESS;
|
||
153a: 4785 li a5,1
|
||
153c: 88f19223 sh a5,-1916(gp) # 200000a4 <gPHYAddress>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:375
|
||
EXTEN->EXTEN_CTR |= EXTEN_ETH_RGMII_SEL;
|
||
1540: 80072783 lw a5,-2048(a4) # 40023800 <_eusrstack+0x20003800>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:376
|
||
RCC_ETH1GCLKConfig(RCC_ETH1GCLKSource_PB1_IN);
|
||
1544: 4509 li a0,2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:385
|
||
ETH_SoftwareReset();
|
||
1546: 6409 lui s0,0x2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:375
|
||
EXTEN->EXTEN_CTR |= EXTEN_ETH_RGMII_SEL;
|
||
1548: 0087e793 ori a5,a5,8
|
||
154c: 80f72023 sw a5,-2048(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:376
|
||
RCC_ETH1GCLKConfig(RCC_ETH1GCLKSource_PB1_IN);
|
||
1550: 9ebff0ef jal ra,f3a <RCC_ETH1GCLKConfig>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:377
|
||
RCC_ETH1G_125Mcmd(ENABLE);
|
||
1554: 4505 li a0,1
|
||
1556: 9ffff0ef jal ra,f54 <RCC_ETH1G_125Mcmd>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:385
|
||
ETH_SoftwareReset();
|
||
155a: 71040413 addi s0,s0,1808 # 2710 <WCHNET_SocketCreat+0x19c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:379
|
||
ETH_RGMIIPinInit();
|
||
155e: 3185 jal 11be <ETH_RGMIIPinInit>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:382
|
||
ETH_DeInit();
|
||
1560: 88418913 addi s2,gp,-1916 # 200000a4 <gPHYAddress>
|
||
1564: caaff0ef jal ra,a0e <ETH_DeInit>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:391
|
||
}while(ETH->DMABMR & ETH_DMABMR_SR);
|
||
1568: 400299b7 lui s3,0x40029
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:385
|
||
ETH_SoftwareReset();
|
||
156c: e16ff0ef jal ra,b82 <ETH_SoftwareReset>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:389
|
||
Delay_Us(10);
|
||
1570: 147d addi s0,s0,-1
|
||
1572: 0442 slli s0,s0,0x10
|
||
1574: 4529 li a0,10
|
||
1576: 8041 srli s0,s0,0x10
|
||
1578: 2eb1 jal 18d4 <Delay_Us>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:390
|
||
if( !--timeout ) break;
|
||
157a: c409 beqz s0,1584 <ETH_Configuration+0x5e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:391
|
||
}while(ETH->DMABMR & ETH_DMABMR_SR);
|
||
157c: 0009a783 lw a5,0(s3) # 40029000 <_eusrstack+0x20009000>
|
||
1580: 8b85 andi a5,a5,1
|
||
1582: f7fd bnez a5,1570 <ETH_Configuration+0x4a>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:438
|
||
ETH_RegInit( Ð_InitStructure, gPHYAddress );
|
||
1584: 00095583 lhu a1,0(s2)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:412
|
||
ETH_InitStructure.ETH_PassControlFrames = ETH_PassControlFrames_BlockAll;
|
||
1588: 04000793 li a5,64
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:434
|
||
ETH_InitStructure.ETH_TransmitStoreForward = ETH_TransmitStoreForward_Enable;
|
||
158c: 00200437 lui s0,0x200
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:435
|
||
ETH_InitStructure.ETH_ForwardErrorFrames = ETH_ForwardErrorFrames_Enable;
|
||
1590: 08000713 li a4,128
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:438
|
||
ETH_RegInit( Ð_InitStructure, gPHYAddress );
|
||
1594: 0048 addi a0,sp,4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:412
|
||
ETH_InitStructure.ETH_PassControlFrames = ETH_PassControlFrames_BlockAll;
|
||
1596: c2be sw a5,68(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:434
|
||
ETH_InitStructure.ETH_TransmitStoreForward = ETH_TransmitStoreForward_Enable;
|
||
1598: c922 sw s0,144(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:435
|
||
ETH_InitStructure.ETH_ForwardErrorFrames = ETH_ForwardErrorFrames_Enable;
|
||
159a: cd3a sw a4,152(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:436
|
||
ETH_InitStructure.ETH_ForwardUndersizedGoodFrames = ETH_ForwardUndersizedGoodFrames_Enable;
|
||
159c: cf3e sw a5,156(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:395
|
||
ETH_InitStructure.ETH_Watchdog = ETH_Watchdog_Enable;
|
||
159e: c402 sw zero,8(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:396
|
||
ETH_InitStructure.ETH_Jabber = ETH_Jabber_Enable;
|
||
15a0: c602 sw zero,12(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:397
|
||
ETH_InitStructure.ETH_InterFrameGap = ETH_InterFrameGap_96Bit;
|
||
15a2: c802 sw zero,16(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:401
|
||
ETH_InitStructure.ETH_ChecksumOffload = ETH_ChecksumOffload_Disable;
|
||
15a4: d402 sw zero,40(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:403
|
||
ETH_InitStructure.ETH_AutomaticPadCRCStrip = ETH_AutomaticPadCRCStrip_Disable;
|
||
15a6: d802 sw zero,48(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:404
|
||
ETH_InitStructure.ETH_LoopbackMode = ETH_LoopbackMode_Disable;
|
||
15a8: d002 sw zero,32(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:407
|
||
ETH_InitStructure.ETH_ReceiveAll = ETH_ReceiveAll_Disable;
|
||
15aa: de02 sw zero,60(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:408
|
||
ETH_InitStructure.ETH_PromiscuousMode = ETH_PromiscuousMode_Disable;
|
||
15ac: c882 sw zero,80(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:409
|
||
ETH_InitStructure.ETH_BroadcastFramesReception = ETH_BroadcastFramesReception_Enable;
|
||
15ae: c482 sw zero,72(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:410
|
||
ETH_InitStructure.ETH_MulticastFramesFilter = ETH_MulticastFramesFilter_Perfect;
|
||
15b0: ca82 sw zero,84(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:411
|
||
ETH_InitStructure.ETH_UnicastFramesFilter = ETH_UnicastFramesFilter_Perfect;
|
||
15b2: cc82 sw zero,88(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:413
|
||
ETH_InitStructure.ETH_DestinationAddrFilter = ETH_DestinationAddrFilter_Normal;
|
||
15b4: c682 sw zero,76(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:414
|
||
ETH_InitStructure.ETH_SourceAddrFilter = ETH_SourceAddrFilter_Disable;
|
||
15b6: c082 sw zero,64(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:416
|
||
ETH_InitStructure.ETH_HashTableHigh = 0x0;
|
||
15b8: ce82 sw zero,92(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:417
|
||
ETH_InitStructure.ETH_HashTableLow = 0x0;
|
||
15ba: d082 sw zero,96(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:420
|
||
ETH_InitStructure.ETH_VLANTagComparison = ETH_VLANTagComparison_16Bit;
|
||
15bc: de82 sw zero,124(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:421
|
||
ETH_InitStructure.ETH_VLANTagIdentifier = 0x0;
|
||
15be: c102 sw zero,128(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:424
|
||
ETH_InitStructure.ETH_PauseTime = 0x0;
|
||
15c0: d282 sw zero,100(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:425
|
||
ETH_InitStructure.ETH_UnicastPauseFrameDetect = ETH_UnicastPauseFrameDetect_Disable;
|
||
15c2: d882 sw zero,112(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:426
|
||
ETH_InitStructure.ETH_ReceiveFlowControl = ETH_ReceiveFlowControl_Disable;
|
||
15c4: da82 sw zero,116(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:427
|
||
ETH_InitStructure.ETH_TransmitFlowControl = ETH_TransmitFlowControl_Disable;
|
||
15c6: dc82 sw zero,120(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:433
|
||
ETH_InitStructure.ETH_DropTCPIPChecksumErrorFrame = ETH_DropTCPIPChecksumErrorFrame_Enable;
|
||
15c8: c302 sw zero,132(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:438
|
||
ETH_RegInit( Ð_InitStructure, gPHYAddress );
|
||
15ca: 35e1 jal 1492 <ETH_RegInit>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:441
|
||
ETH->MACA0HR = (uint32_t)((macAddr[5]<<8) | macAddr[4]);
|
||
15cc: 30dc lbu a5,5(s1)
|
||
15ce: 20d8 lbu a4,4(s1)
|
||
15d0: 400286b7 lui a3,0x40028
|
||
15d4: 07a2 slli a5,a5,0x8
|
||
15d6: 8fd9 or a5,a5,a4
|
||
15d8: c2bc sw a5,64(a3)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:442
|
||
ETH->MACA0LR = (uint32_t)(macAddr[0] | (macAddr[1]<<8) | (macAddr[2]<<16) | (macAddr[3]<<24));
|
||
15da: 3098 lbu a4,1(s1)
|
||
15dc: 209c lbu a5,0(s1)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:450
|
||
ETH_DMAITConfig(ETH_DMA_IT_NIS |\
|
||
15de: 6561 lui a0,0x18
|
||
15e0: 0722 slli a4,a4,0x8
|
||
15e2: 8f5d or a4,a4,a5
|
||
15e4: 20bc lbu a5,2(s1)
|
||
15e6: 4585 li a1,1
|
||
15e8: 0c150513 addi a0,a0,193 # 180c1 <_data_lma+0xf22d>
|
||
15ec: 07c2 slli a5,a5,0x10
|
||
15ee: 8f5d or a4,a4,a5
|
||
15f0: 30bc lbu a5,3(s1)
|
||
15f2: 07e2 slli a5,a5,0x18
|
||
15f4: 8fd9 or a5,a5,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:442
|
||
ETH->MACA0LR = (uint32_t)(macAddr[0] | (macAddr[1]<<8) | (macAddr[2]<<16) | (macAddr[3]<<24));
|
||
15f6: c2fc sw a5,68(a3)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:448
|
||
ETH->MMCRIMR = ETH_MMCRIMR_RGUFM | ETH_MMCRIMR_RFCEM;
|
||
15f8: 000207b7 lui a5,0x20
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:445
|
||
ETH->MMCTIMR = ETH_MMCTIMR_TGFM;
|
||
15fc: 1086a823 sw s0,272(a3) # 40028110 <_eusrstack+0x20008110>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:448
|
||
ETH->MMCRIMR = ETH_MMCRIMR_RGUFM | ETH_MMCRIMR_RFCEM;
|
||
1600: 02078793 addi a5,a5,32 # 20020 <_data_lma+0x1718c>
|
||
1604: 10f6a623 sw a5,268(a3)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:450
|
||
ETH_DMAITConfig(ETH_DMA_IT_NIS |\
|
||
1608: dd2ff0ef jal ra,bda <ETH_DMAITConfig>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:463
|
||
ETH_WritePHYRegister( PHY_ADDRESS, 0x1F, 0x0a43 );
|
||
160c: 6605 lui a2,0x1
|
||
160e: a4360613 addi a2,a2,-1469 # a43 <ETH_ReadPHYRegister+0x21>
|
||
1612: 45fd li a1,31
|
||
1614: 4505 li a0,1
|
||
1616: c64ff0ef jal ra,a7a <ETH_WritePHYRegister>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:466
|
||
ETH_ReadPHYRegister( PHY_ADDRESS, 0x1A);
|
||
161a: 45e9 li a1,26
|
||
161c: 4505 li a0,1
|
||
161e: c04ff0ef jal ra,a22 <ETH_ReadPHYRegister>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:467
|
||
LastPhyStat = ETH_ReadPHYRegister( PHY_ADDRESS, 0x1A) & 0x04;
|
||
1622: 45e9 li a1,26
|
||
1624: 4505 li a0,1
|
||
1626: bfcff0ef jal ra,a22 <ETH_ReadPHYRegister>
|
||
162a: 8911 andi a0,a0,4
|
||
162c: 86a19c23 sh a0,-1928(gp) # 20000098 <LastPhyStat>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:469
|
||
}
|
||
1630: 6129 addi sp,sp,192
|
||
1632: bd9fe06f j 20a <__riscv_restore_4>
|
||
|
||
00001636 <ETH_Stop>:
|
||
ETH_Stop():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:524
|
||
* @brief Disables ENET MAC and DMA reception/transmission.
|
||
*
|
||
* @return none
|
||
*/
|
||
void ETH_Stop(void)
|
||
{
|
||
1636: bbbfe2ef jal t0,1f0 <__riscv_save_0>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:525
|
||
ETH_MACTransmissionCmd(DISABLE);
|
||
163a: 4501 li a0,0
|
||
163c: c90ff0ef jal ra,acc <ETH_MACTransmissionCmd>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:526
|
||
ETH_FlushTransmitFIFO();
|
||
1640: d58ff0ef jal ra,b98 <ETH_FlushTransmitFIFO>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:527
|
||
ETH_MACReceptionCmd(DISABLE);
|
||
1644: 4501 li a0,0
|
||
1646: c9aff0ef jal ra,ae0 <ETH_MACReceptionCmd>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:528
|
||
}
|
||
164a: bcbfe06f j 214 <__riscv_restore_0>
|
||
|
||
0000164e <ReInitMACReg>:
|
||
ReInitMACReg():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:540
|
||
* @param none.
|
||
*
|
||
* @return none.
|
||
*/
|
||
void ReInitMACReg(void)
|
||
{
|
||
164e: b7bfe2ef jal t0,1c8 <__riscv_save_10>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:546
|
||
uint16_t timeout = 10000;
|
||
uint32_t maccr, macmiiar, macffr, machthr, machtlr;
|
||
uint32_t macfcr, macvlantr, dmaomr;
|
||
|
||
/* Wait for sending data to complete */
|
||
while((ETH->DMASR & (7 << 20)) != ETH_DMA_TransmitProcess_Suspended);
|
||
1652: 40028437 lui s0,0x40028
|
||
1656: 400294b7 lui s1,0x40029
|
||
165a: 007006b7 lui a3,0x700
|
||
165e: 00600737 lui a4,0x600
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:546 (discriminator 1)
|
||
1662: 48dc lw a5,20(s1)
|
||
1664: 8ff5 and a5,a5,a3
|
||
1666: fee79ee3 bne a5,a4,1662 <ReInitMACReg+0x14>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:548
|
||
|
||
ETH_Stop();
|
||
166a: 37f1 jal 1636 <ETH_Stop>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:551
|
||
|
||
/* Record the register value */
|
||
macmiiar = ETH->MACMIIAR;
|
||
166c: 01042b83 lw s7,16(s0) # 40028010 <_eusrstack+0x20008010>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:552
|
||
maccr = ETH->MACCR;
|
||
1670: 00042b03 lw s6,0(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:553
|
||
macffr = ETH->MACFFR;
|
||
1674: 00442a83 lw s5,4(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:554
|
||
machthr = ETH->MACHTHR;
|
||
1678: 00842a03 lw s4,8(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:555
|
||
machtlr = ETH->MACHTLR;
|
||
167c: 00c42983 lw s3,12(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:556
|
||
macfcr = ETH->MACFCR;
|
||
1680: 01842903 lw s2,24(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:557
|
||
macvlantr = ETH->MACVLANTR;
|
||
1684: 01c42c03 lw s8,28(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:564
|
||
|
||
/* Reset ETHERNET on AHB Bus */
|
||
ETH_DeInit();
|
||
|
||
/* Software reset */
|
||
ETH_SoftwareReset();
|
||
1688: 6409 lui s0,0x2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:558
|
||
dmaomr = ETH->DMAOMR;
|
||
168a: 4c84 lw s1,24(s1)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:564
|
||
ETH_SoftwareReset();
|
||
168c: 71040413 addi s0,s0,1808 # 2710 <WCHNET_SocketCreat+0x19c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:561
|
||
ETH_DeInit();
|
||
1690: b7eff0ef jal ra,a0e <ETH_DeInit>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:570
|
||
|
||
/* Wait for software reset */
|
||
do{
|
||
Delay_Us(10);
|
||
if( !--timeout ) break;
|
||
}while(ETH->DMABMR & ETH_DMABMR_SR);
|
||
1694: 40029cb7 lui s9,0x40029
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:564
|
||
ETH_SoftwareReset();
|
||
1698: ceaff0ef jal ra,b82 <ETH_SoftwareReset>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:568
|
||
Delay_Us(10);
|
||
169c: 147d addi s0,s0,-1
|
||
169e: 0442 slli s0,s0,0x10
|
||
16a0: 4529 li a0,10
|
||
16a2: 8041 srli s0,s0,0x10
|
||
16a4: 2c05 jal 18d4 <Delay_Us>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:569
|
||
if( !--timeout ) break;
|
||
16a6: c409 beqz s0,16b0 <ReInitMACReg+0x62>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:570
|
||
}while(ETH->DMABMR & ETH_DMABMR_SR);
|
||
16a8: 000ca783 lw a5,0(s9) # 40029000 <_eusrstack+0x20009000>
|
||
16ac: 8b85 andi a5,a5,1
|
||
16ae: f7fd bnez a5,169c <ReInitMACReg+0x4e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:573
|
||
|
||
/* Configure MAC address */
|
||
ETH->MACA0HR = (uint32_t)((MACAddr[5]<<8) | MACAddr[4]);
|
||
16b0: 85c18713 addi a4,gp,-1956 # 2000007c <MACAddr>
|
||
16b4: 335c lbu a5,5(a4)
|
||
16b6: 2350 lbu a2,4(a4)
|
||
16b8: 40028437 lui s0,0x40028
|
||
16bc: 07a2 slli a5,a5,0x8
|
||
16be: 8fd1 or a5,a5,a2
|
||
16c0: c03c sw a5,64(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:574
|
||
ETH->MACA0LR = (uint32_t)(MACAddr[0] | (MACAddr[1]<<8) | (MACAddr[2]<<16) | (MACAddr[3]<<24));
|
||
16c2: 85d1c703 lbu a4,-1955(gp) # 2000007d <MACAddr+0x1>
|
||
16c6: 85c1c783 lbu a5,-1956(gp) # 2000007c <MACAddr>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:582
|
||
ETH->MMCTIMR = ETH_MMCTIMR_TGFM;
|
||
/* Mask the interrupt that Rx good unicast frames counter reaches half the maximum value */
|
||
/* Mask the interrupt that Rx crc error counter reaches half the maximum value */
|
||
ETH->MMCRIMR = ETH_MMCRIMR_RGUFM | ETH_MMCRIMR_RFCEM;
|
||
|
||
ETH_DMAITConfig(ETH_DMA_IT_NIS |\
|
||
16ca: 6561 lui a0,0x18
|
||
16cc: 0722 slli a4,a4,0x8
|
||
16ce: 8f5d or a4,a4,a5
|
||
16d0: 85e1c783 lbu a5,-1954(gp) # 2000007e <MACAddr+0x2>
|
||
16d4: 4585 li a1,1
|
||
16d6: 0c150513 addi a0,a0,193 # 180c1 <_data_lma+0xf22d>
|
||
16da: 07c2 slli a5,a5,0x10
|
||
16dc: 8f5d or a4,a4,a5
|
||
16de: 85f1c783 lbu a5,-1953(gp) # 2000007f <MACAddr+0x3>
|
||
16e2: 07e2 slli a5,a5,0x18
|
||
16e4: 8fd9 or a5,a5,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:574
|
||
ETH->MACA0LR = (uint32_t)(MACAddr[0] | (MACAddr[1]<<8) | (MACAddr[2]<<16) | (MACAddr[3]<<24));
|
||
16e6: c07c sw a5,68(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:577
|
||
ETH->MMCTIMR = ETH_MMCTIMR_TGFM;
|
||
16e8: 002007b7 lui a5,0x200
|
||
16ec: 10f42823 sw a5,272(s0) # 40028110 <_eusrstack+0x20008110>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:580
|
||
ETH->MMCRIMR = ETH_MMCRIMR_RGUFM | ETH_MMCRIMR_RFCEM;
|
||
16f0: 000207b7 lui a5,0x20
|
||
16f4: 02078793 addi a5,a5,32 # 20020 <_data_lma+0x1718c>
|
||
16f8: 10f42623 sw a5,268(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:582
|
||
ETH_DMAITConfig(ETH_DMA_IT_NIS |\
|
||
16fc: cdeff0ef jal ra,bda <ETH_DMAITConfig>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:589
|
||
ETH_DMA_IT_T |\
|
||
ETH_DMA_IT_AIS |\
|
||
ETH_DMA_IT_RBU,\
|
||
ENABLE);
|
||
|
||
ETH_DMATxDescChainInit(DMATxDscrTab, MACTxBuf, ETH_TXBUFNB);
|
||
1700: 200035b7 lui a1,0x20003
|
||
1704: 52418c93 addi s9,gp,1316 # 20000d44 <DMATxDscrTab>
|
||
1708: 4609 li a2,2
|
||
170a: 71058593 addi a1,a1,1808 # 20003710 <MACTxBuf>
|
||
170e: 52418513 addi a0,gp,1316 # 20000d44 <DMATxDscrTab>
|
||
1712: be2ff0ef jal ra,af4 <ETH_DMATxDescChainInit>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:590
|
||
ETH_DMARxDescChainInit(DMARxDscrTab, MACRxBuf, ETH_RXBUFNB);
|
||
1716: 200015b7 lui a1,0x20001
|
||
171a: 4b418d13 addi s10,gp,1204 # 20000cd4 <DMARxDscrTab>
|
||
171e: 461d li a2,7
|
||
1720: d6458593 addi a1,a1,-668 # 20000d64 <MACRxBuf>
|
||
1724: 4b418513 addi a0,gp,1204 # 20000cd4 <DMARxDscrTab>
|
||
1728: c0eff0ef jal ra,b36 <ETH_DMARxDescChainInit>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:591
|
||
pDMARxSet = DMARxDscrTab;
|
||
172c: 89a1a423 sw s10,-1912(gp) # 200000a8 <pDMARxSet>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:592
|
||
pDMATxSet = DMATxDscrTab;
|
||
1730: 8991a623 sw s9,-1908(gp) # 200000ac <pDMATxSet>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:594
|
||
|
||
ETH->MACMIIAR = macmiiar;
|
||
1734: 01742823 sw s7,16(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:595
|
||
ETH->MACCR = maccr;
|
||
1738: 01642023 sw s6,0(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:596
|
||
ETH->MACFFR = macffr;
|
||
173c: 01542223 sw s5,4(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:597
|
||
ETH->MACHTHR = machthr;
|
||
1740: 01442423 sw s4,8(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:598
|
||
ETH->MACHTLR = machtlr;
|
||
1744: 01342623 sw s3,12(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:599
|
||
ETH->MACFCR = macfcr;
|
||
1748: 01242c23 sw s2,24(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:600
|
||
ETH->MACVLANTR = macvlantr;
|
||
174c: 01842e23 sw s8,28(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:601
|
||
ETH->DMAOMR = dmaomr;
|
||
1750: 400297b7 lui a5,0x40029
|
||
1754: cf84 sw s1,24(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:603
|
||
|
||
ETH_Start( );
|
||
1756: c52ff0ef jal ra,ba8 <ETH_Start>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:604
|
||
}
|
||
175a: aa7fe06f j 200 <__riscv_restore_10>
|
||
|
||
0000175e <WCHNET_RecProcess>:
|
||
WCHNET_RecProcess():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:617
|
||
*
|
||
* @return none.
|
||
*/
|
||
void WCHNET_RecProcess(void)
|
||
{
|
||
if(((ChipId & 0xf0) <= 0x20) && \
|
||
175e: 8741a783 lw a5,-1932(gp) # 20000094 <ChipId>
|
||
1762: 02000713 li a4,32
|
||
1766: 0f07f793 andi a5,a5,240
|
||
176a: 02f76263 bltu a4,a5,178e <WCHNET_RecProcess+0x30>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:616 (discriminator 1)
|
||
{
|
||
176e: a83fe2ef jal t0,1f0 <__riscv_save_0>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:618 (discriminator 1)
|
||
((ETH->DMAMFBOCR & 0x1FFE0000) != 0))
|
||
1772: 40029437 lui s0,0x40029
|
||
1776: 501c lw a5,32(s0)
|
||
1778: 1ffe0737 lui a4,0x1ffe0
|
||
177c: 8ff9 and a5,a5,a4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:617 (discriminator 1)
|
||
if(((ChipId & 0xf0) <= 0x20) && \
|
||
177e: c791 beqz a5,178a <WCHNET_RecProcess+0x2c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:620
|
||
{
|
||
ReInitMACReg();
|
||
1780: 35f9 jal 164e <ReInitMACReg>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:622
|
||
/* Resume DMA transport */
|
||
ETH->DMARPDR = 0;
|
||
1782: 00042423 sw zero,8(s0) # 40029008 <_eusrstack+0x20009008>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:623
|
||
ETH->DMATPDR = 0;
|
||
1786: 00042223 sw zero,4(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:625
|
||
}
|
||
}
|
||
178a: a8bfe06f j 214 <__riscv_restore_0>
|
||
178e: 8082 ret
|
||
|
||
00001790 <WCHNET_ETHIsr>:
|
||
WCHNET_ETHIsr():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:635
|
||
* @brief Ethernet Interrupt Service Routine
|
||
*
|
||
* @return none
|
||
*/
|
||
void WCHNET_ETHIsr(void)
|
||
{
|
||
1790: a61fe2ef jal t0,1f0 <__riscv_save_0>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:638
|
||
uint32_t int_sta;
|
||
|
||
int_sta = ETH->DMASR;
|
||
1794: 400297b7 lui a5,0x40029
|
||
1798: 4bc0 lw s0,20(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:639
|
||
if (int_sta & ETH_DMA_IT_AIS)
|
||
179a: 01041793 slli a5,s0,0x10
|
||
179e: 0007dd63 bgez a5,17b8 <WCHNET_ETHIsr+0x28>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:641
|
||
{
|
||
if (int_sta & ETH_DMA_IT_RBU)
|
||
17a2: 08047793 andi a5,s0,128
|
||
17a6: c791 beqz a5,17b2 <WCHNET_ETHIsr+0x22>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:643
|
||
{
|
||
WCHNET_RecProcess();
|
||
17a8: 3f5d jal 175e <WCHNET_RecProcess>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:644
|
||
ETH_DMAClearITPendingBit(ETH_DMA_IT_RBU);
|
||
17aa: 08000513 li a0,128
|
||
17ae: be2ff0ef jal ra,b90 <ETH_DMAClearITPendingBit>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:646
|
||
}
|
||
ETH_DMAClearITPendingBit(ETH_DMA_IT_AIS);
|
||
17b2: 6521 lui a0,0x8
|
||
17b4: bdcff0ef jal ra,b90 <ETH_DMAClearITPendingBit>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:649
|
||
}
|
||
|
||
if( int_sta & ETH_DMA_IT_NIS )
|
||
17b8: 00f41793 slli a5,s0,0xf
|
||
17bc: 0207d163 bgez a5,17de <WCHNET_ETHIsr+0x4e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:651
|
||
{
|
||
if( int_sta & ETH_DMA_IT_R )
|
||
17c0: 04047793 andi a5,s0,64
|
||
17c4: c789 beqz a5,17ce <WCHNET_ETHIsr+0x3e>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:655
|
||
{
|
||
/*If you don't use the Ethernet library,
|
||
* you can do some data processing operations here*/
|
||
ETH_DMAClearITPendingBit(ETH_DMA_IT_R);
|
||
17c6: 04000513 li a0,64
|
||
17ca: bc6ff0ef jal ra,b90 <ETH_DMAClearITPendingBit>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:657
|
||
}
|
||
if( int_sta & ETH_DMA_IT_T )
|
||
17ce: 8805 andi s0,s0,1
|
||
17d0: c401 beqz s0,17d8 <WCHNET_ETHIsr+0x48>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:659
|
||
{
|
||
ETH_DMAClearITPendingBit(ETH_DMA_IT_T);
|
||
17d2: 4505 li a0,1
|
||
17d4: bbcff0ef jal ra,b90 <ETH_DMAClearITPendingBit>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:661
|
||
}
|
||
ETH_DMAClearITPendingBit(ETH_DMA_IT_NIS);
|
||
17d8: 6541 lui a0,0x10
|
||
17da: bb6ff0ef jal ra,b90 <ETH_DMAClearITPendingBit>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:663
|
||
}
|
||
}
|
||
17de: a37fe06f j 214 <__riscv_restore_0>
|
||
|
||
000017e2 <ETH_Init>:
|
||
ETH_Init():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:673
|
||
* @brief Ethernet initialization.
|
||
*
|
||
* @return none
|
||
*/
|
||
void ETH_Init( uint8_t *macAddr )
|
||
{
|
||
17e2: a0ffe2ef jal t0,1f0 <__riscv_save_0>
|
||
17e6: 842a mv s0,a0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:674
|
||
ChipId = DBGMCU_GetCHIPID();
|
||
17e8: 972ff0ef jal ra,95a <DBGMCU_GetCHIPID>
|
||
17ec: 86a1aa23 sw a0,-1932(gp) # 20000094 <ChipId>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:675
|
||
ETH_Configuration( macAddr );
|
||
17f0: 8522 mv a0,s0
|
||
17f2: 3b15 jal 1526 <ETH_Configuration>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:676
|
||
ETH_DMATxDescChainInit(DMATxDscrTab, MACTxBuf, ETH_TXBUFNB);
|
||
17f4: 200035b7 lui a1,0x20003
|
||
17f8: 52418413 addi s0,gp,1316 # 20000d44 <DMATxDscrTab>
|
||
17fc: 4609 li a2,2
|
||
17fe: 71058593 addi a1,a1,1808 # 20003710 <MACTxBuf>
|
||
1802: 52418513 addi a0,gp,1316 # 20000d44 <DMATxDscrTab>
|
||
1806: aeeff0ef jal ra,af4 <ETH_DMATxDescChainInit>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:677
|
||
ETH_DMARxDescChainInit(DMARxDscrTab, MACRxBuf, ETH_RXBUFNB);
|
||
180a: 200015b7 lui a1,0x20001
|
||
180e: 4b418493 addi s1,gp,1204 # 20000cd4 <DMARxDscrTab>
|
||
1812: 461d li a2,7
|
||
1814: d6458593 addi a1,a1,-668 # 20000d64 <MACRxBuf>
|
||
1818: 4b418513 addi a0,gp,1204 # 20000cd4 <DMARxDscrTab>
|
||
181c: b1aff0ef jal ra,b36 <ETH_DMARxDescChainInit>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:678
|
||
pDMARxSet = DMARxDscrTab;
|
||
1820: 8891a423 sw s1,-1912(gp) # 200000a8 <pDMARxSet>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:679
|
||
pDMATxSet = DMATxDscrTab;
|
||
1824: 8881a623 sw s0,-1908(gp) # 200000ac <pDMATxSet>
|
||
NVIC_EnableIRQ():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\Core/core_riscv.h:170
|
||
NVIC->IENR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F));
|
||
1828: 6709 lui a4,0x2
|
||
182a: e000e7b7 lui a5,0xe000e
|
||
182e: 10e7a423 sw a4,264(a5) # e000e108 <_eusrstack+0xbffee108>
|
||
NVIC_SetPriority():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\Core/core_riscv.h:286
|
||
NVIC->IPRIOR[(uint32_t)(IRQn)] = priority;
|
||
1832: 440786a3 sb zero,1101(a5)
|
||
ETH_Init():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:682
|
||
NVIC_EnableIRQ(ETH_IRQn);
|
||
NVIC_SetPriority(ETH_IRQn, 0);
|
||
}
|
||
1836: 9dffe06f j 214 <__riscv_restore_0>
|
||
|
||
0000183a <ETH_LibInit>:
|
||
ETH_LibInit():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:692
|
||
* @brief Ethernet library initialization program
|
||
*
|
||
* @return command status
|
||
*/
|
||
uint8_t ETH_LibInit( uint8_t *ip, uint8_t *gwip, uint8_t *mask, uint8_t *macaddr )
|
||
{
|
||
183a: 9b7fe2ef jal t0,1f0 <__riscv_save_0>
|
||
183e: 7139 addi sp,sp,-64
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:697
|
||
uint8_t s;
|
||
struct _WCH_CFG cfg;
|
||
|
||
memset(&cfg,0,sizeof(cfg));
|
||
cfg.TxBufSize = ETH_TX_BUF_SZE;
|
||
1840: 5f400793 li a5,1524
|
||
1844: ca3e sw a5,20(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:698
|
||
cfg.TCPMss = WCHNET_TCP_MSS;
|
||
1846: 5b400793 li a5,1460
|
||
184a: cc3e sw a5,24(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:699
|
||
cfg.HeapSize = WCHNET_MEM_HEAP_SIZE;
|
||
184c: 6785 lui a5,0x1
|
||
184e: 26878793 addi a5,a5,616 # 1268 <ETH_RGMIIPinInit+0xaa>
|
||
1852: ce3e sw a5,28(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:700
|
||
cfg.ARPTableNum = WCHNET_NUM_ARP_TABLE;
|
||
1854: 03200793 li a5,50
|
||
1858: d03e sw a5,32(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:701
|
||
cfg.MiscConfig0 = WCHNET_MISC_CONFIG0;
|
||
185a: 10300793 li a5,259
|
||
185e: d23e sw a5,36(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:702
|
||
cfg.MiscConfig1 = WCHNET_MISC_CONFIG1;
|
||
1860: 405527b7 lui a5,0x40552
|
||
1864: 0785 addi a5,a5,1
|
||
1866: d43e sw a5,40(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:703
|
||
cfg.net_send = ETH_TxPktChainMode;
|
||
1868: 000017b7 lui a5,0x1
|
||
186c: 15278793 addi a5,a5,338 # 1152 <ETH_TxPktChainMode>
|
||
1870: da3e sw a5,52(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:704
|
||
cfg.CheckValid = WCHNET_CFG_VALID;
|
||
1872: 123457b7 lui a5,0x12345
|
||
1876: 67878793 addi a5,a5,1656 # 12345678 <_data_lma+0x1233c7e4>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:692
|
||
{
|
||
187a: 892a mv s2,a0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:705
|
||
s = WCHNET_ConfigLIB(&cfg);
|
||
187c: 0848 addi a0,sp,20
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:692
|
||
{
|
||
187e: c62e sw a1,12(sp)
|
||
1880: c432 sw a2,8(sp)
|
||
1882: 84b6 mv s1,a3
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:696
|
||
memset(&cfg,0,sizeof(cfg));
|
||
1884: d602 sw zero,44(sp)
|
||
1886: d802 sw zero,48(sp)
|
||
1888: dc02 sw zero,56(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:704
|
||
cfg.CheckValid = WCHNET_CFG_VALID;
|
||
188a: de3e sw a5,60(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:705
|
||
s = WCHNET_ConfigLIB(&cfg);
|
||
188c: 343000ef jal ra,23ce <WCHNET_ConfigLIB>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:706
|
||
if( s ){
|
||
1890: 842a mv s0,a0
|
||
1892: e911 bnez a0,18a6 <ETH_LibInit+0x6c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:709
|
||
return (s);
|
||
}
|
||
s = WCHNET_Init(ip,gwip,mask,macaddr);
|
||
1894: 4622 lw a2,8(sp)
|
||
1896: 45b2 lw a1,12(sp)
|
||
1898: 86a6 mv a3,s1
|
||
189a: 854a mv a0,s2
|
||
189c: 273000ef jal ra,230e <WCHNET_Init>
|
||
18a0: 842a mv s0,a0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:710
|
||
ETH_Init( macaddr );
|
||
18a2: 8526 mv a0,s1
|
||
18a4: 3f3d jal 17e2 <ETH_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../NetLib/eth_driver_RGMII.c:712
|
||
return (s);
|
||
}
|
||
18a6: 8522 mv a0,s0
|
||
18a8: 6121 addi sp,sp,64
|
||
18aa: 96bfe06f j 214 <__riscv_restore_0>
|
||
|
||
000018ae <Delay_Init>:
|
||
Delay_Init():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:30
|
||
*
|
||
* @return none
|
||
*/
|
||
void Delay_Init(void)
|
||
{
|
||
p_us = SystemCoreClock / 8000000;
|
||
18ae: 8141a783 lw a5,-2028(gp) # 20000034 <SystemCoreClock>
|
||
18b2: 007a1737 lui a4,0x7a1
|
||
18b6: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79836c>
|
||
18ba: 02e7d7b3 divu a5,a5,a4
|
||
18be: 0ff7f793 andi a5,a5,255
|
||
18c2: 88f18923 sb a5,-1902(gp) # 200000b2 <p_us>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:31
|
||
p_ms = (uint16_t)p_us * 1000;
|
||
18c6: 3e800713 li a4,1000
|
||
18ca: 02e787b3 mul a5,a5,a4
|
||
18ce: 88f19823 sh a5,-1904(gp) # 200000b0 <p_ms>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:32
|
||
}
|
||
18d2: 8082 ret
|
||
|
||
000018d4 <Delay_Us>:
|
||
Delay_Us():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:47
|
||
*/
|
||
void Delay_Us(uint32_t n)
|
||
{
|
||
uint32_t i;
|
||
|
||
SysTick->SR &= ~(1 << 0);
|
||
18d4: e000f7b7 lui a5,0xe000f
|
||
18d8: 43d8 lw a4,4(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:50
|
||
i = (uint32_t)n * p_us;
|
||
|
||
SysTick->CMP = i;
|
||
18da: 4681 li a3,0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:47
|
||
SysTick->SR &= ~(1 << 0);
|
||
18dc: 9b79 andi a4,a4,-2
|
||
18de: c3d8 sw a4,4(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:48
|
||
i = (uint32_t)n * p_us;
|
||
18e0: 8921c703 lbu a4,-1902(gp) # 200000b2 <p_us>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:50
|
||
SysTick->CMP = i;
|
||
18e4: 02a70633 mul a2,a4,a0
|
||
18e8: cb90 sw a2,16(a5)
|
||
18ea: cbd4 sw a3,20(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:51
|
||
SysTick->CTLR |= (1 << 4);
|
||
18ec: 4398 lw a4,0(a5)
|
||
18ee: 01076713 ori a4,a4,16
|
||
18f2: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:52
|
||
SysTick->CTLR |= (1 << 5) | (1 << 0);
|
||
18f4: 4398 lw a4,0(a5)
|
||
18f6: 02176713 ori a4,a4,33
|
||
18fa: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:54 (discriminator 1)
|
||
|
||
while((SysTick->SR & (1 << 0)) != (1 << 0))
|
||
18fc: 43d8 lw a4,4(a5)
|
||
18fe: 8b05 andi a4,a4,1
|
||
1900: df75 beqz a4,18fc <Delay_Us+0x28>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:56
|
||
;
|
||
SysTick->CTLR &= ~(1 << 0);
|
||
1902: 4398 lw a4,0(a5)
|
||
1904: 9b79 andi a4,a4,-2
|
||
1906: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:57
|
||
}
|
||
1908: 8082 ret
|
||
|
||
0000190a <USART_Printf_Init>:
|
||
USART_Printf_Init():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:94
|
||
* @param baudrate - USART communication baud rate.
|
||
*
|
||
* @return None
|
||
*/
|
||
void USART_Printf_Init(uint32_t baudrate)
|
||
{
|
||
190a: 8e7fe2ef jal t0,1f0 <__riscv_save_0>
|
||
190e: 1101 addi sp,sp,-32
|
||
1910: 842a mv s0,a0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:116
|
||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
|
||
GPIO_Init(GPIOA, &GPIO_InitStructure);
|
||
|
||
#elif(DEBUG == DEBUG_UART3)
|
||
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE);
|
||
1912: 4585 li a1,1
|
||
1914: 00040537 lui a0,0x40
|
||
1918: de6ff0ef jal ra,efe <RCC_APB1PeriphClockCmd>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:117
|
||
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
|
||
191c: 4585 li a1,1
|
||
191e: 4521 li a0,8
|
||
1920: dc0ff0ef jal ra,ee0 <RCC_APB2PeriphClockCmd>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:119
|
||
|
||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
|
||
1924: 40000793 li a5,1024
|
||
1928: 827c sh a5,4(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:122
|
||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
|
||
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
||
192a: 40011537 lui a0,0x40011
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:120
|
||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
||
192e: 478d li a5,3
|
||
1930: c43e sw a5,8(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:122
|
||
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
||
1932: 004c addi a1,sp,4
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:121
|
||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
|
||
1934: 47e1 li a5,24
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:122
|
||
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
||
1936: c0050513 addi a0,a0,-1024 # 40010c00 <_eusrstack+0x1fff0c00>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:121
|
||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
|
||
193a: c63e sw a5,12(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:122
|
||
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
||
193c: af4ff0ef jal ra,c30 <GPIO_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:126
|
||
|
||
#endif
|
||
|
||
USART_InitStructure.USART_BaudRate = baudrate;
|
||
1940: c822 sw s0,16(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:142
|
||
#elif(DEBUG == DEBUG_UART2)
|
||
USART_Init(USART2, &USART_InitStructure);
|
||
USART_Cmd(USART2, ENABLE);
|
||
|
||
#elif(DEBUG == DEBUG_UART3)
|
||
USART_Init(USART3, &USART_InitStructure);
|
||
1942: 40005437 lui s0,0x40005
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:129
|
||
USART_InitStructure.USART_Parity = USART_Parity_No;
|
||
1946: 000807b7 lui a5,0x80
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:142
|
||
USART_Init(USART3, &USART_InitStructure);
|
||
194a: 080c addi a1,sp,16
|
||
194c: 80040513 addi a0,s0,-2048 # 40004800 <_eusrstack+0x1ffe4800>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:129
|
||
USART_InitStructure.USART_Parity = USART_Parity_No;
|
||
1950: cc3e sw a5,24(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:127
|
||
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
|
||
1952: ca02 sw zero,20(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:130
|
||
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
|
||
1954: 00011e23 sh zero,28(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:142
|
||
USART_Init(USART3, &USART_InitStructure);
|
||
1958: f44ff0ef jal ra,109c <USART_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:143
|
||
USART_Cmd(USART3, ENABLE);
|
||
195c: 4585 li a1,1
|
||
195e: 80040513 addi a0,s0,-2048
|
||
1962: fc8ff0ef jal ra,112a <USART_Cmd>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:146
|
||
|
||
#endif
|
||
}
|
||
1966: 6105 addi sp,sp,32
|
||
1968: 8adfe06f j 214 <__riscv_restore_0>
|
||
|
||
0000196c <_write>:
|
||
_write():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:175
|
||
* size - Data length
|
||
*
|
||
* @return size: Data length
|
||
*/
|
||
__attribute__((used)) int _write(int fd, char *buf, int size)
|
||
{
|
||
196c: 86bfe2ef jal t0,1d6 <__riscv_save_4>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:224
|
||
USART_SendData(USART1, *buf++);
|
||
#elif(DEBUG == DEBUG_UART2)
|
||
while(USART_GetFlagStatus(USART2, USART_FLAG_TC) == RESET);
|
||
USART_SendData(USART2, *buf++);
|
||
#elif(DEBUG == DEBUG_UART3)
|
||
while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET);
|
||
1970: 400054b7 lui s1,0x40005
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:175
|
||
{
|
||
1974: 89ae mv s3,a1
|
||
1976: 8932 mv s2,a2
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:215
|
||
for(i = 0; i < size; i++)
|
||
1978: 4401 li s0,0
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:224
|
||
while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET);
|
||
197a: 80048493 addi s1,s1,-2048 # 40004800 <_eusrstack+0x1ffe4800>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:215 (discriminator 1)
|
||
for(i = 0; i < size; i++)
|
||
197e: 01244563 blt s0,s2,1988 <_write+0x1c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:230
|
||
USART_SendData(USART3, *buf++);
|
||
#endif
|
||
}
|
||
#endif
|
||
return size;
|
||
}
|
||
1982: 854a mv a0,s2
|
||
1984: 887fe06f j 20a <__riscv_restore_4>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:224 (discriminator 1)
|
||
while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET);
|
||
1988: 04000593 li a1,64
|
||
198c: 8526 mv a0,s1
|
||
198e: fbaff0ef jal ra,1148 <USART_GetFlagStatus>
|
||
1992: d97d beqz a0,1988 <_write+0x1c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:225 (discriminator 2)
|
||
USART_SendData(USART3, *buf++);
|
||
1994: 008987b3 add a5,s3,s0
|
||
1998: 00078583 lb a1,0(a5) # 80000 <_data_lma+0x7716c>
|
||
199c: 8526 mv a0,s1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:215 (discriminator 2)
|
||
for(i = 0; i < size; i++)
|
||
199e: 0405 addi s0,s0,1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/debug.c:225 (discriminator 2)
|
||
USART_SendData(USART3, *buf++);
|
||
19a0: 05c2 slli a1,a1,0x10
|
||
19a2: 81c1 srli a1,a1,0x10
|
||
19a4: f9cff0ef jal ra,1140 <USART_SendData>
|
||
19a8: bfd9 j 197e <_write+0x12>
|
||
|
||
000019aa <DVP_Init>:
|
||
DVP_Init():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:17
|
||
static uint32_t frame_count = 0;
|
||
|
||
extern u8 socket[];
|
||
|
||
void DVP_Init(void)
|
||
{
|
||
19aa: 847fe2ef jal t0,1f0 <__riscv_save_0>
|
||
19ae: 1101 addi sp,sp,-32
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:21
|
||
GPIO_InitTypeDef GPIO_InitStructure = {0};
|
||
NVIC_InitTypeDef NVIC_InitStructure = {0};
|
||
|
||
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC, ENABLE);
|
||
19b0: 4585 li a1,1
|
||
19b2: 4571 li a0,28
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:18
|
||
GPIO_InitTypeDef GPIO_InitStructure = {0};
|
||
19b4: ca02 sw zero,20(sp)
|
||
19b6: cc02 sw zero,24(sp)
|
||
19b8: ce02 sw zero,28(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:19
|
||
NVIC_InitTypeDef NVIC_InitStructure = {0};
|
||
19ba: c602 sw zero,12(sp)
|
||
19bc: c802 sw zero,16(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:21
|
||
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC, ENABLE);
|
||
19be: d22ff0ef jal ra,ee0 <RCC_APB2PeriphClockCmd>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:22
|
||
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DVP, ENABLE);
|
||
19c2: 4585 li a1,1
|
||
19c4: 6509 lui a0,0x2
|
||
19c6: cfcff0ef jal ra,ec2 <RCC_AHBPeriphClockCmd>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:26
|
||
|
||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
|
||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_9 | GPIO_Pin_10;
|
||
GPIO_Init(GPIOA, &GPIO_InitStructure);
|
||
19ca: 40011437 lui s0,0x40011
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:24
|
||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
|
||
19ce: 4791 li a5,4
|
||
19d0: ce3e sw a5,28(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:26
|
||
GPIO_Init(GPIOA, &GPIO_InitStructure);
|
||
19d2: 084c addi a1,sp,20
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:25
|
||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_9 | GPIO_Pin_10;
|
||
19d4: 67000793 li a5,1648
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:26
|
||
GPIO_Init(GPIOA, &GPIO_InitStructure);
|
||
19d8: 80040513 addi a0,s0,-2048 # 40010800 <_eusrstack+0x1fff0800>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:25
|
||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_9 | GPIO_Pin_10;
|
||
19dc: 82fc sh a5,20(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:26
|
||
GPIO_Init(GPIOA, &GPIO_InitStructure);
|
||
19de: a52ff0ef jal ra,c30 <GPIO_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:27
|
||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_11;
|
||
19e2: 6785 lui a5,0x1
|
||
19e4: b0078793 addi a5,a5,-1280 # b00 <ETH_DMATxDescChainInit+0xc>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:28
|
||
GPIO_Init(GPIOC, &GPIO_InitStructure);
|
||
19e8: 084c addi a1,sp,20
|
||
19ea: 40011537 lui a0,0x40011
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:27
|
||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_11;
|
||
19ee: 82fc sh a5,20(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:28
|
||
GPIO_Init(GPIOC, &GPIO_InitStructure);
|
||
19f0: a40ff0ef jal ra,c30 <GPIO_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:30
|
||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_8 | GPIO_Pin_9;
|
||
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
||
19f4: 084c addi a1,sp,20
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:29
|
||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_8 | GPIO_Pin_9;
|
||
19f6: 30800793 li a5,776
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:30
|
||
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
||
19fa: c0040513 addi a0,s0,-1024
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:29
|
||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_8 | GPIO_Pin_9;
|
||
19fe: 82fc sh a5,20(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:30
|
||
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
||
1a00: a30ff0ef jal ra,c30 <GPIO_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:32
|
||
|
||
NVIC_InitStructure.NVIC_IRQChannel = DVP_IRQn;
|
||
1a04: 05600793 li a5,86
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:35
|
||
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
|
||
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
|
||
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
|
||
1a08: 4485 li s1,1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:36
|
||
NVIC_Init(&NVIC_InitStructure);
|
||
1a0a: 0068 addi a0,sp,12
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:32
|
||
NVIC_InitStructure.NVIC_IRQChannel = DVP_IRQn;
|
||
1a0c: 867c sh a5,12(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:35
|
||
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
|
||
1a0e: c826 sw s1,16(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:34
|
||
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
|
||
1a10: 00010723 sb zero,14(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:36
|
||
NVIC_Init(&NVIC_InitStructure);
|
||
1a14: adcff0ef jal ra,cf0 <NVIC_Init>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:38
|
||
|
||
DVP_Cfg(DVP_DMA_Disable, DVP_FLAG_FIFO_RESET_Enable, DVP_RX_RESET_Enable);
|
||
1a18: 4605 li a2,1
|
||
1a1a: 4585 li a1,1
|
||
1a1c: 4501 li a0,0
|
||
1a1e: f8ffe0ef jal ra,9ac <DVP_Cfg>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:39
|
||
DVP_Mode(RB_DVP_D8_MOD, Video_Mode);
|
||
1a22: 4581 li a1,0
|
||
1a24: 4501 li a0,0
|
||
1a26: f55fe0ef jal ra,97a <DVP_Mode>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:40
|
||
DVP->CR0 &= ~(RB_DVP_P_POLAR | RB_DVP_V_POLAR | RB_DVP_H_POLAR);
|
||
1a2a: 50050437 lui s0,0x50050
|
||
1a2e: 201c lbu a5,0(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:45
|
||
DVP->DMA_BUF0 = (uint32_t)DMA_LineBuf0;
|
||
DVP->DMA_BUF1 = (uint32_t)DMA_LineBuf1;
|
||
DVP->ROW_NUM = 1;
|
||
DVP->COL_NUM = BYTES_PER_LINE;
|
||
DVP_INTCfg(ENABLE, RB_DVP_IE_STR_FRM | RB_DVP_IE_ROW_DONE);
|
||
1a30: 458d li a1,3
|
||
1a32: 4505 li a0,1
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:40
|
||
DVP->CR0 &= ~(RB_DVP_P_POLAR | RB_DVP_V_POLAR | RB_DVP_H_POLAR);
|
||
1a34: 0f17f793 andi a5,a5,241
|
||
1a38: a01c sb a5,0(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:41
|
||
DVP->DMA_BUF0 = (uint32_t)DMA_LineBuf0;
|
||
1a3a: 200077b7 lui a5,0x20007
|
||
1a3e: 37478793 addi a5,a5,884 # 20007374 <DMA_LineBuf0>
|
||
1a42: c41c sw a5,8(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:42
|
||
DVP->DMA_BUF1 = (uint32_t)DMA_LineBuf1;
|
||
1a44: 200077b7 lui a5,0x20007
|
||
1a48: 57478793 addi a5,a5,1396 # 20007574 <DMA_LineBuf1>
|
||
1a4c: c45c sw a5,12(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:43
|
||
DVP->ROW_NUM = 1;
|
||
1a4e: a046 sh s1,4(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:44
|
||
DVP->COL_NUM = BYTES_PER_LINE;
|
||
1a50: 20000793 li a5,512
|
||
1a54: a07e sh a5,6(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:45
|
||
DVP_INTCfg(ENABLE, RB_DVP_IE_STR_FRM | RB_DVP_IE_ROW_DONE);
|
||
1a56: f0ffe0ef jal ra,964 <DVP_INTCfg>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:46
|
||
DVP_Cfg(DVP_DMA_Enable, DVP_FLAG_FIFO_RESET_Disable, DVP_RX_RESET_Disable);
|
||
1a5a: 4601 li a2,0
|
||
1a5c: 4581 li a1,0
|
||
1a5e: 4505 li a0,1
|
||
1a60: f4dfe0ef jal ra,9ac <DVP_Cfg>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:47
|
||
DVP->CR0 |= RB_DVP_ENABLE;
|
||
1a64: 201c lbu a5,0(s0)
|
||
1a66: 0017e793 ori a5,a5,1
|
||
1a6a: a01c sb a5,0(s0)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:48
|
||
}
|
||
1a6c: 6105 addi sp,sp,32
|
||
1a6e: fa6fe06f j 214 <__riscv_restore_0>
|
||
|
||
00001a72 <DVP_Task>:
|
||
DVP_Task():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:52
|
||
|
||
void DVP_Task(void)
|
||
{
|
||
if (!Line_Ready_Flag) return;
|
||
1a72: 89318793 addi a5,gp,-1901 # 200000b3 <Line_Ready_Flag>
|
||
1a76: 2398 lbu a4,0(a5)
|
||
1a78: 0ff77713 andi a4,a4,255
|
||
1a7c: cb59 beqz a4,1b12 <DVP_Task+0xa0>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:51
|
||
{
|
||
1a7e: f58fe2ef jal t0,1d6 <__riscv_save_4>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:54
|
||
|
||
uint8_t *line = (uint8_t *)Ready_Line_Ptr;
|
||
1a82: 8941a983 lw s3,-1900(gp) # 200000b4 <Ready_Line_Ptr>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:55
|
||
uint32_t idx = current_line_idx;
|
||
1a86: 8981a403 lw s0,-1896(gp) # 200000b8 <current_line_idx>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:56
|
||
Line_Ready_Flag = 0;
|
||
1a8a: 00078023 sb zero,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:59
|
||
|
||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD> socket <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||
if (idx < SENSOR_HEIGHT && socket[0] != 0xFF)
|
||
1a8e: 0bf00793 li a5,191
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:51
|
||
{
|
||
1a92: 1141 addi sp,sp,-16
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:59
|
||
if (idx < SENSOR_HEIGHT && socket[0] != 0xFF)
|
||
1a94: 0487ec63 bltu a5,s0,1aec <DVP_Task+0x7a>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:59 (discriminator 1)
|
||
1a98: 8641c503 lbu a0,-1948(gp) # 20000084 <socket>
|
||
1a9c: 0ff00793 li a5,255
|
||
1aa0: 04f50f63 beq a0,a5,1afe <DVP_Task+0x8c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:62
|
||
{
|
||
/* 4<>ֽ<EFBFBD><D6BD><EFBFBD>ͷ<EFBFBD><CDB7>֡<EFBFBD><D6A1>(2B) + <20>к<EFBFBD>(2B) */
|
||
uint8_t hdr[4] = {
|
||
1aa4: 89c18493 addi s1,gp,-1892 # 200000bc <frame_count>
|
||
1aa8: 209e lhu a5,0(s1)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:67
|
||
(frame_count >> 8) & 0xFF, frame_count & 0xFF,
|
||
(idx >> 8) & 0xFF, idx & 0xFF
|
||
};
|
||
u32 len = 4;
|
||
WCHNET_SocketSend(socket[0], hdr, &len);
|
||
1aaa: 0070 addi a2,sp,12
|
||
1aac: 002c addi a1,sp,8
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:62
|
||
uint8_t hdr[4] = {
|
||
1aae: 00879713 slli a4,a5,0x8
|
||
1ab2: 83a1 srli a5,a5,0x8
|
||
1ab4: 8fd9 or a5,a5,a4
|
||
1ab6: 847c sh a5,8(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:66
|
||
u32 len = 4;
|
||
1ab8: 4791 li a5,4
|
||
1aba: c63e sw a5,12(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:62
|
||
uint8_t hdr[4] = {
|
||
1abc: 00010523 sb zero,10(sp)
|
||
1ac0: 85c0 sb s0,11(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:67
|
||
WCHNET_SocketSend(socket[0], hdr, &len);
|
||
1ac2: 080010ef jal ra,2b42 <WCHNET_SocketSend>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:69
|
||
len = BYTES_PER_LINE;
|
||
WCHNET_SocketSend(socket[0], line, &len);
|
||
1ac6: 8641c503 lbu a0,-1948(gp) # 20000084 <socket>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:68
|
||
len = BYTES_PER_LINE;
|
||
1aca: 20000793 li a5,512
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:69
|
||
WCHNET_SocketSend(socket[0], line, &len);
|
||
1ace: 0070 addi a2,sp,12
|
||
1ad0: 85ce mv a1,s3
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:68
|
||
len = BYTES_PER_LINE;
|
||
1ad2: c63e sw a5,12(sp)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:69
|
||
WCHNET_SocketSend(socket[0], line, &len);
|
||
1ad4: 06e010ef jal ra,2b42 <WCHNET_SocketSend>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:72
|
||
|
||
/* ÿ֡<C3BF><D6A1>0<EFBFBD>д<EFBFBD>ӡһ<D3A1>Σ<EFBFBD>ȷ<EFBFBD><C8B7>֡<EFBFBD>ź<EFBFBD>socket״̬ */
|
||
if (idx == 0)
|
||
1ad8: e811 bnez s0,1aec <DVP_Task+0x7a>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:73
|
||
printf("[DVP] frame=%lu socket=%d\r\n", frame_count, socket[0]);
|
||
1ada: 8641c603 lbu a2,-1948(gp) # 20000084 <socket>
|
||
1ade: 408c lw a1,0(s1)
|
||
1ae0: 00009537 lui a0,0x9
|
||
1ae4: de850513 addi a0,a0,-536 # 8de8 <MemSize+0x10>
|
||
1ae8: 048070ef jal ra,8b30 <printf>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:80
|
||
else if (idx == 0 && socket[0] == 0xFF)
|
||
{
|
||
/* socket δ<><CEB4><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ʾ */
|
||
printf("[DVP] frame=%lu waiting for TCP...\r\n", frame_count);
|
||
}
|
||
memset(line, 0, BYTES_PER_LINE);
|
||
1aec: 20000613 li a2,512
|
||
1af0: 4581 li a1,0
|
||
1af2: 854e mv a0,s3
|
||
1af4: f2cfe0ef jal ra,220 <memset>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:81
|
||
}
|
||
1af8: 0141 addi sp,sp,16
|
||
1afa: f10fe06f j 20a <__riscv_restore_4>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:75
|
||
else if (idx == 0 && socket[0] == 0xFF)
|
||
1afe: f47d bnez s0,1aec <DVP_Task+0x7a>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:78 (discriminator 1)
|
||
printf("[DVP] frame=%lu waiting for TCP...\r\n", frame_count);
|
||
1b00: 89c1a583 lw a1,-1892(gp) # 200000bc <frame_count>
|
||
1b04: 00009537 lui a0,0x9
|
||
1b08: e0450513 addi a0,a0,-508 # 8e04 <MemSize+0x2c>
|
||
1b0c: 024070ef jal ra,8b30 <printf>
|
||
1b10: bff1 j 1aec <DVP_Task+0x7a>
|
||
1b12: 8082 ret
|
||
|
||
00001b14 <DVP_IRQHandler>:
|
||
DVP_IRQHandler():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:86
|
||
|
||
void DVP_IRQHandler(void) __attribute__((interrupt("WCH-Interrupt-fast")));
|
||
void DVP_IRQHandler(void)
|
||
{
|
||
if (DVP->IFR & RB_DVP_IF_STR_FRM)
|
||
1b14: 50050737 lui a4,0x50050
|
||
1b18: 2b1c lbu a5,16(a4)
|
||
1b1a: 8b85 andi a5,a5,1
|
||
1b1c: cb91 beqz a5,1b30 <DVP_IRQHandler+0x1c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:88
|
||
{
|
||
DVP->IFR = RB_DVP_IF_STR_FRM;
|
||
1b1e: 4785 li a5,1
|
||
1b20: ab1c sb a5,16(a4)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:89
|
||
current_line_idx = 0;
|
||
1b22: 8801ac23 sw zero,-1896(gp) # 200000b8 <current_line_idx>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:90
|
||
frame_count++;
|
||
1b26: 89c18793 addi a5,gp,-1892 # 200000bc <frame_count>
|
||
1b2a: 4398 lw a4,0(a5)
|
||
1b2c: 0705 addi a4,a4,1
|
||
1b2e: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:92
|
||
}
|
||
if (DVP->IFR & RB_DVP_IF_ROW_DONE)
|
||
1b30: 500507b7 lui a5,0x50050
|
||
1b34: 2b98 lbu a4,16(a5)
|
||
1b36: 8b09 andi a4,a4,2
|
||
1b38: c705 beqz a4,1b60 <DVP_IRQHandler+0x4c>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:94
|
||
{
|
||
DVP->IFR = RB_DVP_IF_ROW_DONE;
|
||
1b3a: 4709 li a4,2
|
||
1b3c: ab98 sb a4,16(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:95
|
||
Ready_Line_Ptr = (DVP->CR1 & RB_DVP_BUF_TOG) ? DMA_LineBuf0 : DMA_LineBuf1;
|
||
1b3e: 339c lbu a5,1(a5)
|
||
1b40: 8ba1 andi a5,a5,8
|
||
1b42: e38d bnez a5,1b64 <DVP_IRQHandler+0x50>
|
||
1b44: 200077b7 lui a5,0x20007
|
||
1b48: 57478793 addi a5,a5,1396 # 20007574 <DMA_LineBuf1>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:95 (discriminator 4)
|
||
1b4c: 88f1aa23 sw a5,-1900(gp) # 200000b4 <Ready_Line_Ptr>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:96 (discriminator 4)
|
||
current_line_idx++;
|
||
1b50: 89818793 addi a5,gp,-1896 # 200000b8 <current_line_idx>
|
||
1b54: 4398 lw a4,0(a5)
|
||
1b56: 0705 addi a4,a4,1
|
||
1b58: c398 sw a4,0(a5)
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:97 (discriminator 4)
|
||
Line_Ready_Flag = 1;
|
||
1b5a: 4705 li a4,1
|
||
1b5c: 88e189a3 sb a4,-1901(gp) # 200000b3 <Line_Ready_Flag>
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:99
|
||
}
|
||
}
|
||
1b60: 30200073 mret
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Debug/dvp.c:95
|
||
Ready_Line_Ptr = (DVP->CR1 & RB_DVP_BUF_TOG) ? DMA_LineBuf0 : DMA_LineBuf1;
|
||
1b64: 200077b7 lui a5,0x20007
|
||
1b68: 37478793 addi a5,a5,884 # 20007374 <DMA_LineBuf0>
|
||
1b6c: b7c5 j 1b4c <DVP_IRQHandler+0x38>
|
||
|
||
00001b6e <__get_MEPC>:
|
||
__get_MEPC():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Core/core_riscv.c:248
|
||
*/
|
||
uint32_t __get_MEPC(void)
|
||
{
|
||
uint32_t result;
|
||
|
||
__ASM volatile ( "csrr %0," "mepc" : "=r" (result) );
|
||
1b6e: 34102573 csrr a0,mepc
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Core/core_riscv.c:250
|
||
return (result);
|
||
}
|
||
1b72: 8082 ret
|
||
|
||
00001b74 <__get_MCAUSE>:
|
||
__get_MCAUSE():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Core/core_riscv.c:275
|
||
*/
|
||
uint32_t __get_MCAUSE(void)
|
||
{
|
||
uint32_t result;
|
||
|
||
__ASM volatile ( "csrr %0," "mcause" : "=r" (result) );
|
||
1b74: 34202573 csrr a0,mcause
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Core/core_riscv.c:277
|
||
return (result);
|
||
}
|
||
1b78: 8082 ret
|
||
|
||
00001b7a <__get_MTVAL>:
|
||
__get_MTVAL():
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Core/core_riscv.c:302
|
||
*/
|
||
uint32_t __get_MTVAL(void)
|
||
{
|
||
uint32_t result;
|
||
|
||
__ASM volatile ( "csrr %0," "mtval" : "=r" (result) );
|
||
1b7a: 34302573 csrr a0,mtval
|
||
D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Core/core_riscv.c:304
|
||
return (result);
|
||
}
|
||
1b7e: 8082 ret
|
||
|
||
00001b80 <WCHNET_PeriodicHandle>:
|
||
WCHNET_PeriodicHandle():
|
||
1b80: e70fe2ef jal t0,1f0 <__riscv_save_0>
|
||
1b84: 8801a783 lw a5,-1920(gp) # 200000a0 <LocalTime>
|
||
1b88: 1141 addi sp,sp,-16
|
||
1b8a: c63e sw a5,12(sp)
|
||
1b8c: 176010ef jal ra,2d02 <WCHNET_GetPHYStatus>
|
||
1b90: 8911 andi a0,a0,4
|
||
1b92: 14050363 beqz a0,1cd8 <WCHNET_PeriodicHandle+0x158>
|
||
1b96: 8b818793 addi a5,gp,-1864 # 200000d8 <TCPTimer>
|
||
1b9a: 4398 lw a4,0(a5)
|
||
1b9c: 46b2 lw a3,12(sp)
|
||
1b9e: 8e99 sub a3,a3,a4
|
||
1ba0: 20008737 lui a4,0x20008
|
||
1ba4: 81472703 lw a4,-2028(a4) # 20007814 <NetInf+0x1c>
|
||
1ba8: 8305 srli a4,a4,0x1
|
||
1baa: 00d77663 bgeu a4,a3,1bb6 <WCHNET_PeriodicHandle+0x36>
|
||
1bae: 4732 lw a4,12(sp)
|
||
1bb0: c398 sw a4,0(a5)
|
||
1bb2: 377030ef jal ra,5728 <tcp_tmr>
|
||
1bb6: 715030ef jal ra,5aca <RemoveTimeWaiTCP>
|
||
1bba: 8d41a783 lw a5,-1836(gp) # 200000f4 <tcpSendAckFlag>
|
||
1bbe: c791 beqz a5,1bca <WCHNET_PeriodicHandle+0x4a>
|
||
1bc0: 38b030ef jal ra,574a <tcp_fastsendack>
|
||
1bc4: e119 bnez a0,1bca <WCHNET_PeriodicHandle+0x4a>
|
||
1bc6: 8c01aa23 sw zero,-1836(gp) # 200000f4 <tcpSendAckFlag>
|
||
1bca: 8b418493 addi s1,gp,-1868 # 200000d4 <IPFragTimer>
|
||
1bce: 4098 lw a4,0(s1)
|
||
1bd0: 47b2 lw a5,12(sp)
|
||
1bd2: 8f99 sub a5,a5,a4
|
||
1bd4: 3e700713 li a4,999
|
||
1bd8: 00f77663 bgeu a4,a5,1be4 <WCHNET_PeriodicHandle+0x64>
|
||
1bdc: 0ee020ef jal ra,3cca <ip_reass_tmr>
|
||
1be0: 47b2 lw a5,12(sp)
|
||
1be2: c09c sw a5,0(s1)
|
||
1be4: 8a018793 addi a5,gp,-1888 # 200000c0 <ARPTimer>
|
||
1be8: 4398 lw a4,0(a5)
|
||
1bea: 46b2 lw a3,12(sp)
|
||
1bec: 06400613 li a2,100
|
||
1bf0: 8e99 sub a3,a3,a4
|
||
1bf2: 8c51c703 lbu a4,-1851(gp) # 200000e5 <ARP_Retry_Period>
|
||
1bf6: 02c70733 mul a4,a4,a2
|
||
1bfa: 00e6e663 bltu a3,a4,1c06 <WCHNET_PeriodicHandle+0x86>
|
||
1bfe: 4732 lw a4,12(sp)
|
||
1c00: c398 sw a4,0(a5)
|
||
1c02: 6d2010ef jal ra,32d4 <etharp_tmr>
|
||
1c06: 200077b7 lui a5,0x20007
|
||
1c0a: 7d878793 addi a5,a5,2008 # 200077d8 <DNSInf>
|
||
1c0e: 47d8 lw a4,12(a5)
|
||
1c10: cf11 beqz a4,1c2c <WCHNET_PeriodicHandle+0xac>
|
||
1c12: 8b018713 addi a4,gp,-1872 # 200000d0 <DNSTimer>
|
||
1c16: 4310 lw a2,0(a4)
|
||
1c18: 46b2 lw a3,12(sp)
|
||
1c1a: 8e91 sub a3,a3,a2
|
||
1c1c: 3e700613 li a2,999
|
||
1c20: 00d67663 bgeu a2,a3,1c2c <WCHNET_PeriodicHandle+0xac>
|
||
1c24: 46b2 lw a3,12(sp)
|
||
1c26: 43dc lw a5,4(a5)
|
||
1c28: c314 sw a3,0(a4)
|
||
1c2a: 9782 jalr a5
|
||
1c2c: 200074b7 lui s1,0x20007
|
||
1c30: 7804a783 lw a5,1920(s1) # 20007780 <DHCPCtrl>
|
||
1c34: cba9 beqz a5,1c86 <WCHNET_PeriodicHandle+0x106>
|
||
1c36: 8ac18713 addi a4,gp,-1876 # 200000cc <DHCPfineTimer>
|
||
1c3a: 431c lw a5,0(a4)
|
||
1c3c: 46b2 lw a3,12(sp)
|
||
1c3e: 0fa00613 li a2,250
|
||
1c42: 8e9d sub a3,a3,a5
|
||
1c44: 200087b7 lui a5,0x20008
|
||
1c48: 8507a783 lw a5,-1968(a5) # 20007850 <WCHCfg+0x14>
|
||
1c4c: 83ed srli a5,a5,0x1b
|
||
1c4e: 02c787b3 mul a5,a5,a2
|
||
1c52: 00f6e963 bltu a3,a5,1c64 <WCHNET_PeriodicHandle+0xe4>
|
||
1c56: 47b2 lw a5,12(sp)
|
||
1c58: c31c sw a5,0(a4)
|
||
1c5a: 78048793 addi a5,s1,1920
|
||
1c5e: 4b9c lw a5,16(a5)
|
||
1c60: c391 beqz a5,1c64 <WCHNET_PeriodicHandle+0xe4>
|
||
1c62: 9782 jalr a5
|
||
1c64: 8a818793 addi a5,gp,-1880 # 200000c8 <DHCPcoarseTimer>
|
||
1c68: 4398 lw a4,0(a5)
|
||
1c6a: 46b2 lw a3,12(sp)
|
||
1c6c: 8e99 sub a3,a3,a4
|
||
1c6e: 673d lui a4,0xf
|
||
1c70: a5f70713 addi a4,a4,-1441 # ea5f <_data_lma+0x5bcb>
|
||
1c74: 00d77963 bgeu a4,a3,1c86 <WCHNET_PeriodicHandle+0x106>
|
||
1c78: 4732 lw a4,12(sp)
|
||
1c7a: 78048493 addi s1,s1,1920
|
||
1c7e: c398 sw a4,0(a5)
|
||
1c80: 48dc lw a5,20(s1)
|
||
1c82: c391 beqz a5,1c86 <WCHNET_PeriodicHandle+0x106>
|
||
1c84: 9782 jalr a5
|
||
1c86: 4532 lw a0,12(sp)
|
||
1c88: 8a418493 addi s1,gp,-1884 # 200000c4 <ArpCheckTime>
|
||
1c8c: 2c75 jal 1f48 <IPCheckTmr>
|
||
1c8e: 409c lw a5,0(s1)
|
||
1c90: 4732 lw a4,12(sp)
|
||
1c92: 8f1d sub a4,a4,a5
|
||
1c94: 67bd lui a5,0xf
|
||
1c96: a5f78793 addi a5,a5,-1441 # ea5f <_data_lma+0x5bcb>
|
||
1c9a: 00e7f563 bgeu a5,a4,1ca4 <WCHNET_PeriodicHandle+0x124>
|
||
1c9e: 2c8d jal 1f10 <SelIPARPSend>
|
||
1ca0: 47b2 lw a5,12(sp)
|
||
1ca2: c09c sw a5,0(s1)
|
||
1ca4: 8d01c703 lbu a4,-1840(gp) # 200000f0 <phydata>
|
||
1ca8: 84be mv s1,a5
|
||
1caa: 0ff77713 andi a4,a4,255
|
||
1cae: c70d beqz a4,1cd8 <WCHNET_PeriodicHandle+0x158>
|
||
1cb0: 8d01c703 lbu a4,-1840(gp) # 200000f0 <phydata>
|
||
1cb4: 0c077713 andi a4,a4,192
|
||
1cb8: e31d bnez a4,1cde <WCHNET_PeriodicHandle+0x15e>
|
||
1cba: 200087b7 lui a5,0x20008
|
||
1cbe: 8587a783 lw a5,-1960(a5) # 20007858 <WCHCfg+0x1c>
|
||
1cc2: c399 beqz a5,1cc8 <WCHNET_PeriodicHandle+0x148>
|
||
1cc4: 4505 li a0,1
|
||
1cc6: 9782 jalr a5
|
||
1cc8: 8801a703 lw a4,-1920(gp) # 200000a0 <LocalTime>
|
||
1ccc: 8ce1a023 sw a4,-1856(gp) # 200000e0 <phydatatime>
|
||
1cd0: 04000793 li a5,64
|
||
1cd4: 8cf18823 sb a5,-1840(gp) # 200000f0 <phydata>
|
||
1cd8: 0141 addi sp,sp,16
|
||
1cda: d3afe06f j 214 <__riscv_restore_0>
|
||
1cde: 8d01c703 lbu a4,-1840(gp) # 200000f0 <phydata>
|
||
1ce2: 04077713 andi a4,a4,64
|
||
1ce6: cb15 beqz a4,1d1a <WCHNET_PeriodicHandle+0x19a>
|
||
1ce8: 8c01a683 lw a3,-1856(gp) # 200000e0 <phydatatime>
|
||
1cec: 8801a703 lw a4,-1920(gp) # 200000a0 <LocalTime>
|
||
1cf0: 8c018913 addi s2,gp,-1856 # 200000e0 <phydatatime>
|
||
1cf4: 8f15 sub a4,a4,a3
|
||
1cf6: 06400693 li a3,100
|
||
1cfa: fce6ffe3 bgeu a3,a4,1cd8 <WCHNET_PeriodicHandle+0x158>
|
||
1cfe: 200087b7 lui a5,0x20008
|
||
1d02: 8587a783 lw a5,-1960(a5) # 20007858 <WCHCfg+0x1c>
|
||
1d06: c399 beqz a5,1d0c <WCHNET_PeriodicHandle+0x18c>
|
||
1d08: 4501 li a0,0
|
||
1d0a: 9782 jalr a5
|
||
1d0c: 8801a783 lw a5,-1920(gp) # 200000a0 <LocalTime>
|
||
1d10: 00f92023 sw a5,0(s2)
|
||
1d14: f8000793 li a5,-128
|
||
1d18: bf75 j 1cd4 <WCHNET_PeriodicHandle+0x154>
|
||
1d1a: 8d01c703 lbu a4,-1840(gp) # 200000f0 <phydata>
|
||
1d1e: 0762 slli a4,a4,0x18
|
||
1d20: 8761 srai a4,a4,0x18
|
||
1d22: fa075be3 bgez a4,1cd8 <WCHNET_PeriodicHandle+0x158>
|
||
1d26: 8c01a683 lw a3,-1856(gp) # 200000e0 <phydatatime>
|
||
1d2a: 8801a703 lw a4,-1920(gp) # 200000a0 <LocalTime>
|
||
1d2e: 8f15 sub a4,a4,a3
|
||
1d30: 06400693 li a3,100
|
||
1d34: fae6f2e3 bgeu a3,a4,1cd8 <WCHNET_PeriodicHandle+0x158>
|
||
1d38: 8c018823 sb zero,-1840(gp) # 200000f0 <phydata>
|
||
1d3c: bf71 j 1cd8 <WCHNET_PeriodicHandle+0x158>
|
||
|
||
00001d3e <WCHNET_NetInput>:
|
||
WCHNET_NetInput():
|
||
1d3e: cb2fe2ef jal t0,1f0 <__riscv_save_0>
|
||
1d42: 20008537 lui a0,0x20008
|
||
1d46: 86850513 addi a0,a0,-1944 # 20007868 <WCHNetIf>
|
||
1d4a: 18f010ef jal ra,36d8 <ethernetif_input>
|
||
1d4e: cc6fe06f j 214 <__riscv_restore_0>
|
||
|
||
00001d52 <WCHNET_PhyStatus>:
|
||
WCHNET_PhyStatus():
|
||
1d52: c9efe2ef jal t0,1f0 <__riscv_save_0>
|
||
1d56: 200077b7 lui a5,0x20007
|
||
1d5a: 7f878793 addi a5,a5,2040 # 200077f8 <NetInf>
|
||
1d5e: 57d8 lw a4,44(a5)
|
||
1d60: 20008437 lui s0,0x20008
|
||
1d64: d388 sw a0,32(a5)
|
||
1d66: 00476713 ori a4,a4,4
|
||
1d6a: d7d8 sw a4,44(a5)
|
||
1d6c: 8911 andi a0,a0,4
|
||
1d6e: 83c40793 addi a5,s0,-1988 # 2000783c <WCHCfg>
|
||
1d72: 4f9c lw a5,24(a5)
|
||
1d74: 83c40413 addi s0,s0,-1988
|
||
1d78: cd01 beqz a0,1d90 <WCHNET_PhyStatus+0x3e>
|
||
1d7a: c399 beqz a5,1d80 <WCHNET_PhyStatus+0x2e>
|
||
1d7c: 4501 li a0,0
|
||
1d7e: 9782 jalr a5
|
||
1d80: 4c5c lw a5,28(s0)
|
||
1d82: c399 beqz a5,1d88 <WCHNET_PhyStatus+0x36>
|
||
1d84: 4501 li a0,0
|
||
1d86: 9782 jalr a5
|
||
1d88: 4505 li a0,1
|
||
1d8a: 22a5 jal 1ef2 <IPCheckParaInit>
|
||
1d8c: c88fe06f j 214 <__riscv_restore_0>
|
||
1d90: c399 beqz a5,1d96 <WCHNET_PhyStatus+0x44>
|
||
1d92: 4505 li a0,1
|
||
1d94: 9782 jalr a5
|
||
1d96: 4c5c lw a5,28(s0)
|
||
1d98: dbf5 beqz a5,1d8c <WCHNET_PhyStatus+0x3a>
|
||
1d9a: 4505 li a0,1
|
||
1d9c: 9782 jalr a5
|
||
1d9e: b7fd j 1d8c <WCHNET_PhyStatus+0x3a>
|
||
|
||
00001da0 <WCHNET_Rx>:
|
||
WCHNET_Rx():
|
||
1da0: 8881a783 lw a5,-1912(gp) # 200000a8 <pDMARxSet>
|
||
1da4: 00052023 sw zero,0(a0)
|
||
1da8: cb9d beqz a5,1dde <WCHNET_Rx+0x3e>
|
||
1daa: 4394 lw a3,0(a5)
|
||
1dac: 0006db63 bgez a3,1dc2 <WCHNET_Rx+0x22>
|
||
1db0: 47d4 lw a3,12(a5)
|
||
1db2: 4290 lw a2,0(a3)
|
||
1db4: 02064563 bltz a2,1dde <WCHNET_Rx+0x3e>
|
||
1db8: 439c lw a5,0(a5)
|
||
1dba: 0007d463 bgez a5,1dc2 <WCHNET_Rx+0x22>
|
||
1dbe: 88d1a423 sw a3,-1912(gp) # 200000a8 <pDMARxSet>
|
||
1dc2: 8881a783 lw a5,-1912(gp) # 200000a8 <pDMARxSet>
|
||
1dc6: 6591 lui a1,0x4
|
||
1dc8: 4601 li a2,0
|
||
1dca: 15fd addi a1,a1,-1
|
||
1dcc: 4835 li a6,13
|
||
1dce: 800008b7 lui a7,0x80000
|
||
1dd2: 4394 lw a3,0(a5)
|
||
1dd4: 0006d763 bgez a3,1de2 <WCHNET_Rx+0x42>
|
||
1dd8: c219 beqz a2,1dde <WCHNET_Rx+0x3e>
|
||
1dda: 88f1a423 sw a5,-1912(gp) # 200000a8 <pDMARxSet>
|
||
1dde: 4501 li a0,0
|
||
1de0: 8082 ret
|
||
1de2: 4394 lw a3,0(a5)
|
||
1de4: 01069313 slli t1,a3,0x10
|
||
1de8: 04034263 bltz t1,1e2c <WCHNET_Rx+0x8c>
|
||
1dec: 4394 lw a3,0(a5)
|
||
1dee: 1006f693 andi a3,a3,256
|
||
1df2: ce8d beqz a3,1e2c <WCHNET_Rx+0x8c>
|
||
1df4: 4394 lw a3,0(a5)
|
||
1df6: 2006f693 andi a3,a3,512
|
||
1dfa: ca8d beqz a3,1e2c <WCHNET_Rx+0x8c>
|
||
1dfc: 4394 lw a3,0(a5)
|
||
1dfe: 82c1 srli a3,a3,0x10
|
||
1e00: 8eed and a3,a3,a1
|
||
1e02: 16f1 addi a3,a3,-4
|
||
1e04: c114 sw a3,0(a0)
|
||
1e06: 02d87163 bgeu a6,a3,1e28 <WCHNET_Rx+0x88>
|
||
1e0a: 4394 lw a3,0(a5)
|
||
1e0c: 0206f693 andi a3,a3,32
|
||
1e10: ea81 bnez a3,1e20 <WCHNET_Rx+0x80>
|
||
1e12: c219 beqz a2,1e18 <WCHNET_Rx+0x78>
|
||
1e14: 88f1a423 sw a5,-1912(gp) # 200000a8 <pDMARxSet>
|
||
1e18: 479c lw a5,8(a5)
|
||
1e1a: c15c sw a5,4(a0)
|
||
1e1c: 4505 li a0,1
|
||
1e1e: 8082 ret
|
||
1e20: 4394 lw a3,0(a5)
|
||
1e22: 0816f693 andi a3,a3,129
|
||
1e26: d6f5 beqz a3,1e12 <WCHNET_Rx+0x72>
|
||
1e28: 00052023 sw zero,0(a0)
|
||
1e2c: 0117a023 sw a7,0(a5)
|
||
1e30: 4605 li a2,1
|
||
1e32: 47dc lw a5,12(a5)
|
||
1e34: bf79 j 1dd2 <WCHNET_Rx+0x32>
|
||
|
||
00001e36 <setRxBuffAddr>:
|
||
setRxBuffAddr():
|
||
1e36: 8881a703 lw a4,-1912(gp) # 200000a8 <pDMARxSet>
|
||
1e3a: 800006b7 lui a3,0x80000
|
||
1e3e: c314 sw a3,0(a4)
|
||
1e40: 4758 lw a4,12(a4)
|
||
1e42: 88e1a423 sw a4,-1912(gp) # 200000a8 <pDMARxSet>
|
||
1e46: 8082 ret
|
||
|
||
00001e48 <WCHNET_Tx>:
|
||
WCHNET_Tx():
|
||
1e48: ba8fe2ef jal t0,1f0 <__riscv_save_0>
|
||
1e4c: 8d01c783 lbu a5,-1840(gp) # 200000f0 <phydata>
|
||
1e50: 0ff7f793 andi a5,a5,255
|
||
1e54: e781 bnez a5,1e5c <WCHNET_Tx+0x14>
|
||
1e56: 4785 li a5,1
|
||
1e58: 8cf18823 sb a5,-1840(gp) # 200000f0 <phydata>
|
||
1e5c: 8801a703 lw a4,-1920(gp) # 200000a0 <LocalTime>
|
||
1e60: 8bc18793 addi a5,gp,-1860 # 200000dc <TxTimer>
|
||
1e64: cb09 beqz a4,1e76 <WCHNET_Tx+0x2e>
|
||
1e66: c398 sw a4,0(a5)
|
||
1e68: 200087b7 lui a5,0x20008
|
||
1e6c: 85c7a783 lw a5,-1956(a5) # 2000785c <WCHCfg+0x20>
|
||
1e70: 9782 jalr a5
|
||
1e72: ba2fe06f j 214 <__riscv_restore_0>
|
||
1e76: 4705 li a4,1
|
||
1e78: b7fd j 1e66 <WCHNET_Tx+0x1e>
|
||
|
||
00001e7a <GetChipID>:
|
||
GetChipID():
|
||
1e7a: 1ffff7b7 lui a5,0x1ffff
|
||
1e7e: 7067d503 lhu a0,1798(a5) # 1ffff706 <_data_lma+0x1fff6872>
|
||
1e82: 0f057513 andi a0,a0,240
|
||
1e86: 8082 ret
|
||
|
||
00001e88 <getTxBuffAddr>:
|
||
getTxBuffAddr():
|
||
1e88: b68fe2ef jal t0,1f0 <__riscv_save_0>
|
||
1e8c: 200087b7 lui a5,0x20008
|
||
1e90: 85c7a783 lw a5,-1956(a5) # 2000785c <WCHCfg+0x20>
|
||
1e94: 4901 li s2,0
|
||
1e96: c7b1 beqz a5,1ee2 <getTxBuffAddr+0x5a>
|
||
1e98: 86c1a483 lw s1,-1940(gp) # 2000008c <DMATxDescToSet>
|
||
1e9c: c0b9 beqz s1,1ee2 <getTxBuffAddr+0x5a>
|
||
1e9e: 409c lw a5,0(s1)
|
||
1ea0: 0084a903 lw s2,8(s1)
|
||
1ea4: 8bc18413 addi s0,gp,-1860 # 200000dc <TxTimer>
|
||
1ea8: 0207db63 bgez a5,1ede <getTxBuffAddr+0x56>
|
||
1eac: 37f9 jal 1e7a <GetChipID>
|
||
1eae: 4014 lw a3,0(s0)
|
||
1eb0: 4781 li a5,0
|
||
1eb2: 08000613 li a2,128
|
||
1eb6: 06300813 li a6,99
|
||
1eba: 68a1 lui a7,0x8
|
||
1ebc: 03000313 li t1,48
|
||
1ec0: 00c50463 beq a0,a2,1ec8 <getTxBuffAddr+0x40>
|
||
1ec4: 02651263 bne a0,t1,1ee8 <getTxBuffAddr+0x60>
|
||
1ec8: 8801a703 lw a4,-1920(gp) # 200000a0 <LocalTime>
|
||
1ecc: 8f15 sub a4,a4,a3
|
||
1ece: 00e86463 bltu a6,a4,1ed6 <getTxBuffAddr+0x4e>
|
||
1ed2: 00f8fb63 bgeu a7,a5,1ee8 <getTxBuffAddr+0x60>
|
||
1ed6: 409c lw a5,0(s1)
|
||
1ed8: 0786 slli a5,a5,0x1
|
||
1eda: 8385 srli a5,a5,0x1
|
||
1edc: c09c sw a5,0(s1)
|
||
1ede: 00042023 sw zero,0(s0)
|
||
1ee2: 854a mv a0,s2
|
||
1ee4: b30fe06f j 214 <__riscv_restore_0>
|
||
1ee8: 4098 lw a4,0(s1)
|
||
1eea: fe075ae3 bgez a4,1ede <getTxBuffAddr+0x56>
|
||
1eee: 0785 addi a5,a5,1
|
||
1ef0: bfc1 j 1ec0 <getTxBuffAddr+0x38>
|
||
|
||
00001ef2 <IPCheckParaInit>:
|
||
IPCheckParaInit():
|
||
1ef2: 8801a703 lw a4,-1920(gp) # 200000a0 <LocalTime>
|
||
1ef6: 200077b7 lui a5,0x20007
|
||
1efa: 77478793 addi a5,a5,1908 # 20007774 <SelARP>
|
||
1efe: a388 sb a0,0(a5)
|
||
1f00: 00079123 sh zero,2(a5)
|
||
1f04: 00079223 sh zero,4(a5)
|
||
1f08: c798 sw a4,8(a5)
|
||
1f0a: 000780a3 sb zero,1(a5)
|
||
1f0e: 8082 ret
|
||
|
||
00001f10 <SelIPARPSend>:
|
||
SelIPARPSend():
|
||
1f10: ae0fe2ef jal t0,1f0 <__riscv_save_0>
|
||
1f14: 200084b7 lui s1,0x20008
|
||
1f18: 86848413 addi s0,s1,-1944 # 20007868 <WCHNetIf>
|
||
1f1c: 405c lw a5,4(s0)
|
||
1f1e: 1141 addi sp,sp,-16
|
||
1f20: 006c addi a1,sp,12
|
||
1f22: 86848513 addi a0,s1,-1944
|
||
1f26: c63e sw a5,12(sp)
|
||
1f28: 00042223 sw zero,4(s0)
|
||
1f2c: 2da010ef jal ra,3206 <etharp_request>
|
||
1f30: 47b2 lw a5,12(sp)
|
||
1f32: 006c addi a1,sp,12
|
||
1f34: 86848513 addi a0,s1,-1944
|
||
1f38: c05c sw a5,4(s0)
|
||
1f3a: 445c lw a5,12(s0)
|
||
1f3c: c63e sw a5,12(sp)
|
||
1f3e: 2c8010ef jal ra,3206 <etharp_request>
|
||
1f42: 0141 addi sp,sp,16
|
||
1f44: ad0fe06f j 214 <__riscv_restore_0>
|
||
|
||
00001f48 <IPCheckTmr>:
|
||
IPCheckTmr():
|
||
1f48: 200077b7 lui a5,0x20007
|
||
1f4c: 77478793 addi a5,a5,1908 # 20007774 <SelARP>
|
||
1f50: 2398 lbu a4,0(a5)
|
||
1f52: e319 bnez a4,1f58 <IPCheckTmr+0x10>
|
||
1f54: c788 sw a0,8(a5)
|
||
1f56: 8082 ret
|
||
1f58: 4798 lw a4,8(a5)
|
||
1f5a: 3e700693 li a3,999
|
||
1f5e: 40e50733 sub a4,a0,a4
|
||
1f62: 02e6f163 bgeu a3,a4,1f84 <IPCheckTmr+0x3c>
|
||
1f66: a8afe2ef jal t0,1f0 <__riscv_save_0>
|
||
1f6a: 23ba lhu a4,2(a5)
|
||
1f6c: c788 sw a0,8(a5)
|
||
1f6e: 4691 li a3,4
|
||
1f70: 00e6f663 bgeu a3,a4,1f7c <IPCheckTmr+0x34>
|
||
1f74: 4501 li a0,0
|
||
1f76: 3fb5 jal 1ef2 <IPCheckParaInit>
|
||
1f78: a9cfe06f j 214 <__riscv_restore_0>
|
||
1f7c: 0705 addi a4,a4,1
|
||
1f7e: a3ba sh a4,2(a5)
|
||
1f80: 3f41 jal 1f10 <SelIPARPSend>
|
||
1f82: bfdd j 1f78 <IPCheckTmr+0x30>
|
||
1f84: 8082 ret
|
||
|
||
00001f86 <IPConflictHandle>:
|
||
IPConflictHandle():
|
||
1f86: a6afe2ef jal t0,1f0 <__riscv_save_0>
|
||
1f8a: 842a mv s0,a0
|
||
1f8c: 4501 li a0,0
|
||
1f8e: 3795 jal 1ef2 <IPCheckParaInit>
|
||
1f90: 200077b7 lui a5,0x20007
|
||
1f94: 77478793 addi a5,a5,1908 # 20007774 <SelARP>
|
||
1f98: c811 beqz s0,1fac <IPConflictHandle+0x26>
|
||
1f9a: 4705 li a4,1
|
||
1f9c: b398 sb a4,1(a5)
|
||
1f9e: 200087b7 lui a5,0x20008
|
||
1fa2: 4709 li a4,2
|
||
1fa4: 82e7a223 sw a4,-2012(a5) # 20007824 <NetInf+0x2c>
|
||
1fa8: a6cfe06f j 214 <__riscv_restore_0>
|
||
1fac: 000780a3 sb zero,1(a5)
|
||
1fb0: bfe5 j 1fa8 <IPConflictHandle+0x22>
|
||
|
||
00001fb2 <NET_TCPError>:
|
||
NET_TCPError():
|
||
1fb2: 8082 ret
|
||
|
||
00001fb4 <LwipTCPSendCallBack>:
|
||
LwipTCPSendCallBack():
|
||
1fb4: 03852803 lw a6,56(a0)
|
||
1fb8: 02080b63 beqz a6,1fee <LwipTCPSendCallBack+0x3a>
|
||
1fbc: a34fe2ef jal t0,1f0 <__riscv_save_0>
|
||
1fc0: 5dfc lw a5,124(a1)
|
||
1fc2: 4701 li a4,0
|
||
1fc4: c791 beqz a5,1fd0 <LwipTCPSendCallBack+0x1c>
|
||
1fc6: 0705 addi a4,a4,1
|
||
1fc8: 0742 slli a4,a4,0x10
|
||
1fca: 8341 srli a4,a4,0x10
|
||
1fcc: 439c lw a5,0(a5)
|
||
1fce: bfdd j 1fc4 <LwipTCPSendCallBack+0x10>
|
||
1fd0: 0805a783 lw a5,128(a1) # 4080 <ip_reass+0x2d0>
|
||
1fd4: c791 beqz a5,1fe0 <LwipTCPSendCallBack+0x2c>
|
||
1fd6: 0705 addi a4,a4,1
|
||
1fd8: 0742 slli a4,a4,0x10
|
||
1fda: 8341 srli a4,a4,0x10
|
||
1fdc: 439c lw a5,0(a5)
|
||
1fde: bfdd j 1fd4 <LwipTCPSendCallBack+0x20>
|
||
1fe0: 4681 li a3,0
|
||
1fe2: 4601 li a2,0
|
||
1fe4: 4581 li a1,0
|
||
1fe6: 9802 jalr a6
|
||
1fe8: 4501 li a0,0
|
||
1fea: a2afe06f j 214 <__riscv_restore_0>
|
||
1fee: 4501 li a0,0
|
||
1ff0: 8082 ret
|
||
|
||
00001ff2 <LwipTCPPollCallBack>:
|
||
LwipTCPPollCallBack():
|
||
1ff2: 4501 li a0,0
|
||
1ff4: 8082 ret
|
||
|
||
00001ff6 <SocketIPRAWReceive>:
|
||
SocketIPRAWReceive():
|
||
1ff6: 9d2fe2ef jal t0,1c8 <__riscv_save_10>
|
||
1ffa: 425c lw a5,4(a2)
|
||
1ffc: 00852a03 lw s4,8(a0)
|
||
2000: 00c52903 lw s2,12(a0)
|
||
2004: 4900 lw s0,16(a0)
|
||
2006: 84aa mv s1,a0
|
||
2008: 2388 lbu a0,0(a5)
|
||
200a: 339c lbu a5,1(a5)
|
||
200c: 89b2 mv s3,a2
|
||
200e: 07a2 slli a5,a5,0x8
|
||
2010: 8d5d or a0,a0,a5
|
||
2012: 7ba010ef jal ra,37cc <ntohs>
|
||
2016: 00655593 srli a1,a0,0x6
|
||
201a: 03c5f593 andi a1,a1,60
|
||
201e: 40b005b3 neg a1,a1
|
||
2022: 854e mv a0,s3
|
||
2024: 31d020ef jal ra,4b40 <pbuf_header>
|
||
2028: e559 bnez a0,20b6 <SocketIPRAWReceive+0xc0>
|
||
202a: 44dc lw a5,12(s1)
|
||
202c: 4c98 lw a4,24(s1)
|
||
202e: 0089db03 lhu s6,8(s3)
|
||
2032: 8f99 sub a5,a5,a4
|
||
2034: 0167e463 bltu a5,s6,203c <SocketIPRAWReceive+0x46>
|
||
2038: 000b1863 bnez s6,2048 <SocketIPRAWReceive+0x52>
|
||
203c: 854e mv a0,s3
|
||
203e: 371020ef jal ra,4bae <pbuf_free>
|
||
2042: 4505 li a0,1
|
||
2044: 9bcfe06f j 200 <__riscv_restore_10>
|
||
2048: 9a4a add s4,s4,s2
|
||
204a: 894e mv s2,s3
|
||
204c: 00a95603 lhu a2,10(s2)
|
||
2050: 408a0ab3 sub s5,s4,s0
|
||
2054: 00492b83 lw s7,4(s2)
|
||
2058: 04caf463 bgeu s5,a2,20a0 <SocketIPRAWReceive+0xaa>
|
||
205c: 8656 mv a2,s5
|
||
205e: 85de mv a1,s7
|
||
2060: 8522 mv a0,s0
|
||
2062: 355060ef jal ra,8bb6 <memcpy>
|
||
2066: 00a95783 lhu a5,10(s2)
|
||
206a: 4498 lw a4,8(s1)
|
||
206c: 41440433 sub s0,s0,s4
|
||
2070: 943e add s0,s0,a5
|
||
2072: 8622 mv a2,s0
|
||
2074: 015b85b3 add a1,s7,s5
|
||
2078: 853a mv a0,a4
|
||
207a: 33d060ef jal ra,8bb6 <memcpy>
|
||
207e: 942a add s0,s0,a0
|
||
2080: 00092903 lw s2,0(s2)
|
||
2084: fc0914e3 bnez s2,204c <SocketIPRAWReceive+0x56>
|
||
2088: 854e mv a0,s3
|
||
208a: 325020ef jal ra,4bae <pbuf_free>
|
||
208e: 4c9c lw a5,24(s1)
|
||
2090: c880 sw s0,16(s1)
|
||
2092: 97da add a5,a5,s6
|
||
2094: cc9c sw a5,24(s1)
|
||
2096: 409c lw a5,0(s1)
|
||
2098: 0047e793 ori a5,a5,4
|
||
209c: c09c sw a5,0(s1)
|
||
209e: b755 j 2042 <SocketIPRAWReceive+0x4c>
|
||
20a0: 8522 mv a0,s0
|
||
20a2: 85de mv a1,s7
|
||
20a4: 313060ef jal ra,8bb6 <memcpy>
|
||
20a8: 00a95783 lhu a5,10(s2)
|
||
20ac: 943e add s0,s0,a5
|
||
20ae: fd5799e3 bne a5,s5,2080 <SocketIPRAWReceive+0x8a>
|
||
20b2: 4480 lw s0,8(s1)
|
||
20b4: b7f1 j 2080 <SocketIPRAWReceive+0x8a>
|
||
20b6: 4501 li a0,0
|
||
20b8: b771 j 2044 <SocketIPRAWReceive+0x4e>
|
||
|
||
000020ba <SocketUdpReceive>:
|
||
SocketUdpReceive():
|
||
20ba: ce61 beqz a2,2192 <SocketUdpReceive+0xd8>
|
||
20bc: 90cfe2ef jal t0,1c8 <__riscv_save_10>
|
||
20c0: 00c52b83 lw s7,12(a0)
|
||
20c4: 4d1c lw a5,24(a0)
|
||
20c6: 00865b03 lhu s6,8(a2)
|
||
20ca: 8aba mv s5,a4
|
||
20cc: 40fb87b3 sub a5,s7,a5
|
||
20d0: 8a36 mv s4,a3
|
||
20d2: 8932 mv s2,a2
|
||
20d4: 842a mv s0,a0
|
||
20d6: 0167e463 bltu a5,s6,20de <SocketUdpReceive+0x24>
|
||
20da: 000b1763 bnez s6,20e8 <SocketUdpReceive+0x2e>
|
||
20de: 854a mv a0,s2
|
||
20e0: 2cf020ef jal ra,4bae <pbuf_free>
|
||
20e4: 91cfe06f j 200 <__riscv_restore_10>
|
||
20e8: 451c lw a5,8(a0)
|
||
20ea: 4904 lw s1,16(a0)
|
||
20ec: 89b2 mv s3,a2
|
||
20ee: 9bbe add s7,s7,a5
|
||
20f0: 00a9d603 lhu a2,10(s3)
|
||
20f4: 409b8c33 sub s8,s7,s1
|
||
20f8: 0049ac83 lw s9,4(s3)
|
||
20fc: 06cc7763 bgeu s8,a2,216a <SocketUdpReceive+0xb0>
|
||
2100: 8662 mv a2,s8
|
||
2102: 85e6 mv a1,s9
|
||
2104: 8526 mv a0,s1
|
||
2106: 2b1060ef jal ra,8bb6 <memcpy>
|
||
210a: 00a9d783 lhu a5,10(s3)
|
||
210e: 4418 lw a4,8(s0)
|
||
2110: 417484b3 sub s1,s1,s7
|
||
2114: 94be add s1,s1,a5
|
||
2116: 8626 mv a2,s1
|
||
2118: 018c85b3 add a1,s9,s8
|
||
211c: 853a mv a0,a4
|
||
211e: 299060ef jal ra,8bb6 <memcpy>
|
||
2122: 94aa add s1,s1,a0
|
||
2124: 0009a983 lw s3,0(s3)
|
||
2128: fc0994e3 bnez s3,20f0 <SocketUdpReceive+0x36>
|
||
212c: 854a mv a0,s2
|
||
212e: 281020ef jal ra,4bae <pbuf_free>
|
||
2132: 03842803 lw a6,56(s0)
|
||
2136: 04080563 beqz a6,2180 <SocketUdpReceive+0xc6>
|
||
213a: 001a4583 lbu a1,1(s4)
|
||
213e: 000a4783 lbu a5,0(s4)
|
||
2142: 4814 lw a3,16(s0)
|
||
2144: 05a2 slli a1,a1,0x8
|
||
2146: 8ddd or a1,a1,a5
|
||
2148: 002a4783 lbu a5,2(s4)
|
||
214c: 875a mv a4,s6
|
||
214e: 8656 mv a2,s5
|
||
2150: 07c2 slli a5,a5,0x10
|
||
2152: 8fcd or a5,a5,a1
|
||
2154: 003a4583 lbu a1,3(s4)
|
||
2158: 8522 mv a0,s0
|
||
215a: 05e2 slli a1,a1,0x18
|
||
215c: 8ddd or a1,a1,a5
|
||
215e: 9802 jalr a6
|
||
2160: 441c lw a5,8(s0)
|
||
2162: 00042c23 sw zero,24(s0)
|
||
2166: c81c sw a5,16(s0)
|
||
2168: bfb5 j 20e4 <SocketUdpReceive+0x2a>
|
||
216a: 8526 mv a0,s1
|
||
216c: 85e6 mv a1,s9
|
||
216e: 249060ef jal ra,8bb6 <memcpy>
|
||
2172: 00a9d783 lhu a5,10(s3)
|
||
2176: 94be add s1,s1,a5
|
||
2178: fb8796e3 bne a5,s8,2124 <SocketUdpReceive+0x6a>
|
||
217c: 4404 lw s1,8(s0)
|
||
217e: b75d j 2124 <SocketUdpReceive+0x6a>
|
||
2180: 4c18 lw a4,24(s0)
|
||
2182: 401c lw a5,0(s0)
|
||
2184: c804 sw s1,16(s0)
|
||
2186: 975a add a4,a4,s6
|
||
2188: 0047e793 ori a5,a5,4
|
||
218c: cc18 sw a4,24(s0)
|
||
218e: c01c sw a5,0(s0)
|
||
2190: bf91 j 20e4 <SocketUdpReceive+0x2a>
|
||
2192: 8082 ret
|
||
|
||
00002194 <WCHSocketTCPReceive>:
|
||
WCHSocketTCPReceive():
|
||
2194: 491c lw a5,16(a0)
|
||
2196: c7f1 beqz a5,2262 <WCHSocketTCPReceive+0xce>
|
||
2198: 830fe2ef jal t0,1c8 <__riscv_save_10>
|
||
219c: 8a32 mv s4,a2
|
||
219e: 84ae mv s1,a1
|
||
21a0: 842a mv s0,a0
|
||
21a2: ca55 beqz a2,2256 <WCHSocketTCPReceive+0xc2>
|
||
21a4: 00852a83 lw s5,8(a0)
|
||
21a8: 4558 lw a4,12(a0)
|
||
21aa: 00865b83 lhu s7,8(a2)
|
||
21ae: 8932 mv s2,a2
|
||
21b0: 9aba add s5,s5,a4
|
||
21b2: 0ac2 slli s5,s5,0x10
|
||
21b4: 010ada93 srli s5,s5,0x10
|
||
21b8: 01079993 slli s3,a5,0x10
|
||
21bc: 0109d993 srli s3,s3,0x10
|
||
21c0: 413a8b33 sub s6,s5,s3
|
||
21c4: 00a95603 lhu a2,10(s2)
|
||
21c8: 0b42 slli s6,s6,0x10
|
||
21ca: 010b5b13 srli s6,s6,0x10
|
||
21ce: 00492c03 lw s8,4(s2)
|
||
21d2: 06cb7663 bgeu s6,a2,223e <WCHSocketTCPReceive+0xaa>
|
||
21d6: 865a mv a2,s6
|
||
21d8: 85e2 mv a1,s8
|
||
21da: 853e mv a0,a5
|
||
21dc: 1db060ef jal ra,8bb6 <memcpy>
|
||
21e0: 00a95703 lhu a4,10(s2)
|
||
21e4: 441c lw a5,8(s0)
|
||
21e6: 016c05b3 add a1,s8,s6
|
||
21ea: 41570733 sub a4,a4,s5
|
||
21ee: 99ba add s3,s3,a4
|
||
21f0: 09c2 slli s3,s3,0x10
|
||
21f2: 0109d993 srli s3,s3,0x10
|
||
21f6: 853e mv a0,a5
|
||
21f8: 864e mv a2,s3
|
||
21fa: 1bd060ef jal ra,8bb6 <memcpy>
|
||
21fe: 013507b3 add a5,a0,s3
|
||
2202: 00092903 lw s2,0(s2)
|
||
2206: fa0919e3 bnez s2,21b8 <WCHSocketTCPReceive+0x24>
|
||
220a: 4c18 lw a4,24(s0)
|
||
220c: c81c sw a5,16(s0)
|
||
220e: 8552 mv a0,s4
|
||
2210: 975e add a4,a4,s7
|
||
2212: cc18 sw a4,24(s0)
|
||
2214: 4018 lw a4,0(s0)
|
||
2216: 00476713 ori a4,a4,4
|
||
221a: c018 sw a4,0(s0)
|
||
221c: 193020ef jal ra,4bae <pbuf_free>
|
||
2220: 38fe lhu a5,54(s1)
|
||
2222: 4c18 lw a4,24(s0)
|
||
2224: 8526 mv a0,s1
|
||
2226: 41778bb3 sub s7,a5,s7
|
||
222a: 445c lw a5,12(s0)
|
||
222c: 03749b23 sh s7,54(s1)
|
||
2230: 8f99 sub a5,a5,a4
|
||
2232: b4de sh a5,44(s1)
|
||
2234: 723020ef jal ra,5156 <tcp_update_rcv_ann_wnd>
|
||
2238: 4501 li a0,0
|
||
223a: fc7fd06f j 200 <__riscv_restore_10>
|
||
223e: 853e mv a0,a5
|
||
2240: 85e2 mv a1,s8
|
||
2242: 175060ef jal ra,8bb6 <memcpy>
|
||
2246: 00a95703 lhu a4,10(s2)
|
||
224a: 00e507b3 add a5,a0,a4
|
||
224e: fb671ae3 bne a4,s6,2202 <WCHSocketTCPReceive+0x6e>
|
||
2252: 441c lw a5,8(s0)
|
||
2254: b77d j 2202 <WCHSocketTCPReceive+0x6e>
|
||
2256: 4501 li a0,0
|
||
2258: f2ed bnez a3,223a <WCHSocketTCPReceive+0xa6>
|
||
225a: 852e mv a0,a1
|
||
225c: 388030ef jal ra,55e4 <tcp_close>
|
||
2260: bfe9 j 223a <WCHSocketTCPReceive+0xa6>
|
||
2262: 557d li a0,-1
|
||
2264: 8082 ret
|
||
|
||
00002266 <LwipTcpConnectedCallBack>:
|
||
LwipTcpConnectedCallBack():
|
||
2266: f8bfd2ef jal t0,1f0 <__riscv_save_0>
|
||
226a: 842e mv s0,a1
|
||
226c: 000025b7 lui a1,0x2
|
||
2270: 84aa mv s1,a0
|
||
2272: 19458593 addi a1,a1,404 # 2194 <WCHSocketTCPReceive>
|
||
2276: 8522 mv a0,s0
|
||
2278: 7d7020ef jal ra,524e <tcp_recv>
|
||
227c: 000025b7 lui a1,0x2
|
||
2280: 8522 mv a0,s0
|
||
2282: fb458593 addi a1,a1,-76 # 1fb4 <LwipTCPSendCallBack>
|
||
2286: 7cf020ef jal ra,5254 <tcp_sent>
|
||
228a: 000025b7 lui a1,0x2
|
||
228e: 8522 mv a0,s0
|
||
2290: 4605 li a2,1
|
||
2292: ff258593 addi a1,a1,-14 # 1ff2 <LwipTCPPollCallBack>
|
||
2296: 7cb020ef jal ra,5260 <tcp_poll>
|
||
229a: 209c lbu a5,0(s1)
|
||
229c: 4501 li a0,0
|
||
229e: 0087e793 ori a5,a5,8
|
||
22a2: c09c sw a5,0(s1)
|
||
22a4: f71fd06f j 214 <__riscv_restore_0>
|
||
|
||
000022a8 <ErrorEncode>:
|
||
ErrorEncode():
|
||
22a8: c919 beqz a0,22be <ErrorEncode+0x16>
|
||
22aa: 40a00533 neg a0,a0
|
||
22ae: 67a5 lui a5,0x9
|
||
22b0: e2c78793 addi a5,a5,-468 # 8e2c <ErrTable>
|
||
22b4: 0ff57513 andi a0,a0,255
|
||
22b8: 953e add a0,a0,a5
|
||
22ba: 2108 lbu a0,0(a0)
|
||
22bc: 8082 ret
|
||
22be: 4501 li a0,0
|
||
22c0: 8082 ret
|
||
|
||
000022c2 <WCHSocketInit>:
|
||
WCHSocketInit():
|
||
22c2: f2ffd2ef jal t0,1f0 <__riscv_save_0>
|
||
22c6: 03c00793 li a5,60
|
||
22ca: 02f587b3 mul a5,a1,a5
|
||
22ce: 20007437 lui s0,0x20007
|
||
22d2: 33840713 addi a4,s0,824 # 20007338 <SocketInf>
|
||
22d6: 892a mv s2,a0
|
||
22d8: 84ae mv s1,a1
|
||
22da: 03c00613 li a2,60
|
||
22de: 4581 li a1,0
|
||
22e0: 33840413 addi s0,s0,824
|
||
22e4: 97ba add a5,a5,a4
|
||
22e6: 853e mv a0,a5
|
||
22e8: f39fd0ef jal ra,220 <memset>
|
||
22ec: 00090763 beqz s2,22fa <WCHSocketInit+0x38>
|
||
22f0: 03c00613 li a2,60
|
||
22f4: 85ca mv a1,s2
|
||
22f6: 0c1060ef jal ra,8bb6 <memcpy>
|
||
22fa: 03c00593 li a1,60
|
||
22fe: 02b485b3 mul a1,s1,a1
|
||
2302: 95a2 add a1,a1,s0
|
||
2304: 459c lw a5,8(a1)
|
||
2306: c99c sw a5,16(a1)
|
||
2308: c9dc sw a5,20(a1)
|
||
230a: f0bfd06f j 214 <__riscv_restore_0>
|
||
|
||
0000230e <WCHNET_Init>:
|
||
WCHNET_Init():
|
||
230e: ec9fd2ef jal t0,1d6 <__riscv_save_4>
|
||
2312: 8a2a mv s4,a0
|
||
2314: 20007537 lui a0,0x20007
|
||
2318: 1141 addi sp,sp,-16
|
||
231a: 89ae mv s3,a1
|
||
231c: 84b2 mv s1,a2
|
||
231e: 4581 li a1,0
|
||
2320: 4661 li a2,24
|
||
2322: 78050513 addi a0,a0,1920 # 20007780 <DHCPCtrl>
|
||
2326: c636 sw a3,12(sp)
|
||
2328: ef9fd0ef jal ra,220 <memset>
|
||
232c: 46b2 lw a3,12(sp)
|
||
232e: 20007437 lui s0,0x20007
|
||
2332: 7f840913 addi s2,s0,2040 # 200077f8 <NetInf>
|
||
2336: 85b6 mv a1,a3
|
||
2338: 4619 li a2,6
|
||
233a: 00c90513 addi a0,s2,12
|
||
233e: 079060ef jal ra,8bb6 <memcpy>
|
||
2342: 4611 li a2,4
|
||
2344: 85d2 mv a1,s4
|
||
2346: 7f840513 addi a0,s0,2040
|
||
234a: 06d060ef jal ra,8bb6 <memcpy>
|
||
234e: 4611 li a2,4
|
||
2350: 85ce mv a1,s3
|
||
2352: 00490513 addi a0,s2,4
|
||
2356: 061060ef jal ra,8bb6 <memcpy>
|
||
235a: 7f840413 addi s0,s0,2040
|
||
235e: e0a1 bnez s1,239e <WCHNET_Init+0x90>
|
||
2360: 010007b7 lui a5,0x1000
|
||
2364: 17fd addi a5,a5,-1
|
||
2366: c41c sw a5,8(s0)
|
||
2368: 4481 li s1,0
|
||
236a: 8c81c783 lbu a5,-1848(gp) # 200000e8 <SockNumber>
|
||
236e: 02f4cf63 blt s1,a5,23ac <WCHNET_Init+0x9e>
|
||
2372: 3d6010ef jal ra,3748 <wch_ethernetif_init>
|
||
2376: 4785 li a5,1
|
||
2378: d05c sw a5,36(s0)
|
||
237a: 6715 lui a4,0x5
|
||
237c: 200077b7 lui a5,0x20007
|
||
2380: 7ec78793 addi a5,a5,2028 # 200077ec <KeepLiveCfg>
|
||
2384: e2070713 addi a4,a4,-480 # 4e20 <pbuf_copy+0x40>
|
||
2388: c398 sw a4,0(a5)
|
||
238a: 6711 lui a4,0x4
|
||
238c: a9870713 addi a4,a4,-1384 # 3a98 <ip_input+0x242>
|
||
2390: c3d8 sw a4,4(a5)
|
||
2392: 4725 li a4,9
|
||
2394: c798 sw a4,8(a5)
|
||
2396: 4501 li a0,0
|
||
2398: 0141 addi sp,sp,16
|
||
239a: e71fd06f j 20a <__riscv_restore_4>
|
||
239e: 4611 li a2,4
|
||
23a0: 85a6 mv a1,s1
|
||
23a2: 00840513 addi a0,s0,8
|
||
23a6: 011060ef jal ra,8bb6 <memcpy>
|
||
23aa: bf7d j 2368 <WCHNET_Init+0x5a>
|
||
23ac: 0ff4f593 andi a1,s1,255
|
||
23b0: 4501 li a0,0
|
||
23b2: 3f01 jal 22c2 <WCHSocketInit>
|
||
23b4: 0485 addi s1,s1,1
|
||
23b6: bf55 j 236a <WCHNET_Init+0x5c>
|
||
|
||
000023b8 <WCHNET_ConfigKeepLive>:
|
||
WCHNET_ConfigKeepLive():
|
||
23b8: 4118 lw a4,0(a0)
|
||
23ba: 200077b7 lui a5,0x20007
|
||
23be: 7ec78793 addi a5,a5,2028 # 200077ec <KeepLiveCfg>
|
||
23c2: c398 sw a4,0(a5)
|
||
23c4: 4158 lw a4,4(a0)
|
||
23c6: c3d8 sw a4,4(a5)
|
||
23c8: 4518 lw a4,8(a0)
|
||
23ca: c798 sw a4,8(a5)
|
||
23cc: 8082 ret
|
||
|
||
000023ce <WCHNET_ConfigLIB>:
|
||
WCHNET_ConfigLIB():
|
||
23ce: 5518 lw a4,40(a0)
|
||
23d0: 123457b7 lui a5,0x12345
|
||
23d4: 67878793 addi a5,a5,1656 # 12345678 <_data_lma+0x1233c7e4>
|
||
23d8: 12f71a63 bne a4,a5,250c <WCHNET_ConfigLIB+0x13e>
|
||
23dc: dfbfd2ef jal t0,1d6 <__riscv_save_4>
|
||
23e0: 511c lw a5,32(a0)
|
||
23e2: 842a mv s0,a0
|
||
23e4: 4525 li a0,9
|
||
23e6: 10078b63 beqz a5,24fc <WCHNET_ConfigLIB+0x12e>
|
||
23ea: 20007937 lui s2,0x20007
|
||
23ee: 04400613 li a2,68
|
||
23f2: 4581 li a1,0
|
||
23f4: 7f890513 addi a0,s2,2040 # 200077f8 <NetInf>
|
||
23f8: e29fd0ef jal ra,220 <memset>
|
||
23fc: 200084b7 lui s1,0x20008
|
||
2400: 02c00613 li a2,44
|
||
2404: 4581 li a1,0
|
||
2406: 83c48513 addi a0,s1,-1988 # 2000783c <WCHCfg>
|
||
240a: e17fd0ef jal ra,220 <memset>
|
||
240e: 02c00613 li a2,44
|
||
2412: 85a2 mv a1,s0
|
||
2414: 83c48513 addi a0,s1,-1988
|
||
2418: 79e060ef jal ra,8bb6 <memcpy>
|
||
241c: 83c48993 addi s3,s1,-1988
|
||
2420: 0149a703 lw a4,20(s3)
|
||
2424: 864a mv a2,s2
|
||
2426: 83c48793 addi a5,s1,-1988
|
||
242a: eb25 bnez a4,249a <WCHNET_ConfigLIB+0xcc>
|
||
242c: 66a5 lui a3,0x9
|
||
242e: dc86d703 lhu a4,-568(a3) # 8dc8 <MemNum>
|
||
2432: dc868693 addi a3,a3,-568
|
||
2436: 22ae lhu a1,2(a3)
|
||
2438: 972e add a4,a4,a1
|
||
243a: 22ce lhu a1,4(a3)
|
||
243c: 22f6 lhu a3,6(a3)
|
||
243e: 972e add a4,a4,a1
|
||
2440: 9736 add a4,a4,a3
|
||
2442: 01271693 slli a3,a4,0x12
|
||
2446: 0a06dd63 bgez a3,2500 <WCHNET_ConfigLIB+0x132>
|
||
244a: cbd8 sw a4,20(a5)
|
||
244c: 4bd8 lw a4,20(a5)
|
||
244e: 00e75693 srli a3,a4,0xe
|
||
2452: 8afd andi a3,a3,31
|
||
2454: ea89 bnez a3,2466 <WCHNET_ConfigLIB+0x98>
|
||
2456: fff846b7 lui a3,0xfff84
|
||
245a: 16fd addi a3,a3,-1
|
||
245c: 8f75 and a4,a4,a3
|
||
245e: 000506b7 lui a3,0x50
|
||
2462: 8f55 or a4,a4,a3
|
||
2464: cbd8 sw a4,20(a5)
|
||
2466: 4bd8 lw a4,20(a5)
|
||
2468: 01375693 srli a3,a4,0x13
|
||
246c: 8afd andi a3,a3,31
|
||
246e: ea89 bnez a3,2480 <WCHNET_ConfigLIB+0xb2>
|
||
2470: fff846b7 lui a3,0xfff84
|
||
2474: 16fd addi a3,a3,-1
|
||
2476: 8f75 and a4,a4,a3
|
||
2478: 005006b7 lui a3,0x500
|
||
247c: 8f55 or a4,a4,a3
|
||
247e: cbd8 sw a4,20(a5)
|
||
2480: 4bd8 lw a4,20(a5)
|
||
2482: 00671693 slli a3,a4,0x6
|
||
2486: 0006ca63 bltz a3,249a <WCHNET_ConfigLIB+0xcc>
|
||
248a: fe0006b7 lui a3,0xfe000
|
||
248e: 16fd addi a3,a3,-1
|
||
2490: 8f75 and a4,a4,a3
|
||
2492: 140006b7 lui a3,0x14000
|
||
2496: 8f55 or a4,a4,a3
|
||
2498: cbd8 sw a4,20(a5)
|
||
249a: 4bd8 lw a4,20(a5)
|
||
249c: 01b75693 srli a3,a4,0x1b
|
||
24a0: e689 bnez a3,24aa <WCHNET_ConfigLIB+0xdc>
|
||
24a2: 400006b7 lui a3,0x40000
|
||
24a6: 8f55 or a4,a4,a3
|
||
24a8: cbd8 sw a4,20(a5)
|
||
24aa: 46a9 li a3,10
|
||
24ac: 8cd182a3 sb a3,-1851(gp) # 200000e5 <ARP_Retry_Period>
|
||
24b0: 468d li a3,3
|
||
24b2: 8cd18223 sb a3,-1852(gp) # 200000e4 <ARP_Retry_Cnt>
|
||
24b6: 12c00693 li a3,300
|
||
24ba: 8cd19323 sh a3,-1850(gp) # 200000e6 <Arp_Entry_timeout>
|
||
24be: 53d8 lw a4,36(a5)
|
||
24c0: e711 bnez a4,24cc <WCHNET_ConfigLIB+0xfe>
|
||
24c2: 00002737 lui a4,0x2
|
||
24c6: da070713 addi a4,a4,-608 # 1da0 <WCHNET_Rx>
|
||
24ca: d3d8 sw a4,36(a5)
|
||
24cc: 4bd4 lw a3,20(a5)
|
||
24ce: 4501 li a0,0
|
||
24d0: 00e6d713 srli a4,a3,0xe
|
||
24d4: 8b7d andi a4,a4,31
|
||
24d6: 8cd18423 sb a3,-1848(gp) # 200000e8 <SockNumber>
|
||
24da: 7f860793 addi a5,a2,2040
|
||
24de: cf98 sw a4,24(a5)
|
||
24e0: 0136d713 srli a4,a3,0x13
|
||
24e4: 8b7d andi a4,a4,31
|
||
24e6: 03200613 li a2,50
|
||
24ea: 02c70733 mul a4,a4,a2
|
||
24ee: cfd8 sw a4,28(a5)
|
||
24f0: 00669713 slli a4,a3,0x6
|
||
24f4: 00075463 bgez a4,24fc <WCHNET_ConfigLIB+0x12e>
|
||
24f8: 4709 li a4,2
|
||
24fa: c3b8 sw a4,64(a5)
|
||
24fc: d0ffd06f j 20a <__riscv_restore_4>
|
||
2500: 76f9 lui a3,0xffffe
|
||
2502: 16fd addi a3,a3,-1
|
||
2504: 8f75 and a4,a4,a3
|
||
2506: 6689 lui a3,0x2
|
||
2508: 8f55 or a4,a4,a3
|
||
250a: b781 j 244a <WCHNET_ConfigLIB+0x7c>
|
||
250c: 0ff00513 li a0,255
|
||
2510: 8082 ret
|
||
|
||
00002512 <WCHNET_GetVer>:
|
||
WCHNET_GetVer():
|
||
2512: 456d li a0,27
|
||
2514: 8082 ret
|
||
|
||
00002516 <WCHFindCorrectTCBPcb>:
|
||
WCHFindCorrectTCBPcb():
|
||
2516: 8c81c603 lbu a2,-1848(gp) # 200000e8 <SockNumber>
|
||
251a: 200077b7 lui a5,0x20007
|
||
251e: 33878693 addi a3,a5,824 # 20007338 <SocketInf>
|
||
2522: 4701 li a4,0
|
||
2524: 33878793 addi a5,a5,824
|
||
2528: 00e61763 bne a2,a4,2536 <WCHFindCorrectTCBPcb+0x20>
|
||
252c: 4781 li a5,0
|
||
252e: 02f71363 bne a4,a5,2554 <WCHFindCorrectTCBPcb+0x3e>
|
||
2532: 4501 li a0,0
|
||
2534: 8082 ret
|
||
2536: 0307a803 lw a6,48(a5)
|
||
253a: 00a81763 bne a6,a0,2548 <WCHFindCorrectTCBPcb+0x32>
|
||
253e: c509 beqz a0,2548 <WCHFindCorrectTCBPcb+0x32>
|
||
2540: 4505 li a0,1
|
||
2542: d9ed beqz a1,2534 <WCHFindCorrectTCBPcb+0x1e>
|
||
2544: a198 sb a4,0(a1)
|
||
2546: 8082 ret
|
||
2548: 0705 addi a4,a4,1
|
||
254a: 0ff77713 andi a4,a4,255
|
||
254e: 03c78793 addi a5,a5,60
|
||
2552: bfd9 j 2528 <WCHFindCorrectTCBPcb+0x12>
|
||
2554: 5ad0 lw a2,52(a3)
|
||
2556: 00a61963 bne a2,a0,2568 <WCHFindCorrectTCBPcb+0x52>
|
||
255a: c519 beqz a0,2568 <WCHFindCorrectTCBPcb+0x52>
|
||
255c: 4505 li a0,1
|
||
255e: d9f9 beqz a1,2534 <WCHFindCorrectTCBPcb+0x1e>
|
||
2560: f807e793 ori a5,a5,-128
|
||
2564: a19c sb a5,0(a1)
|
||
2566: 8082 ret
|
||
2568: 0785 addi a5,a5,1
|
||
256a: 0ff7f793 andi a5,a5,255
|
||
256e: 03c68693 addi a3,a3,60 # 203c <SocketIPRAWReceive+0x46>
|
||
2572: bf75 j 252e <WCHFindCorrectTCBPcb+0x18>
|
||
|
||
00002574 <WCHNET_SocketCreat>:
|
||
WCHNET_SocketCreat():
|
||
2574: c63fd2ef jal t0,1d6 <__riscv_save_4>
|
||
2578: 20007937 lui s2,0x20007
|
||
257c: 00050023 sb zero,0(a0)
|
||
2580: 8c81c703 lbu a4,-1848(gp) # 200000e8 <SockNumber>
|
||
2584: 1141 addi sp,sp,-16
|
||
2586: 33890793 addi a5,s2,824 # 20007338 <SocketInf>
|
||
258a: 4481 li s1,0
|
||
258c: 33890913 addi s2,s2,824
|
||
2590: 00971763 bne a4,s1,259e <WCHNET_SocketCreat+0x2a>
|
||
2594: 02000513 li a0,32
|
||
2598: 0141 addi sp,sp,16
|
||
259a: c71fd06f j 20a <__riscv_restore_4>
|
||
259e: 03c78793 addi a5,a5,60
|
||
25a2: fe47a683 lw a3,-28(a5)
|
||
25a6: 18068163 beqz a3,2728 <WCHNET_SocketCreat+0x1b4>
|
||
25aa: 0485 addi s1,s1,1
|
||
25ac: 0ff4f493 andi s1,s1,255
|
||
25b0: b7c5 j 2590 <WCHNET_SocketCreat+0x1c>
|
||
25b2: 200077b7 lui a5,0x20007
|
||
25b6: 7f87a783 lw a5,2040(a5) # 200077f8 <NetInf>
|
||
25ba: 006c addi a1,sp,12
|
||
25bc: c63e sw a5,12(sp)
|
||
25be: 127020ef jal ra,4ee4 <raw_bind>
|
||
25c2: 4611 li a2,4
|
||
25c4: 02c40593 addi a1,s0,44
|
||
25c8: 0068 addi a0,sp,12
|
||
25ca: 5ec060ef jal ra,8bb6 <memcpy>
|
||
25ce: 006c addi a1,sp,12
|
||
25d0: 854e mv a0,s3
|
||
25d2: 131020ef jal ra,4f02 <raw_connect>
|
||
25d6: 03c00613 li a2,60
|
||
25da: 02c48633 mul a2,s1,a2
|
||
25de: 000025b7 lui a1,0x2
|
||
25e2: ff658593 addi a1,a1,-10 # 1ff6 <SocketIPRAWReceive>
|
||
25e6: 854e mv a0,s3
|
||
25e8: 964a add a2,a2,s2
|
||
25ea: 137020ef jal ra,4f20 <raw_recv>
|
||
25ee: 4795 li a5,5
|
||
25f0: 20008537 lui a0,0x20008
|
||
25f4: 006c addi a1,sp,12
|
||
25f6: 03342823 sw s3,48(s0)
|
||
25fa: d01c sw a5,32(s0)
|
||
25fc: 86850513 addi a0,a0,-1944 # 20007868 <WCHNetIf>
|
||
2600: 407000ef jal ra,3206 <etharp_request>
|
||
2604: 85a6 mv a1,s1
|
||
2606: 8522 mv a0,s0
|
||
2608: cbbff0ef jal ra,22c2 <WCHSocketInit>
|
||
260c: 4501 li a0,0
|
||
260e: b769 j 2598 <WCHNET_SocketCreat+0x24>
|
||
2610: 4709 li a4,2
|
||
2612: 0ae79063 bne a5,a4,26b2 <WCHNET_SocketCreat+0x13e>
|
||
2616: 2bf050ef jal ra,80d4 <udp_new>
|
||
261a: 89aa mv s3,a0
|
||
261c: 12050363 beqz a0,2742 <WCHNET_SocketCreat+0x1ce>
|
||
2620: 02c40a93 addi s5,s0,44
|
||
2624: 4611 li a2,4
|
||
2626: 85d6 mv a1,s5
|
||
2628: 0068 addi a0,sp,12
|
||
262a: 58c060ef jal ra,8bb6 <memcpy>
|
||
262e: 4a32 lw s4,12(sp)
|
||
2630: f0000537 lui a0,0xf0000
|
||
2634: 1ca010ef jal ra,37fe <ntohl>
|
||
2638: 00aa7a33 and s4,s4,a0
|
||
263c: e0000537 lui a0,0xe0000
|
||
2640: 1be010ef jal ra,37fe <ntohl>
|
||
2644: 04aa0063 beq s4,a0,2684 <WCHNET_SocketCreat+0x110>
|
||
2648: 200085b7 lui a1,0x20008
|
||
264c: 86858593 addi a1,a1,-1944 # 20007868 <WCHNetIf>
|
||
2650: 0068 addi a0,sp,12
|
||
2652: 62e010ef jal ra,3c80 <ip_addr_isbroadcast>
|
||
2656: e51d bnez a0,2684 <WCHNET_SocketCreat+0x110>
|
||
2658: 200077b7 lui a5,0x20007
|
||
265c: 7f87a783 lw a5,2040(a5) # 200077f8 <NetInf>
|
||
2660: 3412 lhu a2,40(s0)
|
||
2662: 006c addi a1,sp,12
|
||
2664: 854e mv a0,s3
|
||
2666: c63e sw a5,12(sp)
|
||
2668: 039050ef jal ra,7ea0 <udp_bind>
|
||
266c: e11d bnez a0,2692 <WCHNET_SocketCreat+0x11e>
|
||
266e: 85d6 mv a1,s5
|
||
2670: 4611 li a2,4
|
||
2672: 0068 addi a0,sp,12
|
||
2674: 542060ef jal ra,8bb6 <memcpy>
|
||
2678: 3052 lhu a2,36(s0)
|
||
267a: 006c addi a1,sp,12
|
||
267c: 854e mv a0,s3
|
||
267e: 1d3050ef jal ra,8050 <udp_connect>
|
||
2682: a039 j 2690 <WCHNET_SocketCreat+0x11c>
|
||
2684: 3412 lhu a2,40(s0)
|
||
2686: 84418593 addi a1,gp,-1980 # 20000064 <ip_addr_any>
|
||
268a: 854e mv a0,s3
|
||
268c: 015050ef jal ra,7ea0 <udp_bind>
|
||
2690: c501 beqz a0,2698 <WCHNET_SocketCreat+0x124>
|
||
2692: c17ff0ef jal ra,22a8 <ErrorEncode>
|
||
2696: b709 j 2598 <WCHNET_SocketCreat+0x24>
|
||
2698: 03c00613 li a2,60
|
||
269c: 02c48633 mul a2,s1,a2
|
||
26a0: 000025b7 lui a1,0x2
|
||
26a4: 0ba58593 addi a1,a1,186 # 20ba <SocketUdpReceive>
|
||
26a8: 854e mv a0,s3
|
||
26aa: 964a add a2,a2,s2
|
||
26ac: 223050ef jal ra,80ce <udp_recv>
|
||
26b0: bf3d j 25ee <WCHNET_SocketCreat+0x7a>
|
||
26b2: 470d li a4,3
|
||
26b4: 02100513 li a0,33
|
||
26b8: eee790e3 bne a5,a4,2598 <WCHNET_SocketCreat+0x24>
|
||
26bc: 2e8030ef jal ra,59a4 <tcp_new>
|
||
26c0: 445c lw a5,12(s0)
|
||
26c2: 3412 lhu a2,40(s0)
|
||
26c4: 006c addi a1,sp,12
|
||
26c6: b95e sh a5,52(a0)
|
||
26c8: 200077b7 lui a5,0x20007
|
||
26cc: 7f87a783 lw a5,2040(a5) # 200077f8 <NetInf>
|
||
26d0: 89aa mv s3,a0
|
||
26d2: c63e sw a5,12(sp)
|
||
26d4: 16d020ef jal ra,5040 <tcp_bind>
|
||
26d8: 8a2a mv s4,a0
|
||
26da: c511 beqz a0,26e6 <WCHNET_SocketCreat+0x172>
|
||
26dc: 854e mv a0,s3
|
||
26de: 707020ef jal ra,55e4 <tcp_close>
|
||
26e2: 8552 mv a0,s4
|
||
26e4: b77d j 2692 <WCHNET_SocketCreat+0x11e>
|
||
26e6: 03c00593 li a1,60
|
||
26ea: 02b485b3 mul a1,s1,a1
|
||
26ee: 854e mv a0,s3
|
||
26f0: 95ca add a1,a1,s2
|
||
26f2: 359020ef jal ra,524a <tcp_arg>
|
||
26f6: 000025b7 lui a1,0x2
|
||
26fa: 854e mv a0,s3
|
||
26fc: fb258593 addi a1,a1,-78 # 1fb2 <NET_TCPError>
|
||
2700: 35b020ef jal ra,525a <tcp_err>
|
||
2704: 4795 li a5,5
|
||
2706: 85a6 mv a1,s1
|
||
2708: 8522 mv a0,s0
|
||
270a: 03342823 sw s3,48(s0)
|
||
270e: 03342a23 sw s3,52(s0)
|
||
2712: d01c sw a5,32(s0)
|
||
2714: bafff0ef jal ra,22c2 <WCHSocketInit>
|
||
2718: 20008537 lui a0,0x20008
|
||
271c: 006c addi a1,sp,12
|
||
271e: 86850513 addi a0,a0,-1944 # 20007868 <WCHNetIf>
|
||
2722: 2e5000ef jal ra,3206 <etharp_request>
|
||
2726: b5dd j 260c <WCHNET_SocketCreat+0x98>
|
||
2728: a104 sb s1,0(a0)
|
||
272a: 4ddc lw a5,28(a1)
|
||
272c: c1c4 sw s1,4(a1)
|
||
272e: 842e mv s0,a1
|
||
2730: ee0790e3 bnez a5,2610 <WCHNET_SocketCreat+0x9c>
|
||
2734: 02844503 lbu a0,40(s0)
|
||
2738: 07d020ef jal ra,4fb4 <raw_new>
|
||
273c: 89aa mv s3,a0
|
||
273e: e6051ae3 bnez a0,25b2 <WCHNET_SocketCreat+0x3e>
|
||
2742: 4545 li a0,17
|
||
2744: bd91 j 2598 <WCHNET_SocketCreat+0x24>
|
||
|
||
00002746 <tcp_recved_socket>:
|
||
tcp_recved_socket():
|
||
2746: aabfd2ef jal t0,1f0 <__riscv_save_0>
|
||
274a: 08852783 lw a5,136(a0)
|
||
274e: b54e sh a1,44(a0)
|
||
2750: 842a mv s0,a0
|
||
2752: c781 beqz a5,275a <tcp_recved_socket+0x14>
|
||
2754: 279e lhu a5,8(a5)
|
||
2756: 8d9d sub a1,a1,a5
|
||
2758: b54e sh a1,44(a0)
|
||
275a: 8522 mv a0,s0
|
||
275c: 1fb020ef jal ra,5156 <tcp_update_rcv_ann_wnd>
|
||
2760: cd09 beqz a0,277a <tcp_recved_socket+0x34>
|
||
2762: 02644783 lbu a5,38(s0)
|
||
2766: 8522 mv a0,s0
|
||
2768: 0027e793 ori a5,a5,2
|
||
276c: 02f40323 sb a5,38(s0)
|
||
2770: 645040ef jal ra,75b4 <tcp_output>
|
||
2774: 4505 li a0,1
|
||
2776: a9ffd06f j 214 <__riscv_restore_0>
|
||
277a: 200087b7 lui a5,0x20008
|
||
277e: 84c7a783 lw a5,-1972(a5) # 2000784c <WCHCfg+0x10>
|
||
2782: 83a1 srli a5,a5,0x8
|
||
2784: 8b85 andi a5,a5,1
|
||
2786: d7fd beqz a5,2774 <tcp_recved_socket+0x2e>
|
||
2788: 02644783 lbu a5,38(s0)
|
||
278c: 8b85 andi a5,a5,1
|
||
278e: d3fd beqz a5,2774 <tcp_recved_socket+0x2e>
|
||
2790: 4789 li a5,2
|
||
2792: 02f403a3 sb a5,39(s0)
|
||
2796: 4705 li a4,1
|
||
2798: 8ce1aa23 sw a4,-1836(gp) # 200000f4 <tcpSendAckFlag>
|
||
279c: bfe1 j 2774 <tcp_recved_socket+0x2e>
|
||
|
||
0000279e <WCHNET_ModifyRecvBuf>:
|
||
WCHNET_ModifyRecvBuf():
|
||
279e: 8c81c783 lbu a5,-1848(gp) # 200000e8 <SockNumber>
|
||
27a2: 04f57563 bgeu a0,a5,27ec <WCHNET_ModifyRecvBuf+0x4e>
|
||
27a6: 03c00713 li a4,60
|
||
27aa: 02e50533 mul a0,a0,a4
|
||
27ae: 200077b7 lui a5,0x20007
|
||
27b2: 33878793 addi a5,a5,824 # 20007338 <SocketInf>
|
||
27b6: 953e add a0,a0,a5
|
||
27b8: 4d58 lw a4,28(a0)
|
||
27ba: 00052c23 sw zero,24(a0)
|
||
27be: c550 sw a2,12(a0)
|
||
27c0: c50c sw a1,8(a0)
|
||
27c2: c90c sw a1,16(a0)
|
||
27c4: c94c sw a1,20(a0)
|
||
27c6: 478d li a5,3
|
||
27c8: 02f71263 bne a4,a5,27ec <WCHNET_ModifyRecvBuf+0x4e>
|
||
27cc: 5908 lw a0,48(a0)
|
||
27ce: cd19 beqz a0,27ec <WCHNET_ModifyRecvBuf+0x4e>
|
||
27d0: 395a lhu a4,52(a0)
|
||
27d2: 00163793 seqz a5,a2
|
||
27d6: 00f71b63 bne a4,a5,27ec <WCHNET_ModifyRecvBuf+0x4e>
|
||
27da: a17fd2ef jal t0,1f0 <__riscv_save_0>
|
||
27de: 01061593 slli a1,a2,0x10
|
||
27e2: 81c1 srli a1,a1,0x10
|
||
27e4: b94e sh a1,52(a0)
|
||
27e6: 3785 jal 2746 <tcp_recved_socket>
|
||
27e8: a2dfd06f j 214 <__riscv_restore_0>
|
||
27ec: 8082 ret
|
||
|
||
000027ee <WCHNET_SocketRecv>:
|
||
WCHNET_SocketRecv():
|
||
27ee: 9e9fd2ef jal t0,1d6 <__riscv_save_4>
|
||
27f2: 4214 lw a3,0(a2)
|
||
27f4: 4469 li s0,26
|
||
27f6: cecd beqz a3,28b0 <WCHNET_SocketRecv+0xc2>
|
||
27f8: 00062023 sw zero,0(a2)
|
||
27fc: 8a32 mv s4,a2
|
||
27fe: 03c00613 li a2,60
|
||
2802: 02c50633 mul a2,a0,a2
|
||
2806: 200074b7 lui s1,0x20007
|
||
280a: 33848713 addi a4,s1,824 # 20007338 <SocketInf>
|
||
280e: 89aa mv s3,a0
|
||
2810: 87ae mv a5,a1
|
||
2812: 33848493 addi s1,s1,824
|
||
2816: 9732 add a4,a4,a2
|
||
2818: 00872b03 lw s6,8(a4)
|
||
281c: 4750 lw a2,12(a4)
|
||
281e: 01872903 lw s2,24(a4)
|
||
2822: 4b40 lw s0,20(a4)
|
||
2824: 9b32 add s6,s6,a2
|
||
2826: 0126f363 bgeu a3,s2,282c <WCHNET_SocketRecv+0x3e>
|
||
282a: 8936 mv s2,a3
|
||
282c: 408b0ab3 sub s5,s6,s0
|
||
2830: 092af363 bgeu s5,s2,28b6 <WCHNET_SocketRecv+0xc8>
|
||
2834: cb81 beqz a5,2844 <WCHNET_SocketRecv+0x56>
|
||
2836: 853e mv a0,a5
|
||
2838: 8656 mv a2,s5
|
||
283a: 85a2 mv a1,s0
|
||
283c: 37a060ef jal ra,8bb6 <memcpy>
|
||
2840: 015507b3 add a5,a0,s5
|
||
2844: 03c00713 li a4,60
|
||
2848: 02e98733 mul a4,s3,a4
|
||
284c: 944a add s0,s0,s2
|
||
284e: 41640433 sub s0,s0,s6
|
||
2852: 9726 add a4,a4,s1
|
||
2854: 00872a83 lw s5,8(a4)
|
||
2858: c791 beqz a5,2864 <WCHNET_SocketRecv+0x76>
|
||
285a: 8622 mv a2,s0
|
||
285c: 85d6 mv a1,s5
|
||
285e: 853e mv a0,a5
|
||
2860: 356060ef jal ra,8bb6 <memcpy>
|
||
2864: 9456 add s0,s0,s5
|
||
2866: 03c00793 li a5,60
|
||
286a: 02f987b3 mul a5,s3,a5
|
||
286e: 012a2023 sw s2,0(s4)
|
||
2872: 97a6 add a5,a5,s1
|
||
2874: 4f98 lw a4,24(a5)
|
||
2876: cbc0 sw s0,20(a5)
|
||
2878: 41270933 sub s2,a4,s2
|
||
287c: 0127ac23 sw s2,24(a5)
|
||
2880: 00091863 bnez s2,2890 <WCHNET_SocketRecv+0xa2>
|
||
2884: 4798 lw a4,8(a5)
|
||
2886: cbd8 sw a4,20(a5)
|
||
2888: cb98 sw a4,16(a5)
|
||
288a: 4398 lw a4,0(a5)
|
||
288c: 9b6d andi a4,a4,-5
|
||
288e: c398 sw a4,0(a5)
|
||
2890: 03c00793 li a5,60
|
||
2894: 02f989b3 mul s3,s3,a5
|
||
2898: 478d li a5,3
|
||
289a: 4401 li s0,0
|
||
289c: 94ce add s1,s1,s3
|
||
289e: 4cd8 lw a4,28(s1)
|
||
28a0: 00f71863 bne a4,a5,28b0 <WCHNET_SocketRecv+0xc2>
|
||
28a4: 00091663 bnez s2,28b0 <WCHNET_SocketRecv+0xc2>
|
||
28a8: 24ce lhu a1,12(s1)
|
||
28aa: 5888 lw a0,48(s1)
|
||
28ac: e9bff0ef jal ra,2746 <tcp_recved_socket>
|
||
28b0: 8522 mv a0,s0
|
||
28b2: 959fd06f j 20a <__riscv_restore_4>
|
||
28b6: c791 beqz a5,28c2 <WCHNET_SocketRecv+0xd4>
|
||
28b8: 864a mv a2,s2
|
||
28ba: 85a2 mv a1,s0
|
||
28bc: 853e mv a0,a5
|
||
28be: 2f8060ef jal ra,8bb6 <memcpy>
|
||
28c2: 944a add s0,s0,s2
|
||
28c4: fb2a91e3 bne s5,s2,2866 <WCHNET_SocketRecv+0x78>
|
||
28c8: 03c00793 li a5,60
|
||
28cc: 02f987b3 mul a5,s3,a5
|
||
28d0: 97a6 add a5,a5,s1
|
||
28d2: 4780 lw s0,8(a5)
|
||
28d4: bf49 j 2866 <WCHNET_SocketRecv+0x78>
|
||
|
||
000028d6 <SocketIPRawSend>:
|
||
SocketIPRawSend():
|
||
28d6: 8f3fd2ef jal t0,1c8 <__riscv_save_10>
|
||
28da: 4200 lw s0,0(a2)
|
||
28dc: 00062023 sw zero,0(a2)
|
||
28e0: c455 beqz s0,298c <SocketIPRawSend+0xb6>
|
||
28e2: 87aa mv a5,a0
|
||
28e4: 4569 li a0,26
|
||
28e6: c5d9 beqz a1,2974 <SocketIPRawSend+0x9e>
|
||
28e8: 03c00513 li a0,60
|
||
28ec: 02a787b3 mul a5,a5,a0
|
||
28f0: 20007537 lui a0,0x20007
|
||
28f4: 33850513 addi a0,a0,824 # 20007338 <SocketInf>
|
||
28f8: 20007ab7 lui s5,0x20007
|
||
28fc: 4481 li s1,0
|
||
28fe: 97aa add a5,a5,a0
|
||
2900: 0307ab03 lw s6,48(a5)
|
||
2904: 7f8a8793 addi a5,s5,2040 # 200077f8 <NetInf>
|
||
2908: 43bc lw a5,64(a5)
|
||
290a: 7f8a8a93 addi s5,s5,2040
|
||
290e: 8b89 andi a5,a5,2
|
||
2910: e399 bnez a5,2916 <SocketIPRawSend+0x40>
|
||
2912: 0c700493 li s1,199
|
||
2916: 5c800793 li a5,1480
|
||
291a: 0087f463 bgeu a5,s0,2922 <SocketIPRawSend+0x4c>
|
||
291e: 5c800413 li s0,1480
|
||
2922: 01041c93 slli s9,s0,0x10
|
||
2926: 8a32 mv s4,a2
|
||
2928: 892e mv s2,a1
|
||
292a: 010cdc93 srli s9,s9,0x10
|
||
292e: 0c800c13 li s8,200
|
||
2932: 4601 li a2,0
|
||
2934: 85e6 mv a1,s9
|
||
2936: 4501 li a0,0
|
||
2938: 2c4020ef jal ra,4bfc <pbuf_alloc>
|
||
293c: 89aa mv s3,a0
|
||
293e: c929 beqz a0,2990 <SocketIPRawSend+0xba>
|
||
2940: 4148 lw a0,4(a0)
|
||
2942: 8622 mv a2,s0
|
||
2944: 85ca mv a1,s2
|
||
2946: 020aae23 sw zero,60(s5)
|
||
294a: 26c060ef jal ra,8bb6 <memcpy>
|
||
294e: 85ce mv a1,s3
|
||
2950: 855a mv a0,s6
|
||
2952: 652020ef jal ra,4fa4 <raw_send>
|
||
2956: 8baa mv s7,a0
|
||
2958: 854e mv a0,s3
|
||
295a: 254020ef jal ra,4bae <pbuf_free>
|
||
295e: 03caa783 lw a5,60(s5)
|
||
2962: cb99 beqz a5,2978 <SocketIPRawSend+0xa2>
|
||
2964: 0485 addi s1,s1,1
|
||
2966: 04c2 slli s1,s1,0x10
|
||
2968: 80c1 srli s1,s1,0x10
|
||
296a: bd4ff0ef jal ra,1d3e <WCHNET_NetInput>
|
||
296e: fd8492e3 bne s1,s8,2932 <SocketIPRawSend+0x5c>
|
||
2972: 454d li a0,19
|
||
2974: 88dfd06f j 200 <__riscv_restore_10>
|
||
2978: 000bd663 bgez s7,2984 <SocketIPRawSend+0xae>
|
||
297c: 855e mv a0,s7
|
||
297e: 92bff0ef jal ra,22a8 <ErrorEncode>
|
||
2982: bfcd j 2974 <SocketIPRawSend+0x9e>
|
||
2984: 008a2023 sw s0,0(s4)
|
||
2988: 4501 li a0,0
|
||
298a: b7ed j 2974 <SocketIPRawSend+0x9e>
|
||
298c: 4569 li a0,26
|
||
298e: b7dd j 2974 <SocketIPRawSend+0x9e>
|
||
2990: 4545 li a0,17
|
||
2992: b7cd j 2974 <SocketIPRawSend+0x9e>
|
||
|
||
00002994 <SocketUdpSend>:
|
||
SocketUdpSend():
|
||
2994: 835fd2ef jal t0,1c8 <__riscv_save_10>
|
||
2998: 4200 lw s0,0(a2)
|
||
299a: 00062023 sw zero,0(a2)
|
||
299e: c455 beqz s0,2a4a <SocketUdpSend+0xb6>
|
||
29a0: 87aa mv a5,a0
|
||
29a2: 4569 li a0,26
|
||
29a4: c5d9 beqz a1,2a32 <SocketUdpSend+0x9e>
|
||
29a6: 03c00513 li a0,60
|
||
29aa: 02a787b3 mul a5,a5,a0
|
||
29ae: 20007537 lui a0,0x20007
|
||
29b2: 33850513 addi a0,a0,824 # 20007338 <SocketInf>
|
||
29b6: 20007ab7 lui s5,0x20007
|
||
29ba: 4481 li s1,0
|
||
29bc: 97aa add a5,a5,a0
|
||
29be: 0307ab03 lw s6,48(a5)
|
||
29c2: 7f8a8793 addi a5,s5,2040 # 200077f8 <NetInf>
|
||
29c6: 43bc lw a5,64(a5)
|
||
29c8: 7f8a8a93 addi s5,s5,2040
|
||
29cc: 8b89 andi a5,a5,2
|
||
29ce: e399 bnez a5,29d4 <SocketUdpSend+0x40>
|
||
29d0: 0c700493 li s1,199
|
||
29d4: 5c000793 li a5,1472
|
||
29d8: 0087f463 bgeu a5,s0,29e0 <SocketUdpSend+0x4c>
|
||
29dc: 5c000413 li s0,1472
|
||
29e0: 01041c93 slli s9,s0,0x10
|
||
29e4: 8a32 mv s4,a2
|
||
29e6: 892e mv s2,a1
|
||
29e8: 010cdc93 srli s9,s9,0x10
|
||
29ec: 0c800c13 li s8,200
|
||
29f0: 4601 li a2,0
|
||
29f2: 85e6 mv a1,s9
|
||
29f4: 4501 li a0,0
|
||
29f6: 206020ef jal ra,4bfc <pbuf_alloc>
|
||
29fa: 89aa mv s3,a0
|
||
29fc: c929 beqz a0,2a4e <SocketUdpSend+0xba>
|
||
29fe: 4148 lw a0,4(a0)
|
||
2a00: 8622 mv a2,s0
|
||
2a02: 85ca mv a1,s2
|
||
2a04: 020aae23 sw zero,60(s5)
|
||
2a08: 1ae060ef jal ra,8bb6 <memcpy>
|
||
2a0c: 85ce mv a1,s3
|
||
2a0e: 855a mv a0,s6
|
||
2a10: 62e050ef jal ra,803e <udp_send>
|
||
2a14: 8baa mv s7,a0
|
||
2a16: 854e mv a0,s3
|
||
2a18: 196020ef jal ra,4bae <pbuf_free>
|
||
2a1c: 03caa783 lw a5,60(s5)
|
||
2a20: cb99 beqz a5,2a36 <SocketUdpSend+0xa2>
|
||
2a22: 0485 addi s1,s1,1
|
||
2a24: 04c2 slli s1,s1,0x10
|
||
2a26: 80c1 srli s1,s1,0x10
|
||
2a28: b16ff0ef jal ra,1d3e <WCHNET_NetInput>
|
||
2a2c: fd8492e3 bne s1,s8,29f0 <SocketUdpSend+0x5c>
|
||
2a30: 454d li a0,19
|
||
2a32: fcefd06f j 200 <__riscv_restore_10>
|
||
2a36: 000bd663 bgez s7,2a42 <SocketUdpSend+0xae>
|
||
2a3a: 855e mv a0,s7
|
||
2a3c: 86dff0ef jal ra,22a8 <ErrorEncode>
|
||
2a40: bfcd j 2a32 <SocketUdpSend+0x9e>
|
||
2a42: 008a2023 sw s0,0(s4)
|
||
2a46: 4501 li a0,0
|
||
2a48: b7ed j 2a32 <SocketUdpSend+0x9e>
|
||
2a4a: 4569 li a0,26
|
||
2a4c: b7dd j 2a32 <SocketUdpSend+0x9e>
|
||
2a4e: 4545 li a0,17
|
||
2a50: b7cd j 2a32 <SocketUdpSend+0x9e>
|
||
|
||
00002a52 <SocketTcpSend>:
|
||
SocketTcpSend():
|
||
2a52: f76fd2ef jal t0,1c8 <__riscv_save_10>
|
||
2a56: 00062983 lw s3,0(a2)
|
||
2a5a: 00062023 sw zero,0(a2)
|
||
2a5e: 0c098e63 beqz s3,2b3a <SocketTcpSend+0xe8>
|
||
2a62: 87aa mv a5,a0
|
||
2a64: 8b2e mv s6,a1
|
||
2a66: 4569 li a0,26
|
||
2a68: c1a1 beqz a1,2aa8 <SocketTcpSend+0x56>
|
||
2a6a: 03c00513 li a0,60
|
||
2a6e: 02a787b3 mul a5,a5,a0
|
||
2a72: 20007537 lui a0,0x20007
|
||
2a76: 33850513 addi a0,a0,824 # 20007338 <SocketInf>
|
||
2a7a: 20008a37 lui s4,0x20008
|
||
2a7e: 8bb2 mv s7,a2
|
||
2a80: 0c900a93 li s5,201
|
||
2a84: 4481 li s1,0
|
||
2a86: 4c11 li s8,4
|
||
2a88: 83ca0a13 addi s4,s4,-1988 # 2000783c <WCHCfg>
|
||
2a8c: 5cfd li s9,-1
|
||
2a8e: 97aa add a5,a5,a0
|
||
2a90: 0307a903 lw s2,48(a5)
|
||
2a94: 1afd addi s5,s5,-1
|
||
2a96: 0ac2 slli s5,s5,0x10
|
||
2a98: 010ada93 srli s5,s5,0x10
|
||
2a9c: 000a9863 bnez s5,2aac <SocketTcpSend+0x5a>
|
||
2aa0: 000ba783 lw a5,0(s7)
|
||
2aa4: cbc9 beqz a5,2b36 <SocketTcpSend+0xe4>
|
||
2aa6: 4501 li a0,0
|
||
2aa8: f58fd06f j 200 <__riscv_restore_10>
|
||
2aac: 01092783 lw a5,16(s2)
|
||
2ab0: 09879763 bne a5,s8,2b3e <SocketTcpSend+0xec>
|
||
2ab4: a8aff0ef jal ra,1d3e <WCHNET_NetInput>
|
||
2ab8: 07695703 lhu a4,118(s2)
|
||
2abc: e319 bnez a4,2ac2 <SocketTcpSend+0x70>
|
||
2abe: 4545 li a0,17
|
||
2ac0: b7e5 j 2aa8 <SocketTcpSend+0x56>
|
||
2ac2: 010a2783 lw a5,16(s4)
|
||
2ac6: 8b85 andi a5,a5,1
|
||
2ac8: e399 bnez a5,2ace <SocketTcpSend+0x7c>
|
||
2aca: ff376ae3 bltu a4,s3,2abe <SocketTcpSend+0x6c>
|
||
2ace: 004a2403 lw s0,4(s4)
|
||
2ad2: 00877363 bgeu a4,s0,2ad8 <SocketTcpSend+0x86>
|
||
2ad6: 843a mv s0,a4
|
||
2ad8: 0089f363 bgeu s3,s0,2ade <SocketTcpSend+0x8c>
|
||
2adc: 844e mv s0,s3
|
||
2ade: 01041613 slli a2,s0,0x10
|
||
2ae2: 8241 srli a2,a2,0x10
|
||
2ae4: 4685 li a3,1
|
||
2ae6: e391 bnez a5,2aea <SocketTcpSend+0x98>
|
||
2ae8: 4681 li a3,0
|
||
2aea: 85da mv a1,s6
|
||
2aec: 854a mv a0,s2
|
||
2aee: 227040ef jal ra,7514 <tcp_write>
|
||
2af2: 84aa mv s1,a0
|
||
2af4: 854a mv a0,s2
|
||
2af6: e48d bnez s1,2b20 <SocketTcpSend+0xce>
|
||
2af8: 2bd040ef jal ra,75b4 <tcp_output>
|
||
2afc: 000ba783 lw a5,0(s7)
|
||
2b00: 408989b3 sub s3,s3,s0
|
||
2b04: 84aa mv s1,a0
|
||
2b06: 97a2 add a5,a5,s0
|
||
2b08: 00fba023 sw a5,0(s7)
|
||
2b0c: 9b22 add s6,s6,s0
|
||
2b0e: f8098ce3 beqz s3,2aa6 <SocketTcpSend+0x54>
|
||
2b12: 010a2783 lw a5,16(s4)
|
||
2b16: 8b85 andi a5,a5,1
|
||
2b18: ffb5 bnez a5,2a94 <SocketTcpSend+0x42>
|
||
2b1a: f8eff0ef jal ra,22a8 <ErrorEncode>
|
||
2b1e: b769 j 2aa8 <SocketTcpSend+0x56>
|
||
2b20: 01949963 bne s1,s9,2b32 <SocketTcpSend+0xe0>
|
||
2b24: 291040ef jal ra,75b4 <tcp_output>
|
||
2b28: 010a2783 lw a5,16(s4)
|
||
2b2c: 8b85 andi a5,a5,1
|
||
2b2e: f3bd bnez a5,2a94 <SocketTcpSend+0x42>
|
||
2b30: b779 j 2abe <SocketTcpSend+0x6c>
|
||
2b32: 283040ef jal ra,75b4 <tcp_output>
|
||
2b36: 8526 mv a0,s1
|
||
2b38: b7cd j 2b1a <SocketTcpSend+0xc8>
|
||
2b3a: 4569 li a0,26
|
||
2b3c: b7b5 j 2aa8 <SocketTcpSend+0x56>
|
||
2b3e: 455d li a0,23
|
||
2b40: b7a5 j 2aa8 <SocketTcpSend+0x56>
|
||
|
||
00002b42 <WCHNET_SocketSend>:
|
||
WCHNET_SocketSend():
|
||
2b42: 03c00793 li a5,60
|
||
2b46: 02f507b3 mul a5,a0,a5
|
||
2b4a: 20007737 lui a4,0x20007
|
||
2b4e: 33870713 addi a4,a4,824 # 20007338 <SocketInf>
|
||
2b52: 97ba add a5,a5,a4
|
||
2b54: 0207a803 lw a6,32(a5)
|
||
2b58: 4715 li a4,5
|
||
2b5a: 00e80763 beq a6,a4,2b68 <WCHNET_SocketSend+0x26>
|
||
2b5e: 47dd li a5,23
|
||
2b60: 00062023 sw zero,0(a2)
|
||
2b64: 853e mv a0,a5
|
||
2b66: 8082 ret
|
||
2b68: e88fd2ef jal t0,1f0 <__riscv_save_0>
|
||
2b6c: 4fd8 lw a4,28(a5)
|
||
2b6e: 478d li a5,3
|
||
2b70: 00f71863 bne a4,a5,2b80 <WCHNET_SocketSend+0x3e>
|
||
2b74: edfff0ef jal ra,2a52 <SocketTcpSend>
|
||
2b78: 87aa mv a5,a0
|
||
2b7a: 853e mv a0,a5
|
||
2b7c: e98fd06f j 214 <__riscv_restore_0>
|
||
2b80: e701 bnez a4,2b88 <WCHNET_SocketSend+0x46>
|
||
2b82: d55ff0ef jal ra,28d6 <SocketIPRawSend>
|
||
2b86: bfcd j 2b78 <WCHNET_SocketSend+0x36>
|
||
2b88: 4689 li a3,2
|
||
2b8a: 0fa00793 li a5,250
|
||
2b8e: fed716e3 bne a4,a3,2b7a <WCHNET_SocketSend+0x38>
|
||
2b92: e03ff0ef jal ra,2994 <SocketUdpSend>
|
||
2b96: b7cd j 2b78 <WCHNET_SocketSend+0x36>
|
||
|
||
00002b98 <WCHScokedIntHandle>:
|
||
WCHScokedIntHandle():
|
||
2b98: e58fd2ef jal t0,1f0 <__riscv_save_0>
|
||
2b9c: 47a1 li a5,8
|
||
2b9e: 84aa mv s1,a0
|
||
2ba0: 2100 lbu s0,0(a0)
|
||
2ba2: 02f58a63 beq a1,a5,2bd6 <WCHScokedIntHandle+0x3e>
|
||
2ba6: 00b7ec63 bltu a5,a1,2bbe <WCHScokedIntHandle+0x26>
|
||
2baa: 4785 li a5,1
|
||
2bac: 02f58163 beq a1,a5,2bce <WCHScokedIntHandle+0x36>
|
||
2bb0: 4789 li a5,2
|
||
2bb2: 00246413 ori s0,s0,2
|
||
2bb6: 00f58e63 beq a1,a5,2bd2 <WCHScokedIntHandle+0x3a>
|
||
2bba: e5afd06f j 214 <__riscv_restore_0>
|
||
2bbe: 47c1 li a5,16
|
||
2bc0: 00f58e63 beq a1,a5,2bdc <WCHScokedIntHandle+0x44>
|
||
2bc4: 04000793 li a5,64
|
||
2bc8: 04046413 ori s0,s0,64
|
||
2bcc: b7ed j 2bb6 <WCHScokedIntHandle+0x1e>
|
||
2bce: 00146413 ori s0,s0,1
|
||
2bd2: c080 sw s0,0(s1)
|
||
2bd4: b7dd j 2bba <WCHScokedIntHandle+0x22>
|
||
2bd6: 00846413 ori s0,s0,8
|
||
2bda: bfe5 j 2bd2 <WCHScokedIntHandle+0x3a>
|
||
2bdc: 5948 lw a0,52(a0)
|
||
2bde: 01046413 ori s0,s0,16
|
||
2be2: d965 beqz a0,2bd2 <WCHScokedIntHandle+0x3a>
|
||
2be4: 201020ef jal ra,55e4 <tcp_close>
|
||
2be8: b7ed j 2bd2 <WCHScokedIntHandle+0x3a>
|
||
|
||
00002bea <LwipRemoveTcpPcb>:
|
||
LwipRemoveTcpPcb():
|
||
2bea: decfd2ef jal t0,1d6 <__riscv_save_4>
|
||
2bee: 1141 addi sp,sp,-16
|
||
2bf0: 00f10593 addi a1,sp,15
|
||
2bf4: 89aa mv s3,a0
|
||
2bf6: 000107a3 sb zero,15(sp)
|
||
2bfa: 91dff0ef jal ra,2516 <WCHFindCorrectTCBPcb>
|
||
2bfe: c515 beqz a0,2c2a <LwipRemoveTcpPcb+0x40>
|
||
2c00: 8784 lbu s1,15(sp)
|
||
2c02: 01849793 slli a5,s1,0x18
|
||
2c06: 87e1 srai a5,a5,0x18
|
||
2c08: 0207d463 bgez a5,2c30 <LwipRemoveTcpPcb+0x46>
|
||
2c0c: 03c00413 li s0,60
|
||
2c10: 07f4f493 andi s1,s1,127
|
||
2c14: 028484b3 mul s1,s1,s0
|
||
2c18: 20007437 lui s0,0x20007
|
||
2c1c: 33840413 addi s0,s0,824 # 20007338 <SocketInf>
|
||
2c20: 9426 add s0,s0,s1
|
||
2c22: 02042a23 sw zero,52(s0)
|
||
2c26: 02042023 sw zero,32(s0)
|
||
2c2a: 0141 addi sp,sp,16
|
||
2c2c: ddefd06f j 20a <__riscv_restore_4>
|
||
2c30: 8c81c783 lbu a5,-1848(gp) # 200000e8 <SockNumber>
|
||
2c34: fef4fbe3 bgeu s1,a5,2c2a <LwipRemoveTcpPcb+0x40>
|
||
2c38: 03c00713 li a4,60
|
||
2c3c: 02e48733 mul a4,s1,a4
|
||
2c40: 200077b7 lui a5,0x20007
|
||
2c44: 33878413 addi s0,a5,824 # 20007338 <SocketInf>
|
||
2c48: 33878913 addi s2,a5,824
|
||
2c4c: 943a add s0,s0,a4
|
||
2c4e: 4c54 lw a3,28(s0)
|
||
2c50: 470d li a4,3
|
||
2c52: fce69ce3 bne a3,a4,2c2a <LwipRemoveTcpPcb+0x40>
|
||
2c56: 0109a783 lw a5,16(s3)
|
||
2c5a: 4705 li a4,1
|
||
2c5c: 17dd addi a5,a5,-9
|
||
2c5e: 0ff7f793 andi a5,a5,255
|
||
2c62: 00f76e63 bltu a4,a5,2c7e <LwipRemoveTcpPcb+0x94>
|
||
2c66: 45c1 li a1,16
|
||
2c68: 8522 mv a0,s0
|
||
2c6a: f2fff0ef jal ra,2b98 <WCHScokedIntHandle>
|
||
2c6e: 03c00793 li a5,60
|
||
2c72: 02f484b3 mul s1,s1,a5
|
||
2c76: 94ca add s1,s1,s2
|
||
2c78: 0204a823 sw zero,48(s1)
|
||
2c7c: b76d j 2c26 <LwipRemoveTcpPcb+0x3c>
|
||
2c7e: 201c lbu a5,0(s0)
|
||
2c80: 0407e793 ori a5,a5,64
|
||
2c84: c01c sw a5,0(s0)
|
||
2c86: b7e5 j 2c6e <LwipRemoveTcpPcb+0x84>
|
||
|
||
00002c88 <WCHNET_QueryGlobalInt>:
|
||
WCHNET_QueryGlobalInt():
|
||
2c88: 20007737 lui a4,0x20007
|
||
2c8c: 8c81c683 lbu a3,-1848(gp) # 200000e8 <SockNumber>
|
||
2c90: 33870713 addi a4,a4,824 # 20007338 <SocketInf>
|
||
2c94: 4781 li a5,0
|
||
2c96: 00f68f63 beq a3,a5,2cb4 <WCHNET_QueryGlobalInt+0x2c>
|
||
2c9a: 03c70713 addi a4,a4,60
|
||
2c9e: fc472603 lw a2,-60(a4)
|
||
2ca2: ce11 beqz a2,2cbe <WCHNET_QueryGlobalInt+0x36>
|
||
2ca4: 200077b7 lui a5,0x20007
|
||
2ca8: 7f878793 addi a5,a5,2040 # 200077f8 <NetInf>
|
||
2cac: 57d8 lw a4,44(a5)
|
||
2cae: 01076713 ori a4,a4,16
|
||
2cb2: d7d8 sw a4,44(a5)
|
||
2cb4: 200087b7 lui a5,0x20008
|
||
2cb8: 8247c503 lbu a0,-2012(a5) # 20007824 <NetInf+0x2c>
|
||
2cbc: 8082 ret
|
||
2cbe: 0785 addi a5,a5,1
|
||
2cc0: 0ff7f793 andi a5,a5,255
|
||
2cc4: bfc9 j 2c96 <WCHNET_QueryGlobalInt+0xe>
|
||
|
||
00002cc6 <WCHNET_GetGlobalInt>:
|
||
WCHNET_GetGlobalInt():
|
||
2cc6: d2afd2ef jal t0,1f0 <__riscv_save_0>
|
||
2cca: 3f7d jal 2c88 <WCHNET_QueryGlobalInt>
|
||
2ccc: 200087b7 lui a5,0x20008
|
||
2cd0: 8207a223 sw zero,-2012(a5) # 20007824 <NetInf+0x2c>
|
||
2cd4: d40fd06f j 214 <__riscv_restore_0>
|
||
|
||
00002cd8 <WCHNET_GetSocketInt>:
|
||
WCHNET_GetSocketInt():
|
||
2cd8: 8c81c783 lbu a5,-1848(gp) # 200000e8 <SockNumber>
|
||
2cdc: 02f57163 bgeu a0,a5,2cfe <WCHNET_GetSocketInt+0x26>
|
||
2ce0: 03c00793 li a5,60
|
||
2ce4: 02f50533 mul a0,a0,a5
|
||
2ce8: 200077b7 lui a5,0x20007
|
||
2cec: 33878793 addi a5,a5,824 # 20007338 <SocketInf>
|
||
2cf0: 97aa add a5,a5,a0
|
||
2cf2: 4398 lw a4,0(a5)
|
||
2cf4: 0ff77513 andi a0,a4,255
|
||
2cf8: 8b11 andi a4,a4,4
|
||
2cfa: c398 sw a4,0(a5)
|
||
2cfc: 8082 ret
|
||
2cfe: 4501 li a0,0
|
||
2d00: 8082 ret
|
||
|
||
00002d02 <WCHNET_GetPHYStatus>:
|
||
WCHNET_GetPHYStatus():
|
||
2d02: 200087b7 lui a5,0x20008
|
||
2d06: 8187c503 lbu a0,-2024(a5) # 20007818 <NetInf+0x20>
|
||
2d0a: 8082 ret
|
||
|
||
00002d0c <WCHNET_SocketSetKeepLive>:
|
||
WCHNET_SocketSetKeepLive():
|
||
2d0c: 03c00793 li a5,60
|
||
2d10: 02f50533 mul a0,a0,a5
|
||
2d14: 200077b7 lui a5,0x20007
|
||
2d18: 33878793 addi a5,a5,824 # 20007338 <SocketInf>
|
||
2d1c: 953e add a0,a0,a5
|
||
2d1e: 591c lw a5,48(a0)
|
||
2d20: cf95 beqz a5,2d5c <WCHNET_SocketSetKeepLive+0x50>
|
||
2d22: 5114 lw a3,32(a0)
|
||
2d24: 4715 li a4,5
|
||
2d26: 455d li a0,23
|
||
2d28: 02e69b63 bne a3,a4,2d5e <WCHNET_SocketSetKeepLive+0x52>
|
||
2d2c: 8985 andi a1,a1,1
|
||
2d2e: 279a lhu a4,8(a5)
|
||
2d30: c19d beqz a1,2d56 <WCHNET_SocketSetKeepLive+0x4a>
|
||
2d32: 00876713 ori a4,a4,8
|
||
2d36: a79a sh a4,8(a5)
|
||
2d38: 20007737 lui a4,0x20007
|
||
2d3c: 7ec70713 addi a4,a4,2028 # 200077ec <KeepLiveCfg>
|
||
2d40: 4314 lw a3,0(a4)
|
||
2d42: 0ad7a023 sw a3,160(a5)
|
||
2d46: 4354 lw a3,4(a4)
|
||
2d48: 4718 lw a4,8(a4)
|
||
2d4a: 0ad7a223 sw a3,164(a5)
|
||
2d4e: 0ae7a423 sw a4,168(a5)
|
||
2d52: 4501 li a0,0
|
||
2d54: 8082 ret
|
||
2d56: 9b5d andi a4,a4,-9
|
||
2d58: a79a sh a4,8(a5)
|
||
2d5a: bfe5 j 2d52 <WCHNET_SocketSetKeepLive+0x46>
|
||
2d5c: 455d li a0,23
|
||
2d5e: 8082 ret
|
||
|
||
00002d60 <WCHNET_SocketConnect>:
|
||
WCHNET_SocketConnect():
|
||
2d60: 8c81c783 lbu a5,-1848(gp) # 200000e8 <SockNumber>
|
||
2d64: 06f57763 bgeu a0,a5,2dd2 <WCHNET_SocketConnect+0x72>
|
||
2d68: c88fd2ef jal t0,1f0 <__riscv_save_0>
|
||
2d6c: 03c00413 li s0,60
|
||
2d70: 02850533 mul a0,a0,s0
|
||
2d74: 20007437 lui s0,0x20007
|
||
2d78: 33840413 addi s0,s0,824 # 20007338 <SocketInf>
|
||
2d7c: 1141 addi sp,sp,-16
|
||
2d7e: 942a add s0,s0,a0
|
||
2d80: 5804 lw s1,48(s0)
|
||
2d82: 455d li a0,23
|
||
2d84: cc85 beqz s1,2dbc <WCHNET_SocketConnect+0x5c>
|
||
2d86: 5018 lw a4,32(s0)
|
||
2d88: 4795 li a5,5
|
||
2d8a: 02f71963 bne a4,a5,2dbc <WCHNET_SocketConnect+0x5c>
|
||
2d8e: 545c lw a5,44(s0)
|
||
2d90: 02042a23 sw zero,52(s0)
|
||
2d94: 000026b7 lui a3,0x2
|
||
2d98: c63e sw a5,12(sp)
|
||
2d9a: 3052 lhu a2,36(s0)
|
||
2d9c: 26668693 addi a3,a3,614 # 2266 <LwipTcpConnectedCallBack>
|
||
2da0: 006c addi a1,sp,12
|
||
2da2: 8526 mv a0,s1
|
||
2da4: 43f020ef jal ra,59e2 <tcp_connect>
|
||
2da8: 892a mv s2,a0
|
||
2daa: cd01 beqz a0,2dc2 <WCHNET_SocketConnect+0x62>
|
||
2dac: 8526 mv a0,s1
|
||
2dae: 037020ef jal ra,55e4 <tcp_close>
|
||
2db2: 854a mv a0,s2
|
||
2db4: 02042023 sw zero,32(s0)
|
||
2db8: cf0ff0ef jal ra,22a8 <ErrorEncode>
|
||
2dbc: 0141 addi sp,sp,16
|
||
2dbe: c56fd06f j 214 <__riscv_restore_0>
|
||
2dc2: 0264c783 lbu a5,38(s1)
|
||
2dc6: 4501 li a0,0
|
||
2dc8: fbf7f793 andi a5,a5,-65
|
||
2dcc: 02f48323 sb a5,38(s1)
|
||
2dd0: b7f5 j 2dbc <WCHNET_SocketConnect+0x5c>
|
||
2dd2: 4569 li a0,26
|
||
2dd4: 8082 ret
|
||
|
||
00002dd6 <QueryPingEnable>:
|
||
QueryPingEnable():
|
||
2dd6: 200087b7 lui a5,0x20008
|
||
2dda: 8507a503 lw a0,-1968(a5) # 20007850 <WCHCfg+0x14>
|
||
2dde: 8135 srli a0,a0,0xd
|
||
2de0: 8905 andi a0,a0,1
|
||
2de2: 8082 ret
|
||
|
||
00002de4 <LwipUnreachPort>:
|
||
LwipUnreachPort():
|
||
2de4: 200077b7 lui a5,0x20007
|
||
2de8: 7f878793 addi a5,a5,2040 # 200077f8 <NetInf>
|
||
2dec: 4705 li a4,1
|
||
2dee: 1141 addi sp,sp,-16
|
||
2df0: cbc8 sw a0,20(a5)
|
||
2df2: db94 sw a3,48(a5)
|
||
2df4: dbd0 sw a2,52(a5)
|
||
2df6: df8c sw a1,56(a5)
|
||
2df8: d7d8 sw a4,44(a5)
|
||
2dfa: 0141 addi sp,sp,16
|
||
2dfc: 8082 ret
|
||
|
||
00002dfe <LwipArpCheck>:
|
||
LwipArpCheck():
|
||
2dfe: 200087b7 lui a5,0x20008
|
||
2e02: 4705 li a4,1
|
||
2e04: 82e7aa23 sw a4,-1996(a5) # 20007834 <NetInf+0x3c>
|
||
2e08: 8082 ret
|
||
|
||
00002e0a <find_entry>:
|
||
find_entry():
|
||
2e0a: be6fd2ef jal t0,1f0 <__riscv_save_0>
|
||
2e0e: 200087b7 lui a5,0x20008
|
||
2e12: 8487a603 lw a2,-1976(a5) # 20007848 <WCHCfg+0xc>
|
||
2e16: 8201a683 lw a3,-2016(gp) # 20000040 <arp_table>
|
||
2e1a: 01861713 slli a4,a2,0x18
|
||
2e1e: 8761 srai a4,a4,0x18
|
||
2e20: 14050c63 beqz a0,2f78 <find_entry+0x16e>
|
||
2e24: 8d81c783 lbu a5,-1832(gp) # 200000f8 <etharp_cached_entry>
|
||
2e28: 4861 li a6,24
|
||
2e2a: 4889 li a7,2
|
||
2e2c: 03078833 mul a6,a5,a6
|
||
2e30: 9836 add a6,a6,a3
|
||
2e32: 00c82303 lw t1,12(a6)
|
||
2e36: 15131163 bne t1,a7,2f78 <find_entry+0x16e>
|
||
2e3a: 00154303 lbu t1,1(a0)
|
||
2e3e: 00054883 lbu a7,0(a0)
|
||
2e42: 00082803 lw a6,0(a6)
|
||
2e46: 0322 slli t1,t1,0x8
|
||
2e48: 01136333 or t1,t1,a7
|
||
2e4c: 00254883 lbu a7,2(a0)
|
||
2e50: 08c2 slli a7,a7,0x10
|
||
2e52: 0068e333 or t1,a7,t1
|
||
2e56: 00354883 lbu a7,3(a0)
|
||
2e5a: 08e2 slli a7,a7,0x18
|
||
2e5c: 0068e8b3 or a7,a7,t1
|
||
2e60: 11089c63 bne a7,a6,2f78 <find_entry+0x16e>
|
||
2e64: 07e2 slli a5,a5,0x18
|
||
2e66: 87e1 srai a5,a5,0x18
|
||
2e68: 853e mv a0,a5
|
||
2e6a: baafd06f j 214 <__riscv_restore_0>
|
||
2e6e: 025788b3 mul a7,a5,t0
|
||
2e72: 98b6 add a7,a7,a3
|
||
2e74: 00c8ae03 lw t3,12(a7) # 800c <udp_sendto_if+0xd2>
|
||
2e78: 07061a63 bne a2,a6,2eec <find_entry+0xe2>
|
||
2e7c: 060e1863 bnez t3,2eec <find_entry+0xe2>
|
||
2e80: 01879813 slli a6,a5,0x18
|
||
2e84: 41885813 srai a6,a6,0x18
|
||
2e88: 0785 addi a5,a5,1
|
||
2e8a: 07c2 slli a5,a5,0x10
|
||
2e8c: 83c1 srli a5,a5,0x10
|
||
2e8e: fec7e0e3 bltu a5,a2,2e6e <find_entry+0x64>
|
||
2e92: 01061763 bne a2,a6,2ea0 <find_entry+0x96>
|
||
2e96: 0015f893 andi a7,a1,1
|
||
2e9a: 57fd li a5,-1
|
||
2e9c: fc0886e3 beqz a7,2e68 <find_entry+0x5e>
|
||
2ea0: 8989 andi a1,a1,2
|
||
2ea2: 57fd li a5,-1
|
||
2ea4: f1f1 bnez a1,2e68 <find_entry+0x5e>
|
||
2ea6: 01081793 slli a5,a6,0x10
|
||
2eaa: 00c86b63 bltu a6,a2,2ec0 <find_entry+0xb6>
|
||
2eae: 01031793 slli a5,t1,0x10
|
||
2eb2: 00c36763 bltu t1,a2,2ec0 <find_entry+0xb6>
|
||
2eb6: 57fd li a5,-1
|
||
2eb8: fac778e3 bgeu a4,a2,2e68 <find_entry+0x5e>
|
||
2ebc: 01071793 slli a5,a4,0x10
|
||
2ec0: 83c1 srli a5,a5,0x10
|
||
2ec2: 4761 li a4,24
|
||
2ec4: 02e78733 mul a4,a5,a4
|
||
2ec8: 96ba add a3,a3,a4
|
||
2eca: 0006a623 sw zero,12(a3)
|
||
2ece: cd01 beqz a0,2ee6 <find_entry+0xdc>
|
||
2ed0: 3110 lbu a2,1(a0)
|
||
2ed2: 2118 lbu a4,0(a0)
|
||
2ed4: 0622 slli a2,a2,0x8
|
||
2ed6: 8e59 or a2,a2,a4
|
||
2ed8: 2138 lbu a4,2(a0)
|
||
2eda: 0742 slli a4,a4,0x10
|
||
2edc: 8e59 or a2,a2,a4
|
||
2ede: 3138 lbu a4,3(a0)
|
||
2ee0: 0762 slli a4,a4,0x18
|
||
2ee2: 8f51 or a4,a4,a2
|
||
2ee4: c298 sw a4,0(a3)
|
||
2ee6: 00069823 sh zero,16(a3)
|
||
2eea: a80d j 2f1c <find_entry+0x112>
|
||
2eec: 047e1463 bne t3,t2,2f34 <find_entry+0x12a>
|
||
2ef0: c90d beqz a0,2f22 <find_entry+0x118>
|
||
2ef2: 00154e83 lbu t4,1(a0)
|
||
2ef6: 00054e03 lbu t3,0(a0)
|
||
2efa: 0ea2 slli t4,t4,0x8
|
||
2efc: 01ceeeb3 or t4,t4,t3
|
||
2f00: 00254e03 lbu t3,2(a0)
|
||
2f04: 0e42 slli t3,t3,0x10
|
||
2f06: 01de6eb3 or t4,t3,t4
|
||
2f0a: 00354e03 lbu t3,3(a0)
|
||
2f0e: 0e62 slli t3,t3,0x18
|
||
2f10: 01de6e33 or t3,t3,t4
|
||
2f14: 0008ae83 lw t4,0(a7)
|
||
2f18: 01de1563 bne t3,t4,2f22 <find_entry+0x118>
|
||
2f1c: 8cf18c23 sb a5,-1832(gp) # 200000f8 <etharp_cached_entry>
|
||
2f20: b791 j 2e64 <find_entry+0x5a>
|
||
2f22: 0108d883 lhu a7,16(a7)
|
||
2f26: f7e8e1e3 bltu a7,t5,2e88 <find_entry+0x7e>
|
||
2f2a: 01879713 slli a4,a5,0x18
|
||
2f2e: 8761 srai a4,a4,0x18
|
||
2f30: 8f46 mv t5,a7
|
||
2f32: bf99 j 2e88 <find_entry+0x7e>
|
||
2f34: f48e1ae3 bne t3,s0,2e88 <find_entry+0x7e>
|
||
2f38: c515 beqz a0,2f64 <find_entry+0x15a>
|
||
2f3a: 00154e83 lbu t4,1(a0)
|
||
2f3e: 00054e03 lbu t3,0(a0)
|
||
2f42: 0ea2 slli t4,t4,0x8
|
||
2f44: 01ceeeb3 or t4,t4,t3
|
||
2f48: 00254e03 lbu t3,2(a0)
|
||
2f4c: 0e42 slli t3,t3,0x10
|
||
2f4e: 01de6eb3 or t4,t3,t4
|
||
2f52: 00354e03 lbu t3,3(a0)
|
||
2f56: 0e62 slli t3,t3,0x18
|
||
2f58: 01de6e33 or t3,t3,t4
|
||
2f5c: 0008ae83 lw t4,0(a7)
|
||
2f60: fbde0ee3 beq t3,t4,2f1c <find_entry+0x112>
|
||
2f64: 0108d883 lhu a7,16(a7)
|
||
2f68: f3f8e0e3 bltu a7,t6,2e88 <find_entry+0x7e>
|
||
2f6c: 01879313 slli t1,a5,0x18
|
||
2f70: 41835313 srai t1,t1,0x18
|
||
2f74: 8fc6 mv t6,a7
|
||
2f76: bf09 j 2e88 <find_entry+0x7e>
|
||
2f78: 883a mv a6,a4
|
||
2f7a: 833a mv t1,a4
|
||
2f7c: 4f81 li t6,0
|
||
2f7e: 4f01 li t5,0
|
||
2f80: 4781 li a5,0
|
||
2f82: 42e1 li t0,24
|
||
2f84: 4385 li t2,1
|
||
2f86: 4409 li s0,2
|
||
2f88: b719 j 2e8e <find_entry+0x84>
|
||
|
||
00002f8a <update_arp_entry>:
|
||
update_arp_entry():
|
||
2f8a: a4cfd2ef jal t0,1d6 <__riscv_save_4>
|
||
2f8e: 3198 lbu a4,1(a1)
|
||
2f90: 219c lbu a5,0(a1)
|
||
2f92: 8a36 mv s4,a3
|
||
2f94: 0722 slli a4,a4,0x8
|
||
2f96: 8f5d or a4,a4,a5
|
||
2f98: 21bc lbu a5,2(a1)
|
||
2f9a: 4154 lw a3,4(a0)
|
||
2f9c: 07c2 slli a5,a5,0x10
|
||
2f9e: 8f5d or a4,a4,a5
|
||
2fa0: 31bc lbu a5,3(a1)
|
||
2fa2: 07e2 slli a5,a5,0x18
|
||
2fa4: 8fd9 or a5,a5,a4
|
||
2fa6: 00f69b63 bne a3,a5,2fbc <update_arp_entry+0x32>
|
||
2faa: e689 bnez a3,2fb4 <update_arp_entry+0x2a>
|
||
2fac: 57d9 li a5,-10
|
||
2fae: 853e mv a0,a5
|
||
2fb0: a5afd06f j 20a <__riscv_restore_4>
|
||
2fb4: 4505 li a0,1
|
||
2fb6: fd1fe0ef jal ra,1f86 <IPConflictHandle>
|
||
2fba: bfcd j 2fac <update_arp_entry+0x22>
|
||
2fbc: dbe5 beqz a5,2fac <update_arp_entry+0x22>
|
||
2fbe: 842e mv s0,a1
|
||
2fc0: 892a mv s2,a0
|
||
2fc2: 85aa mv a1,a0
|
||
2fc4: 8522 mv a0,s0
|
||
2fc6: 89b2 mv s3,a2
|
||
2fc8: 4b9000ef jal ra,3c80 <ip_addr_isbroadcast>
|
||
2fcc: f165 bnez a0,2fac <update_arp_entry+0x22>
|
||
2fce: 301c lbu a5,1(s0)
|
||
2fd0: 2004 lbu s1,0(s0)
|
||
2fd2: f0000537 lui a0,0xf0000
|
||
2fd6: 07a2 slli a5,a5,0x8
|
||
2fd8: 8fc5 or a5,a5,s1
|
||
2fda: 2024 lbu s1,2(s0)
|
||
2fdc: 04c2 slli s1,s1,0x10
|
||
2fde: 8fc5 or a5,a5,s1
|
||
2fe0: 3024 lbu s1,3(s0)
|
||
2fe2: 04e2 slli s1,s1,0x18
|
||
2fe4: 8cdd or s1,s1,a5
|
||
2fe6: 019000ef jal ra,37fe <ntohl>
|
||
2fea: 8ce9 and s1,s1,a0
|
||
2fec: e0000537 lui a0,0xe0000
|
||
2ff0: 00f000ef jal ra,37fe <ntohl>
|
||
2ff4: faa48ce3 beq s1,a0,2fac <update_arp_entry+0x22>
|
||
2ff8: 85d2 mv a1,s4
|
||
2ffa: 8522 mv a0,s0
|
||
2ffc: e0fff0ef jal ra,2e0a <find_entry>
|
||
3000: 87aa mv a5,a0
|
||
3002: fa0546e3 bltz a0,2fae <update_arp_entry+0x24>
|
||
3006: 47e1 li a5,24
|
||
3008: 02f507b3 mul a5,a0,a5
|
||
300c: 8201a503 lw a0,-2016(gp) # 20000040 <arp_table>
|
||
3010: 953e add a0,a0,a5
|
||
3012: 4789 li a5,2
|
||
3014: c55c sw a5,12(a0)
|
||
3016: 01252a23 sw s2,20(a0) # e0000014 <_eusrstack+0xbffe0014>
|
||
301a: 00598793 addi a5,s3,5
|
||
301e: 00950713 addi a4,a0,9
|
||
3022: 2394 lbu a3,0(a5)
|
||
3024: 177d addi a4,a4,-1
|
||
3026: b314 sb a3,1(a4)
|
||
3028: fff78693 addi a3,a5,-1
|
||
302c: 00f99663 bne s3,a5,3038 <update_arp_entry+0xae>
|
||
3030: 00051823 sh zero,16(a0)
|
||
3034: 4781 li a5,0
|
||
3036: bfa5 j 2fae <update_arp_entry+0x24>
|
||
3038: 87b6 mv a5,a3
|
||
303a: b7e5 j 3022 <update_arp_entry+0x98>
|
||
|
||
0000303c <etharp_ip_input>:
|
||
etharp_ip_input():
|
||
303c: cd21 beqz a0,3094 <etharp_ip_input+0x58>
|
||
303e: 9b2fd2ef jal t0,1f0 <__riscv_save_0>
|
||
3042: 41c4 lw s1,4(a1)
|
||
3044: 842a mv s0,a0
|
||
3046: 34dc lbu a5,13(s1)
|
||
3048: 24c8 lbu a0,12(s1)
|
||
304a: 07a2 slli a5,a5,0x8
|
||
304c: 8d5d or a0,a0,a5
|
||
304e: 770000ef jal ra,37be <htons>
|
||
3052: 67a1 lui a5,0x8
|
||
3054: 10078793 addi a5,a5,256 # 8100 <icmp_send_response.isra.0+0x8>
|
||
3058: 01248593 addi a1,s1,18
|
||
305c: 00f50463 beq a0,a5,3064 <etharp_ip_input+0x28>
|
||
3060: 00e48593 addi a1,s1,14
|
||
3064: 35d8 lbu a4,13(a1)
|
||
3066: 25dc lbu a5,12(a1)
|
||
3068: 0722 slli a4,a4,0x8
|
||
306a: 8f5d or a4,a4,a5
|
||
306c: 25fc lbu a5,14(a1)
|
||
306e: 07c2 slli a5,a5,0x10
|
||
3070: 8f5d or a4,a4,a5
|
||
3072: 35fc lbu a5,15(a1)
|
||
3074: 07e2 slli a5,a5,0x18
|
||
3076: 8fd9 or a5,a5,a4
|
||
3078: 4058 lw a4,4(s0)
|
||
307a: 8fb9 xor a5,a5,a4
|
||
307c: 4418 lw a4,8(s0)
|
||
307e: 8ff9 and a5,a5,a4
|
||
3080: eb81 bnez a5,3090 <etharp_ip_input+0x54>
|
||
3082: 4681 li a3,0
|
||
3084: 00648613 addi a2,s1,6
|
||
3088: 05b1 addi a1,a1,12
|
||
308a: 8522 mv a0,s0
|
||
308c: effff0ef jal ra,2f8a <update_arp_entry>
|
||
3090: 984fd06f j 214 <__riscv_restore_0>
|
||
3094: 8082 ret
|
||
|
||
00003096 <etharp_arp_input>:
|
||
etharp_arp_input():
|
||
3096: 16050763 beqz a0,3204 <etharp_arp_input+0x16e>
|
||
309a: 93cfd2ef jal t0,1d6 <__riscv_save_4>
|
||
309e: 263a lhu a4,10(a2)
|
||
30a0: 02900793 li a5,41
|
||
30a4: 1141 addi sp,sp,-16
|
||
30a6: 89b2 mv s3,a2
|
||
30a8: 8a2e mv s4,a1
|
||
30aa: 84aa mv s1,a0
|
||
30ac: 00e7e863 bltu a5,a4,30bc <etharp_arp_input+0x26>
|
||
30b0: 854e mv a0,s3
|
||
30b2: 2fd010ef jal ra,4bae <pbuf_free>
|
||
30b6: 0141 addi sp,sp,16
|
||
30b8: 952fd06f j 20a <__riscv_restore_4>
|
||
30bc: 00462903 lw s2,4(a2)
|
||
30c0: 00d94783 lbu a5,13(s2)
|
||
30c4: 00c94503 lbu a0,12(s2)
|
||
30c8: 01290413 addi s0,s2,18
|
||
30cc: 07a2 slli a5,a5,0x8
|
||
30ce: 8d5d or a0,a0,a5
|
||
30d0: 6ee000ef jal ra,37be <htons>
|
||
30d4: 67a1 lui a5,0x8
|
||
30d6: 10078793 addi a5,a5,256 # 8100 <icmp_send_response.isra.0+0x8>
|
||
30da: 00f50463 beq a0,a5,30e2 <etharp_arp_input+0x4c>
|
||
30de: 00e90413 addi s0,s2,14
|
||
30e2: 00144a83 lbu s5,1(s0)
|
||
30e6: 201c lbu a5,0(s0)
|
||
30e8: 4505 li a0,1
|
||
30ea: 0aa2 slli s5,s5,0x8
|
||
30ec: 00faeab3 or s5,s5,a5
|
||
30f0: 6ce000ef jal ra,37be <htons>
|
||
30f4: faaa9ee3 bne s5,a0,30b0 <etharp_arp_input+0x1a>
|
||
30f8: 00544a83 lbu s5,5(s0)
|
||
30fc: 205c lbu a5,4(s0)
|
||
30fe: 60400513 li a0,1540
|
||
3102: 0aa2 slli s5,s5,0x8
|
||
3104: 00faeab3 or s5,s5,a5
|
||
3108: 6b6000ef jal ra,37be <htons>
|
||
310c: faaa92e3 bne s5,a0,30b0 <etharp_arp_input+0x1a>
|
||
3110: 00344a83 lbu s5,3(s0)
|
||
3114: 203c lbu a5,2(s0)
|
||
3116: 6505 lui a0,0x1
|
||
3118: 0aa2 slli s5,s5,0x8
|
||
311a: 80050513 addi a0,a0,-2048 # 800 <__stack_size>
|
||
311e: 00faeab3 or s5,s5,a5
|
||
3122: 69c000ef jal ra,37be <htons>
|
||
3126: f8aa95e3 bne s5,a0,30b0 <etharp_arp_input+0x1a>
|
||
312a: 00e40a93 addi s5,s0,14
|
||
312e: 4611 li a2,4
|
||
3130: 85d6 mv a1,s5
|
||
3132: 0068 addi a0,sp,12
|
||
3134: 283050ef jal ra,8bb6 <memcpy>
|
||
3138: 40d4 lw a3,4(s1)
|
||
313a: 00840613 addi a2,s0,8
|
||
313e: c2ad beqz a3,31a0 <etharp_arp_input+0x10a>
|
||
3140: 3c18 lbu a4,25(s0)
|
||
3142: 2c1c lbu a5,24(s0)
|
||
3144: 0722 slli a4,a4,0x8
|
||
3146: 8f5d or a4,a4,a5
|
||
3148: 2c3c lbu a5,26(s0)
|
||
314a: 07c2 slli a5,a5,0x10
|
||
314c: 8f5d or a4,a4,a5
|
||
314e: 3c3c lbu a5,27(s0)
|
||
3150: 07e2 slli a5,a5,0x18
|
||
3152: 8fd9 or a5,a5,a4
|
||
3154: 04f69663 bne a3,a5,31a0 <etharp_arp_input+0x10a>
|
||
3158: 4685 li a3,1
|
||
315a: 006c addi a1,sp,12
|
||
315c: 8526 mv a0,s1
|
||
315e: e2dff0ef jal ra,2f8a <update_arp_entry>
|
||
3162: 4b05 li s6,1
|
||
3164: 307c lbu a5,7(s0)
|
||
3166: 2068 lbu a0,6(s0)
|
||
3168: 07a2 slli a5,a5,0x8
|
||
316a: 8d5d or a0,a0,a5
|
||
316c: 2d89 jal 37be <htons>
|
||
316e: 4785 li a5,1
|
||
3170: 02f50f63 beq a0,a5,31ae <etharp_arp_input+0x118>
|
||
3174: 4789 li a5,2
|
||
3176: f2f51de3 bne a0,a5,30b0 <etharp_arp_input+0x1a>
|
||
317a: 006c addi a1,sp,12
|
||
317c: 8526 mv a0,s1
|
||
317e: 3f8010ef jal ra,4576 <dhcp_arp_reply>
|
||
3182: 200077b7 lui a5,0x20007
|
||
3186: 7807a703 lw a4,1920(a5) # 20007780 <DHCPCtrl>
|
||
318a: f20703e3 beqz a4,30b0 <etharp_arp_input+0x1a>
|
||
318e: 78078793 addi a5,a5,1920
|
||
3192: 47dc lw a5,12(a5)
|
||
3194: f0078ee3 beqz a5,30b0 <etharp_arp_input+0x1a>
|
||
3198: 006c addi a1,sp,12
|
||
319a: 8526 mv a0,s1
|
||
319c: 9782 jalr a5
|
||
319e: bf09 j 30b0 <etharp_arp_input+0x1a>
|
||
31a0: 4681 li a3,0
|
||
31a2: 006c addi a1,sp,12
|
||
31a4: 8526 mv a0,s1
|
||
31a6: de5ff0ef jal ra,2f8a <update_arp_entry>
|
||
31aa: 4b01 li s6,0
|
||
31ac: bf65 j 3164 <etharp_arp_input+0xce>
|
||
31ae: f00b01e3 beqz s6,30b0 <etharp_arp_input+0x1a>
|
||
31b2: 4509 li a0,2
|
||
31b4: 2529 jal 37be <htons>
|
||
31b6: a068 sb a0,6(s0)
|
||
31b8: 8121 srli a0,a0,0x8
|
||
31ba: b068 sb a0,7(s0)
|
||
31bc: 4611 li a2,4
|
||
31be: 85d6 mv a1,s5
|
||
31c0: 01840513 addi a0,s0,24
|
||
31c4: 1f3050ef jal ra,8bb6 <memcpy>
|
||
31c8: 4611 li a2,4
|
||
31ca: 00448593 addi a1,s1,4
|
||
31ce: 8556 mv a0,s5
|
||
31d0: 1e7050ef jal ra,8bb6 <memcpy>
|
||
31d4: 0435 addi s0,s0,13
|
||
31d6: 0915 addi s2,s2,5
|
||
31d8: 4795 li a5,5
|
||
31da: 56fd li a3,-1
|
||
31dc: 2018 lbu a4,0(s0)
|
||
31de: 197d addi s2,s2,-1
|
||
31e0: 147d addi s0,s0,-1
|
||
31e2: b438 sb a4,11(s0)
|
||
31e4: 00e900a3 sb a4,1(s2)
|
||
31e8: 00fa0733 add a4,s4,a5
|
||
31ec: 2318 lbu a4,0(a4)
|
||
31ee: 17fd addi a5,a5,-1
|
||
31f0: b018 sb a4,1(s0)
|
||
31f2: 00e903a3 sb a4,7(s2)
|
||
31f6: fed793e3 bne a5,a3,31dc <etharp_arp_input+0x146>
|
||
31fa: 4c9c lw a5,24(s1)
|
||
31fc: 85ce mv a1,s3
|
||
31fe: 8526 mv a0,s1
|
||
3200: 9782 jalr a5
|
||
3202: b57d j 30b0 <etharp_arp_input+0x1a>
|
||
3204: 8082 ret
|
||
|
||
00003206 <etharp_request>:
|
||
etharp_request():
|
||
3206: fd1fc2ef jal t0,1d6 <__riscv_save_4>
|
||
320a: 892a mv s2,a0
|
||
320c: 89ae mv s3,a1
|
||
320e: 4601 li a2,0
|
||
3210: 02a00593 li a1,42
|
||
3214: 450d li a0,3
|
||
3216: 1e7010ef jal ra,4bfc <pbuf_alloc>
|
||
321a: 547d li s0,-1
|
||
321c: c94d beqz a0,32ce <etharp_request+0xc8>
|
||
321e: 4140 lw s0,4(a0)
|
||
3220: 84aa mv s1,a0
|
||
3222: 4505 li a0,1
|
||
3224: 2b69 jal 37be <htons>
|
||
3226: a848 sb a0,20(s0)
|
||
3228: 8121 srli a0,a0,0x8
|
||
322a: b848 sb a0,21(s0)
|
||
322c: 02e90693 addi a3,s2,46
|
||
3230: 00540793 addi a5,s0,5
|
||
3234: 4715 li a4,5
|
||
3236: 83c18593 addi a1,gp,-1988 # 2000005c <ethzero>
|
||
323a: 83418613 addi a2,gp,-1996 # 20000054 <ethbroadcast>
|
||
323e: 557d li a0,-1
|
||
3240: 0006c803 lbu a6,0(a3)
|
||
3244: 17fd addi a5,a5,-1
|
||
3246: 16fd addi a3,a3,-1
|
||
3248: 01078ba3 sb a6,23(a5)
|
||
324c: 00e58833 add a6,a1,a4
|
||
3250: 00084803 lbu a6,0(a6)
|
||
3254: 030780a3 sb a6,33(a5)
|
||
3258: 00e60833 add a6,a2,a4
|
||
325c: 00084803 lbu a6,0(a6)
|
||
3260: 177d addi a4,a4,-1
|
||
3262: 010780a3 sb a6,1(a5)
|
||
3266: 0016c803 lbu a6,1(a3)
|
||
326a: 010783a3 sb a6,7(a5)
|
||
326e: fca719e3 bne a4,a0,3240 <etharp_request+0x3a>
|
||
3272: 4611 li a2,4
|
||
3274: 00490593 addi a1,s2,4
|
||
3278: 01c40513 addi a0,s0,28
|
||
327c: 13b050ef jal ra,8bb6 <memcpy>
|
||
3280: 85ce mv a1,s3
|
||
3282: 4611 li a2,4
|
||
3284: 02640513 addi a0,s0,38
|
||
3288: 12f050ef jal ra,8bb6 <memcpy>
|
||
328c: 4505 li a0,1
|
||
328e: 2b05 jal 37be <htons>
|
||
3290: a468 sb a0,14(s0)
|
||
3292: 6985 lui s3,0x1
|
||
3294: 8121 srli a0,a0,0x8
|
||
3296: b468 sb a0,15(s0)
|
||
3298: 80098513 addi a0,s3,-2048 # 800 <__stack_size>
|
||
329c: 230d jal 37be <htons>
|
||
329e: a808 sb a0,16(s0)
|
||
32a0: 8121 srli a0,a0,0x8
|
||
32a2: b808 sb a0,17(s0)
|
||
32a4: 60400513 li a0,1540
|
||
32a8: 2b19 jal 37be <htons>
|
||
32aa: a828 sb a0,18(s0)
|
||
32ac: 8121 srli a0,a0,0x8
|
||
32ae: b828 sb a0,19(s0)
|
||
32b0: 80698513 addi a0,s3,-2042
|
||
32b4: 2329 jal 37be <htons>
|
||
32b6: 01892783 lw a5,24(s2)
|
||
32ba: a448 sb a0,12(s0)
|
||
32bc: 8121 srli a0,a0,0x8
|
||
32be: b448 sb a0,13(s0)
|
||
32c0: 85a6 mv a1,s1
|
||
32c2: 854a mv a0,s2
|
||
32c4: 9782 jalr a5
|
||
32c6: 842a mv s0,a0
|
||
32c8: 8526 mv a0,s1
|
||
32ca: 0e5010ef jal ra,4bae <pbuf_free>
|
||
32ce: 8522 mv a0,s0
|
||
32d0: f3bfc06f j 20a <__riscv_restore_4>
|
||
|
||
000032d4 <etharp_tmr>:
|
||
etharp_tmr():
|
||
32d4: ef5fc2ef jal t0,1c8 <__riscv_save_10>
|
||
32d8: 200084b7 lui s1,0x20008
|
||
32dc: 4401 li s0,0
|
||
32de: 83c48493 addi s1,s1,-1988 # 2000783c <WCHCfg>
|
||
32e2: 4ae1 li s5,24
|
||
32e4: 4b89 li s7,2
|
||
32e6: 4c05 li s8,1
|
||
32e8: 0ff00c93 li s9,255
|
||
32ec: 44dc lw a5,12(s1)
|
||
32ee: 00f46463 bltu s0,a5,32f6 <etharp_tmr+0x22>
|
||
32f2: f0ffc06f j 200 <__riscv_restore_10>
|
||
32f6: 03540933 mul s2,s0,s5
|
||
32fa: 82018993 addi s3,gp,-2016 # 20000040 <arp_table>
|
||
32fe: 0009a583 lw a1,0(s3)
|
||
3302: 95ca add a1,a1,s2
|
||
3304: 299e lhu a5,16(a1)
|
||
3306: 45d8 lw a4,12(a1)
|
||
3308: 0785 addi a5,a5,1
|
||
330a: 07c2 slli a5,a5,0x10
|
||
330c: 83c1 srli a5,a5,0x10
|
||
330e: a99e sh a5,16(a1)
|
||
3310: 01771a63 bne a4,s7,3324 <etharp_tmr+0x50>
|
||
3314: 8c61d703 lhu a4,-1850(gp) # 200000e6 <Arp_Entry_timeout>
|
||
3318: 00e7fc63 bgeu a5,a4,3330 <etharp_tmr+0x5c>
|
||
331c: 0405 addi s0,s0,1
|
||
331e: 0ff47413 andi s0,s0,255
|
||
3322: b7e9 j 32ec <etharp_tmr+0x18>
|
||
3324: ff871ce3 bne a4,s8,331c <etharp_tmr+0x48>
|
||
3328: 8c41c703 lbu a4,-1852(gp) # 200000e4 <ARP_Retry_Cnt>
|
||
332c: 00f77563 bgeu a4,a5,3336 <etharp_tmr+0x62>
|
||
3330: 0005a623 sw zero,12(a1)
|
||
3334: b7e5 j 331c <etharp_tmr+0x48>
|
||
3336: 49c8 lw a0,20(a1)
|
||
3338: ecfff0ef jal ra,3206 <etharp_request>
|
||
333c: 8c41c783 lbu a5,-1852(gp) # 200000e4 <ARP_Retry_Cnt>
|
||
3340: fd979ee3 bne a5,s9,331c <etharp_tmr+0x48>
|
||
3344: 0009a783 lw a5,0(s3)
|
||
3348: 97ca add a5,a5,s2
|
||
334a: 00079823 sh zero,16(a5)
|
||
334e: b7f9 j 331c <etharp_tmr+0x48>
|
||
|
||
00003350 <etharp_query>:
|
||
etharp_query():
|
||
3350: e87fc2ef jal t0,1d6 <__riscv_save_4>
|
||
3354: 842e mv s0,a1
|
||
3356: 1141 addi sp,sp,-16
|
||
3358: 892a mv s2,a0
|
||
335a: 85aa mv a1,a0
|
||
335c: 8522 mv a0,s0
|
||
335e: 89b2 mv s3,a2
|
||
3360: 121000ef jal ra,3c80 <ip_addr_isbroadcast>
|
||
3364: c509 beqz a0,336e <etharp_query+0x1e>
|
||
3366: 5559 li a0,-10
|
||
3368: 0141 addi sp,sp,16
|
||
336a: ea1fc06f j 20a <__riscv_restore_4>
|
||
336e: 301c lbu a5,1(s0)
|
||
3370: 2004 lbu s1,0(s0)
|
||
3372: f0000537 lui a0,0xf0000
|
||
3376: 07a2 slli a5,a5,0x8
|
||
3378: 8fc5 or a5,a5,s1
|
||
337a: 2024 lbu s1,2(s0)
|
||
337c: 04c2 slli s1,s1,0x10
|
||
337e: 8fc5 or a5,a5,s1
|
||
3380: 3024 lbu s1,3(s0)
|
||
3382: 04e2 slli s1,s1,0x18
|
||
3384: 8cdd or s1,s1,a5
|
||
3386: 29a5 jal 37fe <ntohl>
|
||
3388: 8ce9 and s1,s1,a0
|
||
338a: e0000537 lui a0,0xe0000
|
||
338e: 2985 jal 37fe <ntohl>
|
||
3390: fca48be3 beq s1,a0,3366 <etharp_query+0x16>
|
||
3394: 3018 lbu a4,1(s0)
|
||
3396: 201c lbu a5,0(s0)
|
||
3398: 0722 slli a4,a4,0x8
|
||
339a: 8f5d or a4,a4,a5
|
||
339c: 203c lbu a5,2(s0)
|
||
339e: 07c2 slli a5,a5,0x10
|
||
33a0: 8f5d or a4,a4,a5
|
||
33a2: 303c lbu a5,3(s0)
|
||
33a4: 07e2 slli a5,a5,0x18
|
||
33a6: 8fd9 or a5,a5,a4
|
||
33a8: dfdd beqz a5,3366 <etharp_query+0x16>
|
||
33aa: 4585 li a1,1
|
||
33ac: 8522 mv a0,s0
|
||
33ae: a5dff0ef jal ra,2e0a <find_entry>
|
||
33b2: fa054be3 bltz a0,3368 <etharp_query+0x18>
|
||
33b6: 47e1 li a5,24
|
||
33b8: 02f504b3 mul s1,a0,a5
|
||
33bc: 8201a783 lw a5,-2016(gp) # 20000040 <arp_table>
|
||
33c0: 82018a13 addi s4,gp,-2016 # 20000040 <arp_table>
|
||
33c4: 97a6 add a5,a5,s1
|
||
33c6: 47d8 lw a4,12(a5)
|
||
33c8: c711 beqz a4,33d4 <etharp_query+0x84>
|
||
33ca: 557d li a0,-1
|
||
33cc: 02099b63 bnez s3,3402 <etharp_query+0xb2>
|
||
33d0: 4a81 li s5,0
|
||
33d2: a031 j 33de <etharp_query+0x8e>
|
||
33d4: 4705 li a4,1
|
||
33d6: c7d8 sw a4,12(a5)
|
||
33d8: 0127aa23 sw s2,20(a5)
|
||
33dc: 4a85 li s5,1
|
||
33de: a21ff0ef jal ra,2dfe <LwipArpCheck>
|
||
33e2: 85a2 mv a1,s0
|
||
33e4: 854a mv a0,s2
|
||
33e6: e21ff0ef jal ra,3206 <etharp_request>
|
||
33ea: ed01 bnez a0,3402 <etharp_query+0xb2>
|
||
33ec: 000a2783 lw a5,0(s4)
|
||
33f0: 4705 li a4,1
|
||
33f2: 97a6 add a5,a5,s1
|
||
33f4: 47d4 lw a3,12(a5)
|
||
33f6: 00e69663 bne a3,a4,3402 <etharp_query+0xb2>
|
||
33fa: 000a9463 bnez s5,3402 <etharp_query+0xb2>
|
||
33fe: 00079823 sh zero,16(a5)
|
||
3402: 000a2783 lw a5,0(s4)
|
||
3406: 97a6 add a5,a5,s1
|
||
3408: 47d8 lw a4,12(a5)
|
||
340a: 4785 li a5,1
|
||
340c: 00f71663 bne a4,a5,3418 <etharp_query+0xc8>
|
||
3410: c62a sw a0,12(sp)
|
||
3412: 9edff0ef jal ra,2dfe <LwipArpCheck>
|
||
3416: 4532 lw a0,12(sp)
|
||
3418: f40988e3 beqz s3,3368 <etharp_query+0x18>
|
||
341c: 000a2783 lw a5,0(s4)
|
||
3420: 4709 li a4,2
|
||
3422: 97a6 add a5,a5,s1
|
||
3424: 47d4 lw a3,12(a5)
|
||
3426: f4e691e3 bne a3,a4,3368 <etharp_query+0x18>
|
||
342a: 0049a403 lw s0,4(s3)
|
||
342e: 00978713 addi a4,a5,9
|
||
3432: 02e90613 addi a2,s2,46
|
||
3436: 00540693 addi a3,s0,5
|
||
343a: 078d addi a5,a5,3
|
||
343c: 230c lbu a1,0(a4)
|
||
343e: 177d addi a4,a4,-1
|
||
3440: 16fd addi a3,a3,-1
|
||
3442: b28c sb a1,1(a3)
|
||
3444: 220c lbu a1,0(a2)
|
||
3446: 167d addi a2,a2,-1
|
||
3448: b2ec sb a1,7(a3)
|
||
344a: fef719e3 bne a4,a5,343c <etharp_query+0xec>
|
||
344e: 6505 lui a0,0x1
|
||
3450: 80050513 addi a0,a0,-2048 # 800 <__stack_size>
|
||
3454: 26ad jal 37be <htons>
|
||
3456: 01892783 lw a5,24(s2)
|
||
345a: a448 sb a0,12(s0)
|
||
345c: 8121 srli a0,a0,0x8
|
||
345e: b448 sb a0,13(s0)
|
||
3460: 85ce mv a1,s3
|
||
3462: 854a mv a0,s2
|
||
3464: 9782 jalr a5
|
||
3466: b709 j 3368 <etharp_query+0x18>
|
||
|
||
00003468 <etharp_output>:
|
||
etharp_output():
|
||
3468: d6ffc2ef jal t0,1d6 <__riscv_save_4>
|
||
346c: 84ae mv s1,a1
|
||
346e: 1141 addi sp,sp,-16
|
||
3470: 892a mv s2,a0
|
||
3472: 45b9 li a1,14
|
||
3474: 8526 mv a0,s1
|
||
3476: 8432 mv s0,a2
|
||
3478: 6c8010ef jal ra,4b40 <pbuf_header>
|
||
347c: 10051e63 bnez a0,3598 <etharp_output+0x130>
|
||
3480: 85ca mv a1,s2
|
||
3482: 8522 mv a0,s0
|
||
3484: 7fc000ef jal ra,3c80 <ip_addr_isbroadcast>
|
||
3488: 10051563 bnez a0,3592 <etharp_output+0x12a>
|
||
348c: 301c lbu a5,1(s0)
|
||
348e: 00044983 lbu s3,0(s0)
|
||
3492: f0000537 lui a0,0xf0000
|
||
3496: 07a2 slli a5,a5,0x8
|
||
3498: 0137e7b3 or a5,a5,s3
|
||
349c: 00244983 lbu s3,2(s0)
|
||
34a0: 09c2 slli s3,s3,0x10
|
||
34a2: 00f9e7b3 or a5,s3,a5
|
||
34a6: 00344983 lbu s3,3(s0)
|
||
34aa: 09e2 slli s3,s3,0x18
|
||
34ac: 00f9e9b3 or s3,s3,a5
|
||
34b0: 26b9 jal 37fe <ntohl>
|
||
34b2: 00a9f9b3 and s3,s3,a0
|
||
34b6: e0000537 lui a0,0xe0000
|
||
34ba: 2691 jal 37fe <ntohl>
|
||
34bc: 2010 lbu a2,0(s0)
|
||
34be: 3014 lbu a3,1(s0)
|
||
34c0: 2038 lbu a4,2(s0)
|
||
34c2: 303c lbu a5,3(s0)
|
||
34c4: 08a99c63 bne s3,a0,355c <etharp_output+0xf4>
|
||
34c8: 00869513 slli a0,a3,0x8
|
||
34cc: 8d51 or a0,a0,a2
|
||
34ce: 0742 slli a4,a4,0x10
|
||
34d0: 8d59 or a0,a0,a4
|
||
34d2: 07e2 slli a5,a5,0x18
|
||
34d4: 4585 li a1,1
|
||
34d6: 846c sh a1,8(sp)
|
||
34d8: 8d5d or a0,a0,a5
|
||
34da: 05e00593 li a1,94
|
||
34de: 854c sb a1,10(sp)
|
||
34e0: 2e39 jal 37fe <ntohl>
|
||
34e2: 8141 srli a0,a0,0x10
|
||
34e4: 07f57513 andi a0,a0,127
|
||
34e8: 85c8 sb a0,11(sp)
|
||
34ea: 3008 lbu a0,1(s0)
|
||
34ec: 201c lbu a5,0(s0)
|
||
34ee: 0522 slli a0,a0,0x8
|
||
34f0: 8d5d or a0,a0,a5
|
||
34f2: 203c lbu a5,2(s0)
|
||
34f4: 07c2 slli a5,a5,0x10
|
||
34f6: 8fc9 or a5,a5,a0
|
||
34f8: 3028 lbu a0,3(s0)
|
||
34fa: 0562 slli a0,a0,0x18
|
||
34fc: 8d5d or a0,a0,a5
|
||
34fe: 2601 jal 37fe <ntohl>
|
||
3500: 8121 srli a0,a0,0x8
|
||
3502: 8648 sb a0,12(sp)
|
||
3504: 3008 lbu a0,1(s0)
|
||
3506: 201c lbu a5,0(s0)
|
||
3508: 0522 slli a0,a0,0x8
|
||
350a: 8d5d or a0,a0,a5
|
||
350c: 203c lbu a5,2(s0)
|
||
350e: 07c2 slli a5,a5,0x10
|
||
3510: 8fc9 or a5,a5,a0
|
||
3512: 3028 lbu a0,3(s0)
|
||
3514: 0562 slli a0,a0,0x18
|
||
3516: 8d5d or a0,a0,a5
|
||
3518: 24dd jal 37fe <ntohl>
|
||
351a: 86c8 sb a0,13(sp)
|
||
351c: 0034 addi a3,sp,8
|
||
351e: 40c0 lw s0,4(s1)
|
||
3520: 4795 li a5,5
|
||
3522: 567d li a2,-1
|
||
3524: 00540713 addi a4,s0,5
|
||
3528: 00f685b3 add a1,a3,a5
|
||
352c: 218c lbu a1,0(a1)
|
||
352e: 177d addi a4,a4,-1
|
||
3530: b30c sb a1,1(a4)
|
||
3532: 00f905b3 add a1,s2,a5
|
||
3536: 0295c583 lbu a1,41(a1)
|
||
353a: 17fd addi a5,a5,-1
|
||
353c: b36c sb a1,7(a4)
|
||
353e: fec795e3 bne a5,a2,3528 <etharp_output+0xc0>
|
||
3542: 6505 lui a0,0x1
|
||
3544: 80050513 addi a0,a0,-2048 # 800 <__stack_size>
|
||
3548: 2c9d jal 37be <htons>
|
||
354a: 01892783 lw a5,24(s2)
|
||
354e: a448 sb a0,12(s0)
|
||
3550: 8121 srli a0,a0,0x8
|
||
3552: b448 sb a0,13(s0)
|
||
3554: 85a6 mv a1,s1
|
||
3556: 854a mv a0,s2
|
||
3558: 9782 jalr a5
|
||
355a: a80d j 358c <etharp_output+0x124>
|
||
355c: 06a2 slli a3,a3,0x8
|
||
355e: 8ed1 or a3,a3,a2
|
||
3560: 0742 slli a4,a4,0x10
|
||
3562: 8f55 or a4,a4,a3
|
||
3564: 07e2 slli a5,a5,0x18
|
||
3566: 8fd9 or a5,a5,a4
|
||
3568: 00492703 lw a4,4(s2)
|
||
356c: 8fb9 xor a5,a5,a4
|
||
356e: 00892703 lw a4,8(s2)
|
||
3572: 8ff9 and a5,a5,a4
|
||
3574: c799 beqz a5,3582 <etharp_output+0x11a>
|
||
3576: 00c92783 lw a5,12(s2)
|
||
357a: 5571 li a0,-4
|
||
357c: cb81 beqz a5,358c <etharp_output+0x124>
|
||
357e: 00c90413 addi s0,s2,12
|
||
3582: 8626 mv a2,s1
|
||
3584: 85a2 mv a1,s0
|
||
3586: 854a mv a0,s2
|
||
3588: dc9ff0ef jal ra,3350 <etharp_query>
|
||
358c: 0141 addi sp,sp,16
|
||
358e: c7dfc06f j 20a <__riscv_restore_4>
|
||
3592: 83418693 addi a3,gp,-1996 # 20000054 <ethbroadcast>
|
||
3596: b761 j 351e <etharp_output+0xb6>
|
||
3598: 5579 li a0,-2
|
||
359a: bfcd j 358c <etharp_output+0x124>
|
||
|
||
0000359c <ethernet_input>:
|
||
ethernet_input():
|
||
359c: c55fc2ef jal t0,1f0 <__riscv_save_0>
|
||
35a0: 4144 lw s1,4(a0)
|
||
35a2: 842a mv s0,a0
|
||
35a4: 892e mv s2,a1
|
||
35a6: 34dc lbu a5,13(s1)
|
||
35a8: 24c8 lbu a0,12(s1)
|
||
35aa: 07a2 slli a5,a5,0x8
|
||
35ac: 8d5d or a0,a0,a5
|
||
35ae: 2c01 jal 37be <htons>
|
||
35b0: 67a1 lui a5,0x8
|
||
35b2: 10078793 addi a5,a5,256 # 8100 <icmp_send_response.isra.0+0x8>
|
||
35b6: 00f51763 bne a0,a5,35c4 <ethernet_input+0x28>
|
||
35ba: 389c lbu a5,17(s1)
|
||
35bc: 2888 lbu a0,16(s1)
|
||
35be: 07a2 slli a5,a5,0x8
|
||
35c0: 8d5d or a0,a0,a5
|
||
35c2: 2af5 jal 37be <htons>
|
||
35c4: 80050793 addi a5,a0,-2048
|
||
35c8: cb91 beqz a5,35dc <ethernet_input+0x40>
|
||
35ca: 6785 lui a5,0x1
|
||
35cc: 80678793 addi a5,a5,-2042 # 806 <__stack_size+0x6>
|
||
35d0: 04f50263 beq a0,a5,3614 <ethernet_input+0x78>
|
||
35d4: 8522 mv a0,s0
|
||
35d6: 5d8010ef jal ra,4bae <pbuf_free>
|
||
35da: a815 j 360e <ethernet_input+0x72>
|
||
35dc: 85a2 mv a1,s0
|
||
35de: 854a mv a0,s2
|
||
35e0: a5dff0ef jal ra,303c <etharp_ip_input>
|
||
35e4: 34dc lbu a5,13(s1)
|
||
35e6: 24c8 lbu a0,12(s1)
|
||
35e8: 07a2 slli a5,a5,0x8
|
||
35ea: 8d5d or a0,a0,a5
|
||
35ec: 2ac9 jal 37be <htons>
|
||
35ee: 67a1 lui a5,0x8
|
||
35f0: 10078793 addi a5,a5,256 # 8100 <icmp_send_response.isra.0+0x8>
|
||
35f4: 45b9 li a1,14
|
||
35f6: 00f51363 bne a0,a5,35fc <ethernet_input+0x60>
|
||
35fa: 45c9 li a1,18
|
||
35fc: 40b005b3 neg a1,a1
|
||
3600: 8522 mv a0,s0
|
||
3602: 53e010ef jal ra,4b40 <pbuf_header>
|
||
3606: f579 bnez a0,35d4 <ethernet_input+0x38>
|
||
3608: 85ca mv a1,s2
|
||
360a: 8522 mv a0,s0
|
||
360c: 24a9 jal 3856 <ip_input>
|
||
360e: 4501 li a0,0
|
||
3610: c05fc06f j 214 <__riscv_restore_0>
|
||
3614: 8622 mv a2,s0
|
||
3616: 02990593 addi a1,s2,41
|
||
361a: 854a mv a0,s2
|
||
361c: a7bff0ef jal ra,3096 <etharp_arp_input>
|
||
3620: b7fd j 360e <ethernet_input+0x72>
|
||
|
||
00003622 <ethernetif_init>:
|
||
ethernetif_init():
|
||
3622: bcffc2ef jal t0,1f0 <__riscv_save_0>
|
||
3626: 200077b7 lui a5,0x20007
|
||
362a: 79878793 addi a5,a5,1944 # 20007798 <dhcp_host_name>
|
||
362e: d15c sw a5,36(a0)
|
||
3630: 06500793 li a5,101
|
||
3634: 02f509a3 sb a5,51(a0)
|
||
3638: 06e00793 li a5,110
|
||
363c: 02f50a23 sb a5,52(a0)
|
||
3640: 000037b7 lui a5,0x3
|
||
3644: 46878793 addi a5,a5,1128 # 3468 <etharp_output>
|
||
3648: c95c sw a5,20(a0)
|
||
364a: 000037b7 lui a5,0x3
|
||
364e: 68678793 addi a5,a5,1670 # 3686 <low_level_output>
|
||
3652: cd1c sw a5,24(a0)
|
||
3654: 200085b7 lui a1,0x20008
|
||
3658: 4799 li a5,6
|
||
365a: 842a mv s0,a0
|
||
365c: 02f50423 sb a5,40(a0)
|
||
3660: 00052e23 sw zero,28(a0)
|
||
3664: 4619 li a2,6
|
||
3666: 89158593 addi a1,a1,-1903 # 20007891 <WCHNetIf+0x29>
|
||
366a: 02950513 addi a0,a0,41
|
||
366e: 548050ef jal ra,8bb6 <memcpy>
|
||
3672: 5dc00793 li a5,1500
|
||
3676: b81e sh a5,48(s0)
|
||
3678: 03300793 li a5,51
|
||
367c: 02f40923 sb a5,50(s0)
|
||
3680: 4501 li a0,0
|
||
3682: b93fc06f j 214 <__riscv_restore_0>
|
||
|
||
00003686 <low_level_output>:
|
||
low_level_output():
|
||
3686: b6bfc2ef jal t0,1f0 <__riscv_save_0>
|
||
368a: 64b1 lui s1,0xc
|
||
368c: 842e mv s0,a1
|
||
368e: 35148493 addi s1,s1,849 # c351 <_data_lma+0x34bd>
|
||
3692: e70ff0ef jal ra,2d02 <WCHNET_GetPHYStatus>
|
||
3696: 8911 andi a0,a0,4
|
||
3698: cd15 beqz a0,36d4 <low_level_output+0x4e>
|
||
369a: 14fd addi s1,s1,-1
|
||
369c: cc85 beqz s1,36d4 <low_level_output+0x4e>
|
||
369e: feafe0ef jal ra,1e88 <getTxBuffAddr>
|
||
36a2: 892a mv s2,a0
|
||
36a4: d57d beqz a0,3692 <low_level_output+0xc>
|
||
36a6: 87aa mv a5,a0
|
||
36a8: 4481 li s1,0
|
||
36aa: e801 bnez s0,36ba <low_level_output+0x34>
|
||
36ac: 85ca mv a1,s2
|
||
36ae: 8526 mv a0,s1
|
||
36b0: f98fe0ef jal ra,1e48 <WCHNET_Tx>
|
||
36b4: 4501 li a0,0
|
||
36b6: b5ffc06f j 214 <__riscv_restore_0>
|
||
36ba: 2432 lhu a2,10(s0)
|
||
36bc: 404c lw a1,4(s0)
|
||
36be: 853e mv a0,a5
|
||
36c0: 4f6050ef jal ra,8bb6 <memcpy>
|
||
36c4: 243a lhu a4,10(s0)
|
||
36c6: 4000 lw s0,0(s0)
|
||
36c8: 94ba add s1,s1,a4
|
||
36ca: 04c2 slli s1,s1,0x10
|
||
36cc: 00e507b3 add a5,a0,a4
|
||
36d0: 80c1 srli s1,s1,0x10
|
||
36d2: bfe1 j 36aa <low_level_output+0x24>
|
||
36d4: 5551 li a0,-12
|
||
36d6: b7c5 j 36b6 <low_level_output+0x30>
|
||
|
||
000036d8 <ethernetif_input>:
|
||
ethernetif_input():
|
||
36d8: afffc2ef jal t0,1d6 <__riscv_save_4>
|
||
36dc: 200087b7 lui a5,0x20008
|
||
36e0: 8607a783 lw a5,-1952(a5) # 20007860 <WCHCfg+0x24>
|
||
36e4: 89aa mv s3,a0
|
||
36e6: 8dc18513 addi a0,gp,-1828 # 200000fc <frame>
|
||
36ea: 8dc18493 addi s1,gp,-1828 # 200000fc <frame>
|
||
36ee: 9782 jalr a5
|
||
36f0: 408c lw a1,0(s1)
|
||
36f2: c9a9 beqz a1,3744 <ethernetif_input+0x6c>
|
||
36f4: 8d01c783 lbu a5,-1840(gp) # 200000f0 <phydata>
|
||
36f8: 8dc18413 addi s0,gp,-1828 # 200000fc <frame>
|
||
36fc: 0ff7f793 andi a5,a5,255
|
||
3700: e781 bnez a5,3708 <ethernetif_input+0x30>
|
||
3702: 4785 li a5,1
|
||
3704: 8cf18823 sb a5,-1840(gp) # 200000f0 <phydata>
|
||
3708: 05c2 slli a1,a1,0x10
|
||
370a: 460d li a2,3
|
||
370c: 81c1 srli a1,a1,0x10
|
||
370e: 450d li a0,3
|
||
3710: 4044 lw s1,4(s0)
|
||
3712: 4ea010ef jal ra,4bfc <pbuf_alloc>
|
||
3716: 892a mv s2,a0
|
||
3718: c515 beqz a0,3744 <ethernetif_input+0x6c>
|
||
371a: 842a mv s0,a0
|
||
371c: 2432 lhu a2,10(s0)
|
||
371e: 4048 lw a0,4(s0)
|
||
3720: 85a6 mv a1,s1
|
||
3722: 494050ef jal ra,8bb6 <memcpy>
|
||
3726: 243e lhu a5,10(s0)
|
||
3728: 4000 lw s0,0(s0)
|
||
372a: 94be add s1,s1,a5
|
||
372c: f865 bnez s0,371c <ethernetif_input+0x44>
|
||
372e: f08fe0ef jal ra,1e36 <setRxBuffAddr>
|
||
3732: 0109a783 lw a5,16(s3)
|
||
3736: 85ce mv a1,s3
|
||
3738: 854a mv a0,s2
|
||
373a: 9782 jalr a5
|
||
373c: c501 beqz a0,3744 <ethernetif_input+0x6c>
|
||
373e: 854a mv a0,s2
|
||
3740: 46e010ef jal ra,4bae <pbuf_free>
|
||
3744: ac7fc06f j 20a <__riscv_restore_4>
|
||
|
||
00003748 <wch_ethernetif_init>:
|
||
wch_ethernetif_init():
|
||
3748: aa9fc2ef jal t0,1f0 <__riscv_save_0>
|
||
374c: 1141 addi sp,sp,-16
|
||
374e: 20008437 lui s0,0x20008
|
||
3752: c202 sw zero,4(sp)
|
||
3754: c402 sw zero,8(sp)
|
||
3756: c602 sw zero,12(sp)
|
||
3758: 7a1000ef jal ra,46f8 <lwip_init>
|
||
375c: 86840513 addi a0,s0,-1944 # 20007868 <WCHNetIf>
|
||
3760: 200085b7 lui a1,0x20008
|
||
3764: 4619 li a2,6
|
||
3766: 80458593 addi a1,a1,-2044 # 20007804 <NetInf+0xc>
|
||
376a: 02950513 addi a0,a0,41
|
||
376e: 448050ef jal ra,8bb6 <memcpy>
|
||
3772: 200077b7 lui a5,0x20007
|
||
3776: 7f87a703 lw a4,2040(a5) # 200077f8 <NetInf>
|
||
377a: 7f878793 addi a5,a5,2040
|
||
377e: 86840513 addi a0,s0,-1944
|
||
3782: c23a sw a4,4(sp)
|
||
3784: 4798 lw a4,8(a5)
|
||
3786: 43dc lw a5,4(a5)
|
||
3788: c43a sw a4,8(sp)
|
||
378a: c63e sw a5,12(sp)
|
||
378c: 8e01ae23 sw zero,-1796(gp) # 2000011c <netif_list>
|
||
3790: 8e01ac23 sw zero,-1800(gp) # 20000118 <netif_default>
|
||
3794: 39e010ef jal ra,4b32 <netif_set_default>
|
||
3798: 00003837 lui a6,0x3
|
||
379c: 000037b7 lui a5,0x3
|
||
37a0: 0074 addi a3,sp,12
|
||
37a2: 0030 addi a2,sp,8
|
||
37a4: 004c addi a1,sp,4
|
||
37a6: 59c80813 addi a6,a6,1436 # 359c <ethernet_input>
|
||
37aa: 62278793 addi a5,a5,1570 # 3622 <ethernetif_init>
|
||
37ae: 4701 li a4,0
|
||
37b0: 86840513 addi a0,s0,-1944
|
||
37b4: 324010ef jal ra,4ad8 <netif_add>
|
||
37b8: 0141 addi sp,sp,16
|
||
37ba: a5bfc06f j 214 <__riscv_restore_0>
|
||
|
||
000037be <htons>:
|
||
htons():
|
||
37be: 00851793 slli a5,a0,0x8
|
||
37c2: 8121 srli a0,a0,0x8
|
||
37c4: 8d5d or a0,a0,a5
|
||
37c6: 0542 slli a0,a0,0x10
|
||
37c8: 8141 srli a0,a0,0x10
|
||
37ca: 8082 ret
|
||
|
||
000037cc <ntohs>:
|
||
ntohs():
|
||
37cc: 00851793 slli a5,a0,0x8
|
||
37d0: 8121 srli a0,a0,0x8
|
||
37d2: 8d5d or a0,a0,a5
|
||
37d4: 0542 slli a0,a0,0x10
|
||
37d6: 8141 srli a0,a0,0x10
|
||
37d8: 8082 ret
|
||
|
||
000037da <htonl>:
|
||
htonl():
|
||
37da: 01855713 srli a4,a0,0x18
|
||
37de: 01851793 slli a5,a0,0x18
|
||
37e2: 8fd9 or a5,a5,a4
|
||
37e4: 00ff06b7 lui a3,0xff0
|
||
37e8: 00851713 slli a4,a0,0x8
|
||
37ec: 8f75 and a4,a4,a3
|
||
37ee: 8fd9 or a5,a5,a4
|
||
37f0: 6741 lui a4,0x10
|
||
37f2: f0070713 addi a4,a4,-256 # ff00 <_data_lma+0x706c>
|
||
37f6: 8121 srli a0,a0,0x8
|
||
37f8: 8d79 and a0,a0,a4
|
||
37fa: 8d5d or a0,a0,a5
|
||
37fc: 8082 ret
|
||
|
||
000037fe <ntohl>:
|
||
ntohl():
|
||
37fe: 9f3fc2ef jal t0,1f0 <__riscv_save_0>
|
||
3802: fd9ff0ef jal ra,37da <htonl>
|
||
3806: a0ffc06f j 214 <__riscv_restore_0>
|
||
|
||
0000380a <ip_route>:
|
||
ip_route():
|
||
380a: 9e7fc2ef jal t0,1f0 <__riscv_save_0>
|
||
380e: 8fc1a403 lw s0,-1796(gp) # 2000011c <netif_list>
|
||
3812: 84aa mv s1,a0
|
||
3814: ec01 bnez s0,382c <ip_route+0x22>
|
||
3816: 8f81a503 lw a0,-1800(gp) # 20000118 <netif_default>
|
||
381a: c511 beqz a0,3826 <ip_route+0x1c>
|
||
381c: 31c010ef jal ra,4b38 <netif_is_up>
|
||
3820: c119 beqz a0,3826 <ip_route+0x1c>
|
||
3822: 8f81a403 lw s0,-1800(gp) # 20000118 <netif_default>
|
||
3826: 8522 mv a0,s0
|
||
3828: 9edfc06f j 214 <__riscv_restore_0>
|
||
382c: 8522 mv a0,s0
|
||
382e: 30a010ef jal ra,4b38 <netif_is_up>
|
||
3832: c105 beqz a0,3852 <ip_route+0x48>
|
||
3834: 3098 lbu a4,1(s1)
|
||
3836: 209c lbu a5,0(s1)
|
||
3838: 0722 slli a4,a4,0x8
|
||
383a: 8f5d or a4,a4,a5
|
||
383c: 20bc lbu a5,2(s1)
|
||
383e: 07c2 slli a5,a5,0x10
|
||
3840: 8f5d or a4,a4,a5
|
||
3842: 30bc lbu a5,3(s1)
|
||
3844: 07e2 slli a5,a5,0x18
|
||
3846: 8fd9 or a5,a5,a4
|
||
3848: 4058 lw a4,4(s0)
|
||
384a: 8fb9 xor a5,a5,a4
|
||
384c: 4418 lw a4,8(s0)
|
||
384e: 8ff9 and a5,a5,a4
|
||
3850: dbf9 beqz a5,3826 <ip_route+0x1c>
|
||
3852: 4000 lw s0,0(s0)
|
||
3854: b7c1 j 3814 <ip_route+0xa>
|
||
|
||
00003856 <ip_input>:
|
||
ip_input():
|
||
3856: 973fc2ef jal t0,1c8 <__riscv_save_10>
|
||
385a: 4140 lw s0,4(a0)
|
||
385c: 84aa mv s1,a0
|
||
385e: 89ae mv s3,a1
|
||
3860: 301c lbu a5,1(s0)
|
||
3862: 2008 lbu a0,0(s0)
|
||
3864: 07a2 slli a5,a5,0x8
|
||
3866: 8d5d or a0,a0,a5
|
||
3868: f65ff0ef jal ra,37cc <ntohs>
|
||
386c: 8131 srli a0,a0,0xc
|
||
386e: 0542 slli a0,a0,0x10
|
||
3870: 8141 srli a0,a0,0x10
|
||
3872: 4791 li a5,4
|
||
3874: 00f50663 beq a0,a5,3880 <ip_input+0x2a>
|
||
3878: 8526 mv a0,s1
|
||
387a: 334010ef jal ra,4bae <pbuf_free>
|
||
387e: a431 j 3a8a <ip_input+0x234>
|
||
3880: 301c lbu a5,1(s0)
|
||
3882: 2008 lbu a0,0(s0)
|
||
3884: 07a2 slli a5,a5,0x8
|
||
3886: 8d5d or a0,a0,a5
|
||
3888: f45ff0ef jal ra,37cc <ntohs>
|
||
388c: 8119 srli a0,a0,0x6
|
||
388e: 303c lbu a5,3(s0)
|
||
3890: 03c57a13 andi s4,a0,60
|
||
3894: 2028 lbu a0,2(s0)
|
||
3896: 07a2 slli a5,a5,0x8
|
||
3898: 8d5d or a0,a0,a5
|
||
389a: f33ff0ef jal ra,37cc <ntohs>
|
||
389e: 24be lhu a5,10(s1)
|
||
38a0: 892a mv s2,a0
|
||
38a2: fd47ebe3 bltu a5,s4,3878 <ip_input+0x22>
|
||
38a6: 249e lhu a5,8(s1)
|
||
38a8: fca7e8e3 bltu a5,a0,3878 <ip_input+0x22>
|
||
38ac: 85d2 mv a1,s4
|
||
38ae: 8522 mv a0,s0
|
||
38b0: 4bf040ef jal ra,856e <inet_chksum>
|
||
38b4: f171 bnez a0,3878 <ip_input+0x22>
|
||
38b6: 85ca mv a1,s2
|
||
38b8: 8526 mv a0,s1
|
||
38ba: 482010ef jal ra,4d3c <pbuf_realloc>
|
||
38be: f0000537 lui a0,0xf0000
|
||
38c2: f3dff0ef jal ra,37fe <ntohl>
|
||
38c6: e0000537 lui a0,0xe0000
|
||
38ca: f35ff0ef jal ra,37fe <ntohl>
|
||
38ce: 894e mv s2,s3
|
||
38d0: 4b05 li s6,1
|
||
38d2: 01040b93 addi s7,s0,16
|
||
38d6: 854a mv a0,s2
|
||
38d8: 260010ef jal ra,4b38 <netif_is_up>
|
||
38dc: e511 bnez a0,38e8 <ip_input+0x92>
|
||
38de: 120b1363 bnez s6,3a04 <ip_input+0x1ae>
|
||
38e2: 00092903 lw s2,0(s2)
|
||
38e6: a20d j 3a08 <ip_input+0x1b2>
|
||
38e8: 00490793 addi a5,s2,4
|
||
38ec: dbed beqz a5,38de <ip_input+0x88>
|
||
38ee: 00492683 lw a3,4(s2)
|
||
38f2: d6f5 beqz a3,38de <ip_input+0x88>
|
||
38f4: 3818 lbu a4,17(s0)
|
||
38f6: 281c lbu a5,16(s0)
|
||
38f8: 0722 slli a4,a4,0x8
|
||
38fa: 8f5d or a4,a4,a5
|
||
38fc: 283c lbu a5,18(s0)
|
||
38fe: 07c2 slli a5,a5,0x10
|
||
3900: 8f5d or a4,a4,a5
|
||
3902: 383c lbu a5,19(s0)
|
||
3904: 07e2 slli a5,a5,0x18
|
||
3906: 8fd9 or a5,a5,a4
|
||
3908: 04f68263 beq a3,a5,394c <ip_input+0xf6>
|
||
390c: 85ca mv a1,s2
|
||
390e: 855e mv a0,s7
|
||
3910: 2e85 jal 3c80 <ip_addr_isbroadcast>
|
||
3912: ed0d bnez a0,394c <ip_input+0xf6>
|
||
3914: 381c lbu a5,17(s0)
|
||
3916: 01044a83 lbu s5,16(s0)
|
||
391a: f0000537 lui a0,0xf0000
|
||
391e: 07a2 slli a5,a5,0x8
|
||
3920: 0157e7b3 or a5,a5,s5
|
||
3924: 01244a83 lbu s5,18(s0)
|
||
3928: 0ac2 slli s5,s5,0x10
|
||
392a: 00fae7b3 or a5,s5,a5
|
||
392e: 01344a83 lbu s5,19(s0)
|
||
3932: 0ae2 slli s5,s5,0x18
|
||
3934: 00faeab3 or s5,s5,a5
|
||
3938: ec7ff0ef jal ra,37fe <ntohl>
|
||
393c: 00aafab3 and s5,s5,a0
|
||
3940: e0000537 lui a0,0xe0000
|
||
3944: ebbff0ef jal ra,37fe <ntohl>
|
||
3948: f8aa9be3 bne s5,a0,38de <ip_input+0x88>
|
||
394c: 3458 lbu a4,13(s0)
|
||
394e: 245c lbu a5,12(s0)
|
||
3950: 0722 slli a4,a4,0x8
|
||
3952: 8f5d or a4,a4,a5
|
||
3954: 247c lbu a5,14(s0)
|
||
3956: 07c2 slli a5,a5,0x10
|
||
3958: 8f5d or a4,a4,a5
|
||
395a: 347c lbu a5,15(s0)
|
||
395c: 07e2 slli a5,a5,0x18
|
||
395e: 8fd9 or a5,a5,a4
|
||
3960: c3b9 beqz a5,39a6 <ip_input+0x150>
|
||
3962: 85ce mv a1,s3
|
||
3964: 00c40513 addi a0,s0,12
|
||
3968: 2e21 jal 3c80 <ip_addr_isbroadcast>
|
||
396a: f00517e3 bnez a0,3878 <ip_input+0x22>
|
||
396e: 345c lbu a5,13(s0)
|
||
3970: 00c44a03 lbu s4,12(s0)
|
||
3974: f0000537 lui a0,0xf0000
|
||
3978: 07a2 slli a5,a5,0x8
|
||
397a: 0147e7b3 or a5,a5,s4
|
||
397e: 00e44a03 lbu s4,14(s0)
|
||
3982: 0a42 slli s4,s4,0x10
|
||
3984: 00fa67b3 or a5,s4,a5
|
||
3988: 00f44a03 lbu s4,15(s0)
|
||
398c: 0a62 slli s4,s4,0x18
|
||
398e: 00fa6a33 or s4,s4,a5
|
||
3992: e6dff0ef jal ra,37fe <ntohl>
|
||
3996: 00aa7a33 and s4,s4,a0
|
||
399a: e0000537 lui a0,0xe0000
|
||
399e: e61ff0ef jal ra,37fe <ntohl>
|
||
39a2: ecaa0be3 beq s4,a0,3878 <ip_input+0x22>
|
||
39a6: ec0909e3 beqz s2,3878 <ip_input+0x22>
|
||
39aa: 00744903 lbu s2,7(s0)
|
||
39ae: 2068 lbu a0,6(s0)
|
||
39b0: 0922 slli s2,s2,0x8
|
||
39b2: 00a96933 or s2,s2,a0
|
||
39b6: 6511 lui a0,0x4
|
||
39b8: 157d addi a0,a0,-1
|
||
39ba: e05ff0ef jal ra,37be <htons>
|
||
39be: 00a97533 and a0,s2,a0
|
||
39c2: c511 beqz a0,39ce <ip_input+0x178>
|
||
39c4: 8526 mv a0,s1
|
||
39c6: 26ed jal 3db0 <ip_reass>
|
||
39c8: 84aa mv s1,a0
|
||
39ca: c161 beqz a0,3a8a <ip_input+0x234>
|
||
39cc: 4140 lw s0,4(a0)
|
||
39ce: 85ce mv a1,s3
|
||
39d0: 8526 mv a0,s1
|
||
39d2: 4aa010ef jal ra,4e7c <raw_input>
|
||
39d6: e955 bnez a0,3a8a <ip_input+0x234>
|
||
39d8: 341c lbu a5,9(s0)
|
||
39da: 2408 lbu a0,8(s0)
|
||
39dc: 07a2 slli a5,a5,0x8
|
||
39de: 8d5d or a0,a0,a5
|
||
39e0: dedff0ef jal ra,37cc <ntohs>
|
||
39e4: 0ff57513 andi a0,a0,255
|
||
39e8: 4799 li a5,6
|
||
39ea: 0af50363 beq a0,a5,3a90 <ip_input+0x23a>
|
||
39ee: 47c5 li a5,17
|
||
39f0: 08f50963 beq a0,a5,3a82 <ip_input+0x22c>
|
||
39f4: 4785 li a5,1
|
||
39f6: 0af51263 bne a0,a5,3a9a <ip_input+0x244>
|
||
39fa: 85ce mv a1,s3
|
||
39fc: 8526 mv a0,s1
|
||
39fe: 770040ef jal ra,816e <icmp_input>
|
||
3a02: a061 j 3a8a <ip_input+0x234>
|
||
3a04: 8fc1a903 lw s2,-1796(gp) # 2000011c <netif_list>
|
||
3a08: 01391463 bne s2,s3,3a10 <ip_input+0x1ba>
|
||
3a0c: 00092903 lw s2,0(s2)
|
||
3a10: 4b01 li s6,0
|
||
3a12: ec0912e3 bnez s2,38d6 <ip_input+0x80>
|
||
3a16: 341c lbu a5,9(s0)
|
||
3a18: 2408 lbu a0,8(s0)
|
||
3a1a: 07a2 slli a5,a5,0x8
|
||
3a1c: 8d5d or a0,a0,a5
|
||
3a1e: dafff0ef jal ra,37cc <ntohs>
|
||
3a22: 0ff57513 andi a0,a0,255
|
||
3a26: 47c5 li a5,17
|
||
3a28: 00f51e63 bne a0,a5,3a44 <ip_input+0x1ee>
|
||
3a2c: 014407b3 add a5,s0,s4
|
||
3a30: 23a8 lbu a0,2(a5)
|
||
3a32: 33bc lbu a5,3(a5)
|
||
3a34: 07a2 slli a5,a5,0x8
|
||
3a36: 8d5d or a0,a0,a5
|
||
3a38: d95ff0ef jal ra,37cc <ntohs>
|
||
3a3c: 04400793 li a5,68
|
||
3a40: 02f50d63 beq a0,a5,3a7a <ip_input+0x224>
|
||
3a44: 4a85 li s5,1
|
||
3a46: 341c lbu a5,9(s0)
|
||
3a48: 2408 lbu a0,8(s0)
|
||
3a4a: 07a2 slli a5,a5,0x8
|
||
3a4c: 8d5d or a0,a0,a5
|
||
3a4e: d7fff0ef jal ra,37cc <ntohs>
|
||
3a52: 0ff57513 andi a0,a0,255
|
||
3a56: 47c5 li a5,17
|
||
3a58: 08f51963 bne a0,a5,3aea <ip_input+0x294>
|
||
3a5c: 9a22 add s4,s4,s0
|
||
3a5e: 003a4783 lbu a5,3(s4)
|
||
3a62: 002a4503 lbu a0,2(s4)
|
||
3a66: 07a2 slli a5,a5,0x8
|
||
3a68: 8d5d or a0,a0,a5
|
||
3a6a: d63ff0ef jal ra,37cc <ntohs>
|
||
3a6e: 76c00793 li a5,1900
|
||
3a72: 06f51c63 bne a0,a5,3aea <ip_input+0x294>
|
||
3a76: 894e mv s2,s3
|
||
3a78: b73d j 39a6 <ip_input+0x150>
|
||
3a7a: f20998e3 bnez s3,39aa <ip_input+0x154>
|
||
3a7e: 4a81 li s5,0
|
||
3a80: b7d9 j 3a46 <ip_input+0x1f0>
|
||
3a82: 85ce mv a1,s3
|
||
3a84: 8526 mv a0,s1
|
||
3a86: 1e2040ef jal ra,7c68 <udp_input>
|
||
3a8a: 4501 li a0,0
|
||
3a8c: f74fc06f j 200 <__riscv_restore_10>
|
||
3a90: 85ce mv a1,s3
|
||
3a92: 8526 mv a0,s1
|
||
3a94: 321020ef jal ra,65b4 <tcp_input>
|
||
3a98: bfcd j 3a8a <ip_input+0x234>
|
||
3a9a: 85ce mv a1,s3
|
||
3a9c: 01040513 addi a0,s0,16
|
||
3aa0: 22c5 jal 3c80 <ip_addr_isbroadcast>
|
||
3aa2: dc051be3 bnez a0,3878 <ip_input+0x22>
|
||
3aa6: 381c lbu a5,17(s0)
|
||
3aa8: 01044903 lbu s2,16(s0)
|
||
3aac: f0000537 lui a0,0xf0000
|
||
3ab0: 07a2 slli a5,a5,0x8
|
||
3ab2: 0127e7b3 or a5,a5,s2
|
||
3ab6: 01244903 lbu s2,18(s0)
|
||
3aba: 0942 slli s2,s2,0x10
|
||
3abc: 00f967b3 or a5,s2,a5
|
||
3ac0: 01344903 lbu s2,19(s0)
|
||
3ac4: 0962 slli s2,s2,0x18
|
||
3ac6: 00f96933 or s2,s2,a5
|
||
3aca: d35ff0ef jal ra,37fe <ntohl>
|
||
3ace: 00a97933 and s2,s2,a0
|
||
3ad2: e0000537 lui a0,0xe0000
|
||
3ad6: d29ff0ef jal ra,37fe <ntohl>
|
||
3ada: d8a90fe3 beq s2,a0,3878 <ip_input+0x22>
|
||
3ade: c0c0 sw s0,4(s1)
|
||
3ae0: 4589 li a1,2
|
||
3ae2: 8526 mv a0,s1
|
||
3ae4: 0db040ef jal ra,83be <icmp_dest_unreach>
|
||
3ae8: bb41 j 3878 <ip_input+0x22>
|
||
3aea: e60a91e3 bnez s5,394c <ip_input+0xf6>
|
||
3aee: b369 j 3878 <ip_input+0x22>
|
||
|
||
00003af0 <ip_output_if>:
|
||
ip_output_if():
|
||
3af0: ed8fc2ef jal t0,1c8 <__riscv_save_10>
|
||
3af4: 89aa mv s3,a0
|
||
3af6: 8942 mv s2,a6
|
||
3af8: 12060f63 beqz a2,3c36 <ip_output_if+0x146>
|
||
3afc: 8aae mv s5,a1
|
||
3afe: 45d1 li a1,20
|
||
3b00: 8a3a mv s4,a4
|
||
3b02: 84b2 mv s1,a2
|
||
3b04: 8bb6 mv s7,a3
|
||
3b06: 8b3e mv s6,a5
|
||
3b08: 038010ef jal ra,4b40 <pbuf_header>
|
||
3b0c: 5779 li a4,-2
|
||
3b0e: 12051163 bnez a0,3c30 <ip_output_if+0x140>
|
||
3b12: 0049a403 lw s0,4(s3)
|
||
3b16: 0ba2 slli s7,s7,0x8
|
||
3b18: 341c lbu a5,9(s0)
|
||
3b1a: 2408 lbu a0,8(s0)
|
||
3b1c: 07a2 slli a5,a5,0x8
|
||
3b1e: 8d5d or a0,a0,a5
|
||
3b20: cadff0ef jal ra,37cc <ntohs>
|
||
3b24: 0ff57513 andi a0,a0,255
|
||
3b28: 01756533 or a0,a0,s7
|
||
3b2c: c93ff0ef jal ra,37be <htons>
|
||
3b30: 00855713 srli a4,a0,0x8
|
||
3b34: b418 sb a4,9(s0)
|
||
3b36: a408 sb a0,8(s0)
|
||
3b38: c95ff0ef jal ra,37cc <ntohs>
|
||
3b3c: 8121 srli a0,a0,0x8
|
||
3b3e: 0542 slli a0,a0,0x10
|
||
3b40: 8141 srli a0,a0,0x10
|
||
3b42: 0522 slli a0,a0,0x8
|
||
3b44: 01656533 or a0,a0,s6
|
||
3b48: 0542 slli a0,a0,0x10
|
||
3b4a: 8141 srli a0,a0,0x10
|
||
3b4c: c73ff0ef jal ra,37be <htons>
|
||
3b50: 3098 lbu a4,1(s1)
|
||
3b52: 209c lbu a5,0(s1)
|
||
3b54: a408 sb a0,8(s0)
|
||
3b56: 0722 slli a4,a4,0x8
|
||
3b58: 8f5d or a4,a4,a5
|
||
3b5a: 20bc lbu a5,2(s1)
|
||
3b5c: 8121 srli a0,a0,0x8
|
||
3b5e: b408 sb a0,9(s0)
|
||
3b60: 07c2 slli a5,a5,0x10
|
||
3b62: 8f5d or a4,a4,a5
|
||
3b64: 30bc lbu a5,3(s1)
|
||
3b66: 6511 lui a0,0x4
|
||
3b68: 50050513 addi a0,a0,1280 # 4500 <dhcp_create_request+0x132>
|
||
3b6c: 07e2 slli a5,a5,0x18
|
||
3b6e: 8fd9 or a5,a5,a4
|
||
3b70: 0087d713 srli a4,a5,0x8
|
||
3b74: a81c sb a5,16(s0)
|
||
3b76: b818 sb a4,17(s0)
|
||
3b78: 0107d713 srli a4,a5,0x10
|
||
3b7c: 83e1 srli a5,a5,0x18
|
||
3b7e: b83c sb a5,19(s0)
|
||
3b80: a838 sb a4,18(s0)
|
||
3b82: 00aa6533 or a0,s4,a0
|
||
3b86: c39ff0ef jal ra,37be <htons>
|
||
3b8a: a008 sb a0,0(s0)
|
||
3b8c: 8121 srli a0,a0,0x8
|
||
3b8e: b008 sb a0,1(s0)
|
||
3b90: 0089d503 lhu a0,8(s3)
|
||
3b94: 8e418a13 addi s4,gp,-1820 # 20000104 <ip_id.2947>
|
||
3b98: c27ff0ef jal ra,37be <htons>
|
||
3b9c: a028 sb a0,2(s0)
|
||
3b9e: 8121 srli a0,a0,0x8
|
||
3ba0: b028 sb a0,3(s0)
|
||
3ba2: 000a5503 lhu a0,0(s4)
|
||
3ba6: 00040323 sb zero,6(s0)
|
||
3baa: 000403a3 sb zero,7(s0)
|
||
3bae: c11ff0ef jal ra,37be <htons>
|
||
3bb2: 000a5783 lhu a5,0(s4)
|
||
3bb6: a048 sb a0,4(s0)
|
||
3bb8: 8121 srli a0,a0,0x8
|
||
3bba: 0785 addi a5,a5,1
|
||
3bbc: b048 sb a0,5(s0)
|
||
3bbe: 00fa1023 sh a5,0(s4)
|
||
3bc2: 020a8163 beqz s5,3be4 <ip_output_if+0xf4>
|
||
3bc6: 001ac703 lbu a4,1(s5)
|
||
3bca: 000ac783 lbu a5,0(s5)
|
||
3bce: 0722 slli a4,a4,0x8
|
||
3bd0: 8f5d or a4,a4,a5
|
||
3bd2: 002ac783 lbu a5,2(s5)
|
||
3bd6: 07c2 slli a5,a5,0x10
|
||
3bd8: 8f5d or a4,a4,a5
|
||
3bda: 003ac783 lbu a5,3(s5)
|
||
3bde: 07e2 slli a5,a5,0x18
|
||
3be0: 8fd9 or a5,a5,a4
|
||
3be2: e799 bnez a5,3bf0 <ip_output_if+0x100>
|
||
3be4: 00490713 addi a4,s2,4
|
||
3be8: 4781 li a5,0
|
||
3bea: c319 beqz a4,3bf0 <ip_output_if+0x100>
|
||
3bec: 00492783 lw a5,4(s2)
|
||
3bf0: 0087d713 srli a4,a5,0x8
|
||
3bf4: a45c sb a5,12(s0)
|
||
3bf6: b458 sb a4,13(s0)
|
||
3bf8: 0107d713 srli a4,a5,0x10
|
||
3bfc: 83e1 srli a5,a5,0x18
|
||
3bfe: a478 sb a4,14(s0)
|
||
3c00: b47c sb a5,15(s0)
|
||
3c02: 00040523 sb zero,10(s0)
|
||
3c06: 000405a3 sb zero,11(s0)
|
||
3c0a: 45d1 li a1,20
|
||
3c0c: 8522 mv a0,s0
|
||
3c0e: 161040ef jal ra,856e <inet_chksum>
|
||
3c12: a428 sb a0,10(s0)
|
||
3c14: 8121 srli a0,a0,0x8
|
||
3c16: b428 sb a0,11(s0)
|
||
3c18: 03095783 lhu a5,48(s2)
|
||
3c1c: c385 beqz a5,3c3c <ip_output_if+0x14c>
|
||
3c1e: 0089d703 lhu a4,8(s3)
|
||
3c22: 00e7fd63 bgeu a5,a4,3c3c <ip_output_if+0x14c>
|
||
3c26: 8626 mv a2,s1
|
||
3c28: 85ca mv a1,s2
|
||
3c2a: 854e mv a0,s3
|
||
3c2c: 2385 jal 418c <ip_frag>
|
||
3c2e: 872a mv a4,a0
|
||
3c30: 853a mv a0,a4
|
||
3c32: dcefc06f j 200 <__riscv_restore_10>
|
||
3c36: 4144 lw s1,4(a0)
|
||
3c38: 04c1 addi s1,s1,16
|
||
3c3a: bff9 j 3c18 <ip_output_if+0x128>
|
||
3c3c: 01492783 lw a5,20(s2)
|
||
3c40: 8626 mv a2,s1
|
||
3c42: 85ce mv a1,s3
|
||
3c44: 854a mv a0,s2
|
||
3c46: 9782 jalr a5
|
||
3c48: b7dd j 3c2e <ip_output_if+0x13e>
|
||
|
||
00003c4a <ip_output>:
|
||
ip_output():
|
||
3c4a: da6fc2ef jal t0,1f0 <__riscv_save_0>
|
||
3c4e: 1101 addi sp,sp,-32
|
||
3c50: 842a mv s0,a0
|
||
3c52: 8532 mv a0,a2
|
||
3c54: ce2e sw a1,28(sp)
|
||
3c56: cc36 sw a3,24(sp)
|
||
3c58: ca3a sw a4,20(sp)
|
||
3c5a: c83e sw a5,16(sp)
|
||
3c5c: c632 sw a2,12(sp)
|
||
3c5e: badff0ef jal ra,380a <ip_route>
|
||
3c62: cd09 beqz a0,3c7c <ip_output+0x32>
|
||
3c64: 47c2 lw a5,16(sp)
|
||
3c66: 4752 lw a4,20(sp)
|
||
3c68: 46e2 lw a3,24(sp)
|
||
3c6a: 4632 lw a2,12(sp)
|
||
3c6c: 45f2 lw a1,28(sp)
|
||
3c6e: 882a mv a6,a0
|
||
3c70: 8522 mv a0,s0
|
||
3c72: e7fff0ef jal ra,3af0 <ip_output_if>
|
||
3c76: 6105 addi sp,sp,32
|
||
3c78: d9cfc06f j 214 <__riscv_restore_0>
|
||
3c7c: 5571 li a0,-4
|
||
3c7e: bfe5 j 3c76 <ip_output+0x2c>
|
||
|
||
00003c80 <ip_addr_isbroadcast>:
|
||
ip_addr_isbroadcast():
|
||
3c80: 3118 lbu a4,1(a0)
|
||
3c82: 211c lbu a5,0(a0)
|
||
3c84: 0722 slli a4,a4,0x8
|
||
3c86: 8f5d or a4,a4,a5
|
||
3c88: 213c lbu a5,2(a0)
|
||
3c8a: 07c2 slli a5,a5,0x10
|
||
3c8c: 8f5d or a4,a4,a5
|
||
3c8e: 313c lbu a5,3(a0)
|
||
3c90: 07e2 slli a5,a5,0x18
|
||
3c92: 8fd9 or a5,a5,a4
|
||
3c94: fff78693 addi a3,a5,-1
|
||
3c98: 5775 li a4,-3
|
||
3c9a: 02d76663 bltu a4,a3,3cc6 <ip_addr_isbroadcast+0x46>
|
||
3c9e: 0325c703 lbu a4,50(a1)
|
||
3ca2: 4501 li a0,0
|
||
3ca4: 8b09 andi a4,a4,2
|
||
3ca6: c30d beqz a4,3cc8 <ip_addr_isbroadcast+0x48>
|
||
3ca8: 41d8 lw a4,4(a1)
|
||
3caa: 00f70f63 beq a4,a5,3cc8 <ip_addr_isbroadcast+0x48>
|
||
3cae: 4594 lw a3,8(a1)
|
||
3cb0: 8f3d xor a4,a4,a5
|
||
3cb2: 8f75 and a4,a4,a3
|
||
3cb4: eb11 bnez a4,3cc8 <ip_addr_isbroadcast+0x48>
|
||
3cb6: fff6c513 not a0,a3
|
||
3cba: 8fe9 and a5,a5,a0
|
||
3cbc: 40a78533 sub a0,a5,a0
|
||
3cc0: 00153513 seqz a0,a0
|
||
3cc4: 8082 ret
|
||
3cc6: 4505 li a0,1
|
||
3cc8: 8082 ret
|
||
|
||
00003cca <ip_reass_tmr>:
|
||
ip_reass_tmr():
|
||
3cca: cfefc2ef jal t0,1c8 <__riscv_save_10>
|
||
3cce: 8e81a403 lw s0,-1816(gp) # 20000108 <reassdatagrams>
|
||
3cd2: 44c5 li s1,17
|
||
3cd4: 4b01 li s6,0
|
||
3cd6: 8e818913 addi s2,gp,-1816 # 20000108 <reassdatagrams>
|
||
3cda: e019 bnez s0,3ce0 <ip_reass_tmr+0x16>
|
||
3cdc: d24fc06f j 200 <__riscv_restore_10>
|
||
3ce0: 14fd addi s1,s1,-1
|
||
3ce2: 0ff4f493 andi s1,s1,255
|
||
3ce6: d8fd beqz s1,3cdc <ip_reass_tmr+0x12>
|
||
3ce8: 3c7c lbu a5,31(s0)
|
||
3cea: 00042c03 lw s8,0(s0)
|
||
3cee: c791 beqz a5,3cfa <ip_reass_tmr+0x30>
|
||
3cf0: 17fd addi a5,a5,-1
|
||
3cf2: bc7c sb a5,31(s0)
|
||
3cf4: 8b22 mv s6,s0
|
||
3cf6: 8462 mv s0,s8
|
||
3cf8: b7cd j 3cda <ip_reass_tmr+0x10>
|
||
3cfa: 00442983 lw s3,4(s0)
|
||
3cfe: 4a81 li s5,0
|
||
3d00: 0049a503 lw a0,4(s3)
|
||
3d04: 315c lbu a5,5(a0)
|
||
3d06: 2158 lbu a4,4(a0)
|
||
3d08: 07a2 slli a5,a5,0x8
|
||
3d0a: 8fd9 or a5,a5,a4
|
||
3d0c: ef85 bnez a5,3d44 <ip_reass_tmr+0x7a>
|
||
3d0e: 3118 lbu a4,1(a0)
|
||
3d10: 211c lbu a5,0(a0)
|
||
3d12: 4651 li a2,20
|
||
3d14: 0722 slli a4,a4,0x8
|
||
3d16: 8f5d or a4,a4,a5
|
||
3d18: 213c lbu a5,2(a0)
|
||
3d1a: 00840593 addi a1,s0,8
|
||
3d1e: 07c2 slli a5,a5,0x10
|
||
3d20: 8f5d or a4,a4,a5
|
||
3d22: 313c lbu a5,3(a0)
|
||
3d24: 07e2 slli a5,a5,0x18
|
||
3d26: 8fd9 or a5,a5,a4
|
||
3d28: c05c sw a5,4(s0)
|
||
3d2a: 68d040ef jal ra,8bb6 <memcpy>
|
||
3d2e: 4585 li a1,1
|
||
3d30: 854e mv a0,s3
|
||
3d32: 6a0040ef jal ra,83d2 <icmp_time_exceeded>
|
||
3d36: 854e mv a0,s3
|
||
3d38: 05c010ef jal ra,4d94 <pbuf_clen>
|
||
3d3c: 8aaa mv s5,a0
|
||
3d3e: 854e mv a0,s3
|
||
3d40: 66f000ef jal ra,4bae <pbuf_free>
|
||
3d44: 00442983 lw s3,4(s0)
|
||
3d48: 02099663 bnez s3,3d74 <ip_reass_tmr+0xaa>
|
||
3d4c: 00092703 lw a4,0(s2)
|
||
3d50: 401c lw a5,0(s0)
|
||
3d52: 04e41c63 bne s0,a4,3daa <ip_reass_tmr+0xe0>
|
||
3d56: 00f92023 sw a5,0(s2)
|
||
3d5a: 85a2 mv a1,s0
|
||
3d5c: 4515 li a0,5
|
||
3d5e: 47f000ef jal ra,49dc <memp_free>
|
||
3d62: 8e618713 addi a4,gp,-1818 # 20000106 <ip_reass_pbufcount>
|
||
3d66: 231e lhu a5,0(a4)
|
||
3d68: 845a mv s0,s6
|
||
3d6a: 41578ab3 sub s5,a5,s5
|
||
3d6e: 01571023 sh s5,0(a4)
|
||
3d72: b749 j 3cf4 <ip_reass_tmr+0x2a>
|
||
3d74: 0049a703 lw a4,4(s3)
|
||
3d78: 854e mv a0,s3
|
||
3d7a: 331c lbu a5,1(a4)
|
||
3d7c: 00074a03 lbu s4,0(a4)
|
||
3d80: 07a2 slli a5,a5,0x8
|
||
3d82: 0147e7b3 or a5,a5,s4
|
||
3d86: 00274a03 lbu s4,2(a4)
|
||
3d8a: 0a42 slli s4,s4,0x10
|
||
3d8c: 00fa67b3 or a5,s4,a5
|
||
3d90: 00374a03 lbu s4,3(a4)
|
||
3d94: 0a62 slli s4,s4,0x18
|
||
3d96: 00fa6a33 or s4,s4,a5
|
||
3d9a: 7fb000ef jal ra,4d94 <pbuf_clen>
|
||
3d9e: 9aaa add s5,s5,a0
|
||
3da0: 854e mv a0,s3
|
||
3da2: 60d000ef jal ra,4bae <pbuf_free>
|
||
3da6: 89d2 mv s3,s4
|
||
3da8: b745 j 3d48 <ip_reass_tmr+0x7e>
|
||
3daa: 00fb2023 sw a5,0(s6)
|
||
3dae: b775 j 3d5a <ip_reass_tmr+0x90>
|
||
|
||
00003db0 <ip_reass>:
|
||
ip_reass():
|
||
3db0: c18fc2ef jal t0,1c8 <__riscv_save_10>
|
||
3db4: 4144 lw s1,4(a0)
|
||
3db6: 892a mv s2,a0
|
||
3db8: 309c lbu a5,1(s1)
|
||
3dba: 2088 lbu a0,0(s1)
|
||
3dbc: 07a2 slli a5,a5,0x8
|
||
3dbe: 8d5d or a0,a0,a5
|
||
3dc0: a0dff0ef jal ra,37cc <ntohs>
|
||
3dc4: 8119 srli a0,a0,0x6
|
||
3dc6: 03c57513 andi a0,a0,60
|
||
3dca: 47d1 li a5,20
|
||
3dcc: 26f51263 bne a0,a5,4030 <ip_reass+0x280>
|
||
3dd0: 30fc lbu a5,7(s1)
|
||
3dd2: 20e8 lbu a0,6(s1)
|
||
3dd4: 07a2 slli a5,a5,0x8
|
||
3dd6: 8d5d or a0,a0,a5
|
||
3dd8: 9f5ff0ef jal ra,37cc <ntohs>
|
||
3ddc: 30bc lbu a5,3(s1)
|
||
3dde: 8b2a mv s6,a0
|
||
3de0: 20a8 lbu a0,2(s1)
|
||
3de2: 07a2 slli a5,a5,0x8
|
||
3de4: 8d5d or a0,a0,a5
|
||
3de6: 9e7ff0ef jal ra,37cc <ntohs>
|
||
3dea: 309c lbu a5,1(s1)
|
||
3dec: 8caa mv s9,a0
|
||
3dee: 2088 lbu a0,0(s1)
|
||
3df0: 07a2 slli a5,a5,0x8
|
||
3df2: 8d5d or a0,a0,a5
|
||
3df4: 9d9ff0ef jal ra,37cc <ntohs>
|
||
3df8: 8c2a mv s8,a0
|
||
3dfa: 854a mv a0,s2
|
||
3dfc: 799000ef jal ra,4d94 <pbuf_clen>
|
||
3e00: 200087b7 lui a5,0x20008
|
||
3e04: 84c7a783 lw a5,-1972(a5) # 2000784c <WCHCfg+0x10>
|
||
3e08: 8e61d703 lhu a4,-1818(gp) # 20000106 <ip_reass_pbufcount>
|
||
3e0c: 8d2a mv s10,a0
|
||
3e0e: 838d srli a5,a5,0x3
|
||
3e10: 972a add a4,a4,a0
|
||
3e12: 8bfd andi a5,a5,31
|
||
3e14: 8e618993 addi s3,gp,-1818 # 20000106 <ip_reass_pbufcount>
|
||
3e18: 20e7ec63 bltu a5,a4,4030 <ip_reass+0x280>
|
||
3e1c: 8e81a403 lw s0,-1816(gp) # 20000108 <reassdatagrams>
|
||
3e20: 4a81 li s5,0
|
||
3e22: 8e818a13 addi s4,gp,-1816 # 20000108 <reassdatagrams>
|
||
3e26: e81d bnez s0,3e5c <ip_reass+0xac>
|
||
3e28: 4515 li a0,5
|
||
3e2a: 393000ef jal ra,49bc <memp_malloc>
|
||
3e2e: 842a mv s0,a0
|
||
3e30: 20050063 beqz a0,4030 <ip_reass+0x280>
|
||
3e34: 4671 li a2,28
|
||
3e36: 4581 li a1,0
|
||
3e38: 00440513 addi a0,s0,4
|
||
3e3c: be4fc0ef jal ra,220 <memset>
|
||
3e40: 478d li a5,3
|
||
3e42: bc7c sb a5,31(s0)
|
||
3e44: 000a2783 lw a5,0(s4)
|
||
3e48: 008a2023 sw s0,0(s4)
|
||
3e4c: c01c sw a5,0(s0)
|
||
3e4e: 4651 li a2,20
|
||
3e50: 85a6 mv a1,s1
|
||
3e52: 00840513 addi a0,s0,8
|
||
3e56: 561040ef jal ra,8bb6 <memcpy>
|
||
3e5a: ac95 j 40ce <ip_reass+0x31e>
|
||
3e5c: 34d8 lbu a4,13(s1)
|
||
3e5e: 24dc lbu a5,12(s1)
|
||
3e60: 0722 slli a4,a4,0x8
|
||
3e62: 8f5d or a4,a4,a5
|
||
3e64: 24fc lbu a5,14(s1)
|
||
3e66: 07c2 slli a5,a5,0x10
|
||
3e68: 8f5d or a4,a4,a5
|
||
3e6a: 34fc lbu a5,15(s1)
|
||
3e6c: 07e2 slli a5,a5,0x18
|
||
3e6e: 8fd9 or a5,a5,a4
|
||
3e70: 4858 lw a4,20(s0)
|
||
3e72: 02f71663 bne a4,a5,3e9e <ip_reass+0xee>
|
||
3e76: 3898 lbu a4,17(s1)
|
||
3e78: 289c lbu a5,16(s1)
|
||
3e7a: 0722 slli a4,a4,0x8
|
||
3e7c: 8f5d or a4,a4,a5
|
||
3e7e: 28bc lbu a5,18(s1)
|
||
3e80: 07c2 slli a5,a5,0x10
|
||
3e82: 8f5d or a4,a4,a5
|
||
3e84: 38bc lbu a5,19(s1)
|
||
3e86: 07e2 slli a5,a5,0x18
|
||
3e88: 8fd9 or a5,a5,a4
|
||
3e8a: 4c18 lw a4,24(s0)
|
||
3e8c: 00f71963 bne a4,a5,3e9e <ip_reass+0xee>
|
||
3e90: 30dc lbu a5,5(s1)
|
||
3e92: 20d4 lbu a3,4(s1)
|
||
3e94: 245a lhu a4,12(s0)
|
||
3e96: 07a2 slli a5,a5,0x8
|
||
3e98: 8fd5 or a5,a5,a3
|
||
3e9a: 20f70663 beq a4,a5,40a6 <ip_reass+0x2f6>
|
||
3e9e: 8aa2 mv s5,s0
|
||
3ea0: 4000 lw s0,0(s0)
|
||
3ea2: b751 j 3e26 <ip_reass+0x76>
|
||
3ea4: 42cc lw a1,4(a3)
|
||
3ea6: 0055c803 lbu a6,5(a1)
|
||
3eaa: 0045c303 lbu t1,4(a1)
|
||
3eae: 0822 slli a6,a6,0x8
|
||
3eb0: 00686833 or a6,a6,t1
|
||
3eb4: 0d067c63 bgeu a2,a6,3f8c <ip_reass+0x1dc>
|
||
3eb8: 0086d593 srli a1,a3,0x8
|
||
3ebc: a394 sb a3,0(a5)
|
||
3ebe: b38c sb a1,1(a5)
|
||
3ec0: 0106d593 srli a1,a3,0x10
|
||
3ec4: 82e1 srli a3,a3,0x18
|
||
3ec6: a3ac sb a1,2(a5)
|
||
3ec8: b3b4 sb a3,3(a5)
|
||
3eca: 2a070e63 beqz a4,4186 <ip_reass+0x3d6>
|
||
3ece: 3374 lbu a3,7(a4)
|
||
3ed0: 236c lbu a1,6(a4)
|
||
3ed2: 06a2 slli a3,a3,0x8
|
||
3ed4: 8ecd or a3,a3,a1
|
||
3ed6: 14d66463 bltu a2,a3,401e <ip_reass+0x26e>
|
||
3eda: 14a86263 bltu a6,a0,401e <ip_reass+0x26e>
|
||
3ede: 00895693 srli a3,s2,0x8
|
||
3ee2: 01270023 sb s2,0(a4)
|
||
3ee6: b314 sb a3,1(a4)
|
||
3ee8: 01095693 srli a3,s2,0x10
|
||
3eec: 01895913 srli s2,s2,0x18
|
||
3ef0: a334 sb a3,2(a4)
|
||
3ef2: 012701a3 sb s2,3(a4)
|
||
3ef6: 2c78 lbu a4,30(s0)
|
||
3ef8: 4b01 li s6,0
|
||
3efa: 8b05 andi a4,a4,1
|
||
3efc: 18070f63 beqz a4,409a <ip_reass+0x2ea>
|
||
3f00: 18088d63 beqz a7,409a <ip_reass+0x2ea>
|
||
3f04: 4058 lw a4,4(s0)
|
||
3f06: 4344 lw s1,4(a4)
|
||
3f08: 30d8 lbu a4,5(s1)
|
||
3f0a: 20d4 lbu a3,4(s1)
|
||
3f0c: 0722 slli a4,a4,0x8
|
||
3f0e: 8f55 or a4,a4,a3
|
||
3f10: 18071563 bnez a4,409a <ip_reass+0x2ea>
|
||
3f14: 3394 lbu a3,1(a5)
|
||
3f16: 2398 lbu a4,0(a5)
|
||
3f18: 06a2 slli a3,a3,0x8
|
||
3f1a: 8ed9 or a3,a3,a4
|
||
3f1c: 23b8 lbu a4,2(a5)
|
||
3f1e: 0742 slli a4,a4,0x10
|
||
3f20: 8ed9 or a3,a3,a4
|
||
3f22: 33b8 lbu a4,3(a5)
|
||
3f24: 0762 slli a4,a4,0x18
|
||
3f26: 8f55 or a4,a4,a3
|
||
3f28: e761 bnez a4,3ff0 <ip_reass+0x240>
|
||
3f2a: 2c5e lhu a5,28(s0)
|
||
3f2c: 0004c903 lbu s2,0(s1)
|
||
3f30: 4651 li a2,20
|
||
3f32: 07d1 addi a5,a5,20
|
||
3f34: ac5e sh a5,28(s0)
|
||
3f36: 309c lbu a5,1(s1)
|
||
3f38: 00840593 addi a1,s0,8
|
||
3f3c: 8526 mv a0,s1
|
||
3f3e: 07a2 slli a5,a5,0x8
|
||
3f40: 0127e7b3 or a5,a5,s2
|
||
3f44: 0024c903 lbu s2,2(s1)
|
||
3f48: 0942 slli s2,s2,0x10
|
||
3f4a: 00f967b3 or a5,s2,a5
|
||
3f4e: 0034c903 lbu s2,3(s1)
|
||
3f52: 0962 slli s2,s2,0x18
|
||
3f54: 00f96933 or s2,s2,a5
|
||
3f58: 45f040ef jal ra,8bb6 <memcpy>
|
||
3f5c: 2c4a lhu a0,28(s0)
|
||
3f5e: 861ff0ef jal ra,37be <htons>
|
||
3f62: a0a8 sb a0,2(s1)
|
||
3f64: 8121 srli a0,a0,0x8
|
||
3f66: b0a8 sb a0,3(s1)
|
||
3f68: 00048323 sb zero,6(s1)
|
||
3f6c: 000483a3 sb zero,7(s1)
|
||
3f70: 00048523 sb zero,10(s1)
|
||
3f74: 000485a3 sb zero,11(s1)
|
||
3f78: 45d1 li a1,20
|
||
3f7a: 8526 mv a0,s1
|
||
3f7c: 5f2040ef jal ra,856e <inet_chksum>
|
||
3f80: a4a8 sb a0,10(s1)
|
||
3f82: 8121 srli a0,a0,0x8
|
||
3f84: b4a8 sb a0,11(s1)
|
||
3f86: 00442b03 lw s6,4(s0)
|
||
3f8a: a0d5 j 406e <ip_reass+0x2be>
|
||
3f8c: 09060963 beq a2,a6,401e <ip_reass+0x26e>
|
||
3f90: 31f4 lbu a3,7(a1)
|
||
3f92: 0065c303 lbu t1,6(a1)
|
||
3f96: 06a2 slli a3,a3,0x8
|
||
3f98: 0066e6b3 or a3,a3,t1
|
||
3f9c: 08d66163 bltu a2,a3,401e <ip_reass+0x26e>
|
||
3fa0: cb01 beqz a4,3fb0 <ip_reass+0x200>
|
||
3fa2: 2374 lbu a3,6(a4)
|
||
3fa4: 3378 lbu a4,7(a4)
|
||
3fa6: 0722 slli a4,a4,0x8
|
||
3fa8: 8f55 or a4,a4,a3
|
||
3faa: 00e80363 beq a6,a4,3fb0 <ip_reass+0x200>
|
||
3fae: 4881 li a7,0
|
||
3fb0: 3198 lbu a4,1(a1)
|
||
3fb2: 2194 lbu a3,0(a1)
|
||
3fb4: 0722 slli a4,a4,0x8
|
||
3fb6: 8f55 or a4,a4,a3
|
||
3fb8: 21b4 lbu a3,2(a1)
|
||
3fba: 06c2 slli a3,a3,0x10
|
||
3fbc: 8f55 or a4,a4,a3
|
||
3fbe: 31b4 lbu a3,3(a1)
|
||
3fc0: 06e2 slli a3,a3,0x18
|
||
3fc2: 8ed9 or a3,a3,a4
|
||
3fc4: 872e mv a4,a1
|
||
3fc6: aa65 j 417e <ip_reass+0x3ce>
|
||
3fc8: 00895693 srli a3,s2,0x8
|
||
3fcc: 01270023 sb s2,0(a4)
|
||
3fd0: b314 sb a3,1(a4)
|
||
3fd2: 01095693 srli a3,s2,0x10
|
||
3fd6: 01895913 srli s2,s2,0x18
|
||
3fda: a334 sb a3,2(a4)
|
||
3fdc: 012701a3 sb s2,3(a4)
|
||
3fe0: 2374 lbu a3,6(a4)
|
||
3fe2: 3378 lbu a4,7(a4)
|
||
3fe4: 0722 slli a4,a4,0x8
|
||
3fe6: 8f55 or a4,a4,a3
|
||
3fe8: f0e607e3 beq a2,a4,3ef6 <ip_reass+0x146>
|
||
3fec: 4881 li a7,0
|
||
3fee: b721 j 3ef6 <ip_reass+0x146>
|
||
3ff0: 4354 lw a3,4(a4)
|
||
3ff2: 23ec lbu a1,6(a5)
|
||
3ff4: 33f8 lbu a4,7(a5)
|
||
3ff6: 32dc lbu a5,5(a3)
|
||
3ff8: 22d0 lbu a2,4(a3)
|
||
3ffa: 0722 slli a4,a4,0x8
|
||
3ffc: 07a2 slli a5,a5,0x8
|
||
3ffe: 8f4d or a4,a4,a1
|
||
4000: 8fd1 or a5,a5,a2
|
||
4002: 02f71a63 bne a4,a5,4036 <ip_reass+0x286>
|
||
4006: 329c lbu a5,1(a3)
|
||
4008: 2298 lbu a4,0(a3)
|
||
400a: 07a2 slli a5,a5,0x8
|
||
400c: 8fd9 or a5,a5,a4
|
||
400e: 22b8 lbu a4,2(a3)
|
||
4010: 0742 slli a4,a4,0x10
|
||
4012: 8fd9 or a5,a5,a4
|
||
4014: 32b8 lbu a4,3(a3)
|
||
4016: 0762 slli a4,a4,0x18
|
||
4018: 8f5d or a4,a4,a5
|
||
401a: 87b6 mv a5,a3
|
||
401c: b731 j 3f28 <ip_reass+0x178>
|
||
401e: 854a mv a0,s2
|
||
4020: 575000ef jal ra,4d94 <pbuf_clen>
|
||
4024: 0009d783 lhu a5,0(s3)
|
||
4028: 40a78533 sub a0,a5,a0
|
||
402c: 00a99023 sh a0,0(s3)
|
||
4030: 854a mv a0,s2
|
||
4032: 37d000ef jal ra,4bae <pbuf_free>
|
||
4036: 4b01 li s6,0
|
||
4038: a08d j 409a <ip_reass+0x2ea>
|
||
403a: 55b1 li a1,-20
|
||
403c: 854a mv a0,s2
|
||
403e: 00492483 lw s1,4(s2)
|
||
4042: 2ff000ef jal ra,4b40 <pbuf_header>
|
||
4046: 85ca mv a1,s2
|
||
4048: 855a mv a0,s6
|
||
404a: 567000ef jal ra,4db0 <pbuf_cat>
|
||
404e: 309c lbu a5,1(s1)
|
||
4050: 0004c903 lbu s2,0(s1)
|
||
4054: 07a2 slli a5,a5,0x8
|
||
4056: 0127e7b3 or a5,a5,s2
|
||
405a: 0024c903 lbu s2,2(s1)
|
||
405e: 0942 slli s2,s2,0x10
|
||
4060: 00f967b3 or a5,s2,a5
|
||
4064: 0034c903 lbu s2,3(s1)
|
||
4068: 0962 slli s2,s2,0x18
|
||
406a: 00f96933 or s2,s2,a5
|
||
406e: fc0916e3 bnez s2,403a <ip_reass+0x28a>
|
||
4072: 000a2703 lw a4,0(s4)
|
||
4076: 401c lw a5,0(s0)
|
||
4078: 02e41463 bne s0,a4,40a0 <ip_reass+0x2f0>
|
||
407c: 00fa2023 sw a5,0(s4)
|
||
4080: 85a2 mv a1,s0
|
||
4082: 4515 li a0,5
|
||
4084: 159000ef jal ra,49dc <memp_free>
|
||
4088: 855a mv a0,s6
|
||
408a: 50b000ef jal ra,4d94 <pbuf_clen>
|
||
408e: 0009d783 lhu a5,0(s3)
|
||
4092: 40a78533 sub a0,a5,a0
|
||
4096: 00a99023 sh a0,0(s3)
|
||
409a: 855a mv a0,s6
|
||
409c: 964fc06f j 200 <__riscv_restore_10>
|
||
40a0: 00faa023 sw a5,0(s5)
|
||
40a4: bff1 j 4080 <ip_reass+0x2d0>
|
||
40a6: 30fc lbu a5,7(s1)
|
||
40a8: 20e8 lbu a0,6(s1)
|
||
40aa: 6b89 lui s7,0x2
|
||
40ac: 07a2 slli a5,a5,0x8
|
||
40ae: 8d5d or a0,a0,a5
|
||
40b0: f1cff0ef jal ra,37cc <ntohs>
|
||
40b4: 1bfd addi s7,s7,-1
|
||
40b6: 01757533 and a0,a0,s7
|
||
40ba: 0542 slli a0,a0,0x10
|
||
40bc: 8141 srli a0,a0,0x10
|
||
40be: e901 bnez a0,40ce <ip_reass+0x31e>
|
||
40c0: 246a lhu a0,14(s0)
|
||
40c2: f0aff0ef jal ra,37cc <ntohs>
|
||
40c6: 01757533 and a0,a0,s7
|
||
40ca: d80512e3 bnez a0,3e4e <ip_reass+0x9e>
|
||
40ce: 0009d783 lhu a5,0(s3)
|
||
40d2: 9d3e add s10,s10,a5
|
||
40d4: 01a99023 sh s10,0(s3)
|
||
40d8: 30fc lbu a5,7(s1)
|
||
40da: 20e8 lbu a0,6(s1)
|
||
40dc: 07a2 slli a5,a5,0x8
|
||
40de: 8d5d or a0,a0,a5
|
||
40e0: eecff0ef jal ra,37cc <ntohs>
|
||
40e4: 01251793 slli a5,a0,0x12
|
||
40e8: 0207c263 bltz a5,410c <ip_reass+0x35c>
|
||
40ec: 013b1513 slli a0,s6,0x13
|
||
40f0: 2c7c lbu a5,30(s0)
|
||
40f2: 814d srli a0,a0,0x13
|
||
40f4: 050e slli a0,a0,0x3
|
||
40f6: 006c5c13 srli s8,s8,0x6
|
||
40fa: 9566 add a0,a0,s9
|
||
40fc: 03cc7c13 andi s8,s8,60
|
||
4100: 0017e793 ori a5,a5,1
|
||
4104: 41850533 sub a0,a0,s8
|
||
4108: ac7c sb a5,30(s0)
|
||
410a: ac4a sh a0,28(s0)
|
||
410c: 00492483 lw s1,4(s2)
|
||
4110: 30bc lbu a5,3(s1)
|
||
4112: 20a8 lbu a0,2(s1)
|
||
4114: 07a2 slli a5,a5,0x8
|
||
4116: 8d5d or a0,a0,a5
|
||
4118: eb4ff0ef jal ra,37cc <ntohs>
|
||
411c: 309c lbu a5,1(s1)
|
||
411e: 8b2a mv s6,a0
|
||
4120: 2088 lbu a0,0(s1)
|
||
4122: 07a2 slli a5,a5,0x8
|
||
4124: 8d5d or a0,a0,a5
|
||
4126: ea6ff0ef jal ra,37cc <ntohs>
|
||
412a: 30fc lbu a5,7(s1)
|
||
412c: 8baa mv s7,a0
|
||
412e: 20e8 lbu a0,6(s1)
|
||
4130: 07a2 slli a5,a5,0x8
|
||
4132: 006bdb93 srli s7,s7,0x6
|
||
4136: 8d5d or a0,a0,a5
|
||
4138: e94ff0ef jal ra,37cc <ntohs>
|
||
413c: 054e slli a0,a0,0x13
|
||
413e: 814d srli a0,a0,0x13
|
||
4140: 00351613 slli a2,a0,0x3
|
||
4144: 00cb0533 add a0,s6,a2
|
||
4148: 03cbfb13 andi s6,s7,60
|
||
414c: 00492783 lw a5,4(s2)
|
||
4150: 41650533 sub a0,a0,s6
|
||
4154: 0542 slli a0,a0,0x10
|
||
4156: 00865713 srli a4,a2,0x8
|
||
415a: 8141 srli a0,a0,0x10
|
||
415c: 4054 lw a3,4(s0)
|
||
415e: b3d8 sb a4,5(a5)
|
||
4160: 00855713 srli a4,a0,0x8
|
||
4164: b3f8 sb a4,7(a5)
|
||
4166: 00078023 sb zero,0(a5)
|
||
416a: 000780a3 sb zero,1(a5)
|
||
416e: 00078123 sb zero,2(a5)
|
||
4172: 000781a3 sb zero,3(a5)
|
||
4176: a3d0 sb a2,4(a5)
|
||
4178: a3e8 sb a0,6(a5)
|
||
417a: 4885 li a7,1
|
||
417c: 4701 li a4,0
|
||
417e: d20693e3 bnez a3,3ea4 <ip_reass+0xf4>
|
||
4182: e40713e3 bnez a4,3fc8 <ip_reass+0x218>
|
||
4186: 01242223 sw s2,4(s0)
|
||
418a: b3b5 j 3ef6 <ip_reass+0x146>
|
||
|
||
0000418c <ip_frag>:
|
||
ip_frag():
|
||
418c: 834fc2ef jal t0,1c0 <__riscv_save_12>
|
||
4190: 00452c03 lw s8,4(a0)
|
||
4194: 1101 addi sp,sp,-32
|
||
4196: ca32 sw a2,20(sp)
|
||
4198: 007c4703 lbu a4,7(s8)
|
||
419c: 8daa mv s11,a0
|
||
419e: 006c4503 lbu a0,6(s8)
|
||
41a2: 0722 slli a4,a4,0x8
|
||
41a4: 0305db83 lhu s7,48(a1)
|
||
41a8: 8d59 or a0,a0,a4
|
||
41aa: 8cae mv s9,a1
|
||
41ac: e20ff0ef jal ra,37cc <ntohs>
|
||
41b0: 6689 lui a3,0x2
|
||
41b2: 00d577b3 and a5,a0,a3
|
||
41b6: fecb8a13 addi s4,s7,-20 # 1fec <LwipTCPSendCallBack+0x38>
|
||
41ba: 46a1 li a3,8
|
||
41bc: 02da4a33 div s4,s4,a3
|
||
41c0: 008dd483 lhu s1,8(s11)
|
||
41c4: 6709 lui a4,0x2
|
||
41c6: 177d addi a4,a4,-1
|
||
41c8: c63e sw a5,12(sp)
|
||
41ca: 00e57933 and s2,a0,a4
|
||
41ce: 14b1 addi s1,s1,-20
|
||
41d0: 0942 slli s2,s2,0x10
|
||
41d2: 04c2 slli s1,s1,0x10
|
||
41d4: 01095913 srli s2,s2,0x10
|
||
41d8: 80c1 srli s1,s1,0x10
|
||
41da: 4401 li s0,0
|
||
41dc: 4d51 li s10,20
|
||
41de: cc3a sw a4,24(sp)
|
||
41e0: 0a42 slli s4,s4,0x10
|
||
41e2: 010a5a13 srli s4,s4,0x10
|
||
41e6: 003a1693 slli a3,s4,0x3
|
||
41ea: 01069793 slli a5,a3,0x10
|
||
41ee: 83c1 srli a5,a5,0x10
|
||
41f0: c83e sw a5,16(sp)
|
||
41f2: fedb8793 addi a5,s7,-19
|
||
41f6: ce3e sw a5,28(sp)
|
||
41f8: e489 bnez s1,4202 <ip_frag+0x76>
|
||
41fa: 4501 li a0,0
|
||
41fc: 6105 addi sp,sp,32
|
||
41fe: ffffb06f j 1fc <__riscv_restore_12>
|
||
4202: 47e2 lw a5,24(sp)
|
||
4204: 8aa6 mv s5,s1
|
||
4206: 00f97b33 and s6,s2,a5
|
||
420a: 47b2 lw a5,12(sp)
|
||
420c: 0167eb33 or s6,a5,s6
|
||
4210: 47f2 lw a5,28(sp)
|
||
4212: 00f4c663 blt s1,a5,421e <ip_frag+0x92>
|
||
4216: 4ac2 lw s5,16(sp)
|
||
4218: 6789 lui a5,0x2
|
||
421a: 00fb6b33 or s6,s6,a5
|
||
421e: 4601 li a2,0
|
||
4220: 45d1 li a1,20
|
||
4222: 4509 li a0,2
|
||
4224: 1d9000ef jal ra,4bfc <pbuf_alloc>
|
||
4228: 89aa mv s3,a0
|
||
422a: c939 beqz a0,4280 <ip_frag+0xf4>
|
||
422c: 4148 lw a0,4(a0)
|
||
422e: 4651 li a2,20
|
||
4230: 85e2 mv a1,s8
|
||
4232: 185040ef jal ra,8bb6 <memcpy>
|
||
4236: 004da603 lw a2,4(s11)
|
||
423a: 0049ab83 lw s7,4(s3)
|
||
423e: 966a add a2,a2,s10
|
||
4240: 00cda223 sw a2,4(s11)
|
||
4244: 00add603 lhu a2,10(s11)
|
||
4248: 41a606b3 sub a3,a2,s10
|
||
424c: 00dd9523 sh a3,10(s11)
|
||
4250: 8d56 mv s10,s5
|
||
4252: 040d0963 beqz s10,42a4 <ip_frag+0x118>
|
||
4256: 00add403 lhu s0,10(s11)
|
||
425a: 008d7363 bgeu s10,s0,4260 <ip_frag+0xd4>
|
||
425e: 846a mv s0,s10
|
||
4260: 0442 slli s0,s0,0x10
|
||
4262: 8041 srli s0,s0,0x10
|
||
4264: e401 bnez s0,426c <ip_frag+0xe0>
|
||
4266: 000dad83 lw s11,0(s11)
|
||
426a: b7e5 j 4252 <ip_frag+0xc6>
|
||
426c: 4581 li a1,0
|
||
426e: 4609 li a2,2
|
||
4270: 450d li a0,3
|
||
4272: 18b000ef jal ra,4bfc <pbuf_alloc>
|
||
4276: 85aa mv a1,a0
|
||
4278: e511 bnez a0,4284 <ip_frag+0xf8>
|
||
427a: 854e mv a0,s3
|
||
427c: 133000ef jal ra,4bae <pbuf_free>
|
||
4280: 557d li a0,-1
|
||
4282: bfad j 41fc <ip_frag+0x70>
|
||
4284: 004da603 lw a2,4(s11)
|
||
4288: a502 sh s0,8(a0)
|
||
428a: a522 sh s0,10(a0)
|
||
428c: c150 sw a2,4(a0)
|
||
428e: 854e mv a0,s3
|
||
4290: 321000ef jal ra,4db0 <pbuf_cat>
|
||
4294: 408d06b3 sub a3,s10,s0
|
||
4298: 01069d13 slli s10,a3,0x10
|
||
429c: 010d5d13 srli s10,s10,0x10
|
||
42a0: fc0d13e3 bnez s10,4266 <ip_frag+0xda>
|
||
42a4: 855a mv a0,s6
|
||
42a6: d18ff0ef jal ra,37be <htons>
|
||
42aa: 00ab8323 sb a0,6(s7)
|
||
42ae: 8121 srli a0,a0,0x8
|
||
42b0: 00ab83a3 sb a0,7(s7)
|
||
42b4: 014a8513 addi a0,s5,20
|
||
42b8: 0542 slli a0,a0,0x10
|
||
42ba: 8141 srli a0,a0,0x10
|
||
42bc: d02ff0ef jal ra,37be <htons>
|
||
42c0: 00ab8123 sb a0,2(s7)
|
||
42c4: 8121 srli a0,a0,0x8
|
||
42c6: 00ab81a3 sb a0,3(s7)
|
||
42ca: 45d1 li a1,20
|
||
42cc: 000b8523 sb zero,10(s7)
|
||
42d0: 000b85a3 sb zero,11(s7)
|
||
42d4: 855e mv a0,s7
|
||
42d6: 298040ef jal ra,856e <inet_chksum>
|
||
42da: 014ca703 lw a4,20(s9)
|
||
42de: 4652 lw a2,20(sp)
|
||
42e0: 00ab8523 sb a0,10(s7)
|
||
42e4: 8121 srli a0,a0,0x8
|
||
42e6: 00ab85a3 sb a0,11(s7)
|
||
42ea: 85ce mv a1,s3
|
||
42ec: 8566 mv a0,s9
|
||
42ee: 9702 jalr a4
|
||
42f0: 415484b3 sub s1,s1,s5
|
||
42f4: 9952 add s2,s2,s4
|
||
42f6: 854e mv a0,s3
|
||
42f8: 04c2 slli s1,s1,0x10
|
||
42fa: 0942 slli s2,s2,0x10
|
||
42fc: 0b3000ef jal ra,4bae <pbuf_free>
|
||
4300: 80c1 srli s1,s1,0x10
|
||
4302: 01095913 srli s2,s2,0x10
|
||
4306: 8d22 mv s10,s0
|
||
4308: bdc5 j 41f8 <ip_frag+0x6c>
|
||
|
||
0000430a <dhcp_set_state>:
|
||
dhcp_set_state():
|
||
430a: 293c lbu a5,18(a0)
|
||
430c: 00b78963 beq a5,a1,431e <dhcp_set_state+0x14>
|
||
4310: 200077b7 lui a5,0x20007
|
||
4314: a92c sb a1,18(a0)
|
||
4316: 000509a3 sb zero,19(a0)
|
||
431a: 7807a223 sw zero,1924(a5) # 20007784 <DHCPCtrl+0x4>
|
||
431e: 8082 ret
|
||
|
||
00004320 <dhcp_option>:
|
||
dhcp_option():
|
||
4320: 2d5e lhu a5,28(a0)
|
||
4322: 4d18 lw a4,24(a0)
|
||
4324: 00f706b3 add a3,a4,a5
|
||
4328: 0eb68823 sb a1,240(a3) # 20f0 <SocketUdpReceive+0x36>
|
||
432c: 00278693 addi a3,a5,2
|
||
4330: 0785 addi a5,a5,1
|
||
4332: 07c2 slli a5,a5,0x10
|
||
4334: 83c1 srli a5,a5,0x10
|
||
4336: ad56 sh a3,28(a0)
|
||
4338: 97ba add a5,a5,a4
|
||
433a: 0ec78823 sb a2,240(a5)
|
||
433e: 8082 ret
|
||
|
||
00004340 <dhcp_option_byte>:
|
||
dhcp_option_byte():
|
||
4340: 2d5a lhu a4,28(a0)
|
||
4342: 4d1c lw a5,24(a0)
|
||
4344: 00170693 addi a3,a4,1 # 2001 <SocketIPRAWReceive+0xb>
|
||
4348: ad56 sh a3,28(a0)
|
||
434a: 97ba add a5,a5,a4
|
||
434c: 0eb78823 sb a1,240(a5)
|
||
4350: 8082 ret
|
||
|
||
00004352 <dhcp_option_long>:
|
||
dhcp_option_long():
|
||
4352: 2d5e lhu a5,28(a0)
|
||
4354: 4d18 lw a4,24(a0)
|
||
4356: 0185d613 srli a2,a1,0x18
|
||
435a: 00f706b3 add a3,a4,a5
|
||
435e: 0ec68823 sb a2,240(a3)
|
||
4362: 00178693 addi a3,a5,1
|
||
4366: 06c2 slli a3,a3,0x10
|
||
4368: 82c1 srli a3,a3,0x10
|
||
436a: 96ba add a3,a3,a4
|
||
436c: 0105d613 srli a2,a1,0x10
|
||
4370: 0ec68823 sb a2,240(a3)
|
||
4374: 00278693 addi a3,a5,2
|
||
4378: 06c2 slli a3,a3,0x10
|
||
437a: 82c1 srli a3,a3,0x10
|
||
437c: 96ba add a3,a3,a4
|
||
437e: 0085d613 srli a2,a1,0x8
|
||
4382: 0ec68823 sb a2,240(a3)
|
||
4386: 00478693 addi a3,a5,4
|
||
438a: 078d addi a5,a5,3
|
||
438c: 07c2 slli a5,a5,0x10
|
||
438e: 83c1 srli a5,a5,0x10
|
||
4390: ad56 sh a3,28(a0)
|
||
4392: 97ba add a5,a5,a4
|
||
4394: 0eb78823 sb a1,240(a5)
|
||
4398: 8082 ret
|
||
|
||
0000439a <dhcp_option_trailer>:
|
||
dhcp_option_trailer():
|
||
439a: c115 beqz a0,43be <dhcp_option_trailer+0x24>
|
||
439c: 2d5e lhu a5,28(a0)
|
||
439e: 4d18 lw a4,24(a0)
|
||
43a0: 04300613 li a2,67
|
||
43a4: 00178693 addi a3,a5,1
|
||
43a8: ad56 sh a3,28(a0)
|
||
43aa: 97ba add a5,a5,a4
|
||
43ac: 56fd li a3,-1
|
||
43ae: 0ed78823 sb a3,240(a5)
|
||
43b2: 2d5e lhu a5,28(a0)
|
||
43b4: 00f67663 bgeu a2,a5,43c0 <dhcp_option_trailer+0x26>
|
||
43b8: 0037f693 andi a3,a5,3
|
||
43bc: e291 bnez a3,43c0 <dhcp_option_trailer+0x26>
|
||
43be: 8082 ret
|
||
43c0: 00178693 addi a3,a5,1
|
||
43c4: ad56 sh a3,28(a0)
|
||
43c6: 97ba add a5,a5,a4
|
||
43c8: 0e078823 sb zero,240(a5)
|
||
43cc: b7dd j 43b2 <dhcp_option_trailer+0x18>
|
||
|
||
000043ce <dhcp_create_request>:
|
||
dhcp_create_request():
|
||
43ce: 18050263 beqz a0,4552 <dhcp_create_request+0x184>
|
||
43d2: e1ffb2ef jal t0,1f0 <__riscv_save_0>
|
||
43d6: 5104 lw s1,32(a0)
|
||
43d8: 57dd li a5,-9
|
||
43da: 16048963 beqz s1,454c <dhcp_create_request+0x17e>
|
||
43de: 892a mv s2,a0
|
||
43e0: 4601 li a2,0
|
||
43e2: 13400593 li a1,308
|
||
43e6: 4501 li a0,0
|
||
43e8: 015000ef jal ra,4bfc <pbuf_alloc>
|
||
43ec: c8c8 sw a0,20(s1)
|
||
43ee: 872a mv a4,a0
|
||
43f0: 57fd li a5,-1
|
||
43f2: 14050d63 beqz a0,454c <dhcp_create_request+0x17e>
|
||
43f6: 38bc lbu a5,19(s1)
|
||
43f8: ef99 bnez a5,4416 <dhcp_create_request+0x48>
|
||
43fa: 28bc lbu a5,18(s1)
|
||
43fc: 4605 li a2,1
|
||
43fe: 00c78c63 beq a5,a2,4416 <dhcp_create_request+0x48>
|
||
4402: 17f1 addi a5,a5,-4
|
||
4404: 0ff7f793 andi a5,a5,255
|
||
4408: 00f67763 bgeu a2,a5,4416 <dhcp_create_request+0x48>
|
||
440c: 81c1a783 lw a5,-2020(gp) # 2000003c <DHCPXid>
|
||
4410: 0785 addi a5,a5,1
|
||
4412: 80f1ae23 sw a5,-2020(gp) # 2000003c <DHCPXid>
|
||
4416: 4340 lw s0,4(a4)
|
||
4418: 81c1a503 lw a0,-2020(gp) # 2000003c <DHCPXid>
|
||
441c: 4785 li a5,1
|
||
441e: cc80 sw s0,24(s1)
|
||
4420: c088 sw a0,0(s1)
|
||
4422: a01c sb a5,0(s0)
|
||
4424: b01c sb a5,1(s0)
|
||
4426: 4799 li a5,6
|
||
4428: a03c sb a5,2(s0)
|
||
442a: 000401a3 sb zero,3(s0)
|
||
442e: bacff0ef jal ra,37da <htonl>
|
||
4432: 00855793 srli a5,a0,0x8
|
||
4436: a048 sb a0,4(s0)
|
||
4438: b05c sb a5,5(s0)
|
||
443a: 01055793 srli a5,a0,0x10
|
||
443e: 8161 srli a0,a0,0x18
|
||
4440: a07c sb a5,6(s0)
|
||
4442: b068 sb a0,7(s0)
|
||
4444: 4c80 lw s0,24(s1)
|
||
4446: 4729 li a4,10
|
||
4448: 00040423 sb zero,8(s0)
|
||
444c: 000404a3 sb zero,9(s0)
|
||
4450: 00040523 sb zero,10(s0)
|
||
4454: 000405a3 sb zero,11(s0)
|
||
4458: 00040623 sb zero,12(s0)
|
||
445c: 000406a3 sb zero,13(s0)
|
||
4460: 00040723 sb zero,14(s0)
|
||
4464: 000407a3 sb zero,15(s0)
|
||
4468: 28bc lbu a5,18(s1)
|
||
446a: 00e78863 beq a5,a4,447a <dhcp_create_request+0xac>
|
||
446e: 17f1 addi a5,a5,-4
|
||
4470: 0ff7f793 andi a5,a5,255
|
||
4474: 4705 li a4,1
|
||
4476: 00f76e63 bltu a4,a5,4492 <dhcp_create_request+0xc4>
|
||
447a: 00494783 lbu a5,4(s2)
|
||
447e: a45c sb a5,12(s0)
|
||
4480: 00594783 lbu a5,5(s2)
|
||
4484: b45c sb a5,13(s0)
|
||
4486: 00694783 lbu a5,6(s2)
|
||
448a: a47c sb a5,14(s0)
|
||
448c: 00794783 lbu a5,7(s2)
|
||
4490: b47c sb a5,15(s0)
|
||
4492: 00040823 sb zero,16(s0)
|
||
4496: 000408a3 sb zero,17(s0)
|
||
449a: 00040923 sb zero,18(s0)
|
||
449e: 000409a3 sb zero,19(s0)
|
||
44a2: 00040a23 sb zero,20(s0)
|
||
44a6: 00040aa3 sb zero,21(s0)
|
||
44aa: 00040b23 sb zero,22(s0)
|
||
44ae: 00040ba3 sb zero,23(s0)
|
||
44b2: 00040c23 sb zero,24(s0)
|
||
44b6: 00040ca3 sb zero,25(s0)
|
||
44ba: 00040d23 sb zero,26(s0)
|
||
44be: 00040da3 sb zero,27(s0)
|
||
44c2: 02894583 lbu a1,40(s2)
|
||
44c6: 4781 li a5,0
|
||
44c8: 4641 li a2,16
|
||
44ca: 01079713 slli a4,a5,0x10
|
||
44ce: 8341 srli a4,a4,0x10
|
||
44d0: 4681 li a3,0
|
||
44d2: 00b77663 bgeu a4,a1,44de <dhcp_create_request+0x110>
|
||
44d6: 00f90733 add a4,s2,a5
|
||
44da: 02974683 lbu a3,41(a4)
|
||
44de: 00f40733 add a4,s0,a5
|
||
44e2: af54 sb a3,28(a4)
|
||
44e4: 0785 addi a5,a5,1
|
||
44e6: fec792e3 bne a5,a2,44ca <dhcp_create_request+0xfc>
|
||
44ea: 02c40713 addi a4,s0,44
|
||
44ee: 06c40793 addi a5,s0,108
|
||
44f2: 00070023 sb zero,0(a4)
|
||
44f6: 0705 addi a4,a4,1
|
||
44f8: fee79de3 bne a5,a4,44f2 <dhcp_create_request+0x124>
|
||
44fc: 0ec40713 addi a4,s0,236
|
||
4500: 00078023 sb zero,0(a5)
|
||
4504: 0785 addi a5,a5,1
|
||
4506: fee79de3 bne a5,a4,4500 <dhcp_create_request+0x132>
|
||
450a: 63825537 lui a0,0x63825
|
||
450e: 36350513 addi a0,a0,867 # 63825363 <_eusrstack+0x43805363>
|
||
4512: ac8ff0ef jal ra,37da <htonl>
|
||
4516: 00855793 srli a5,a0,0x8
|
||
451a: 0ea40623 sb a0,236(s0)
|
||
451e: 0ef406a3 sb a5,237(s0)
|
||
4522: 4c90 lw a2,24(s1)
|
||
4524: 01055793 srli a5,a0,0x10
|
||
4528: 8161 srli a0,a0,0x18
|
||
452a: 0ef40723 sb a5,238(s0)
|
||
452e: 0ea407a3 sb a0,239(s0)
|
||
4532: 00049e23 sh zero,28(s1)
|
||
4536: 4781 li a5,0
|
||
4538: 04400713 li a4,68
|
||
453c: 00f606b3 add a3,a2,a5
|
||
4540: 0ef68823 sb a5,240(a3)
|
||
4544: 0785 addi a5,a5,1
|
||
4546: fee79be3 bne a5,a4,453c <dhcp_create_request+0x16e>
|
||
454a: 4781 li a5,0
|
||
454c: 853e mv a0,a5
|
||
454e: cc7fb06f j 214 <__riscv_restore_0>
|
||
4552: 57d9 li a5,-10
|
||
4554: 853e mv a0,a5
|
||
4556: 8082 ret
|
||
|
||
00004558 <dhcp_delete_request>:
|
||
dhcp_delete_request():
|
||
4558: cd11 beqz a0,4574 <dhcp_delete_request+0x1c>
|
||
455a: c97fb2ef jal t0,1f0 <__riscv_save_0>
|
||
455e: 5100 lw s0,32(a0)
|
||
4560: c801 beqz s0,4570 <dhcp_delete_request+0x18>
|
||
4562: 4848 lw a0,20(s0)
|
||
4564: c111 beqz a0,4568 <dhcp_delete_request+0x10>
|
||
4566: 25a1 jal 4bae <pbuf_free>
|
||
4568: 00042a23 sw zero,20(s0)
|
||
456c: 00042c23 sw zero,24(s0)
|
||
4570: ca5fb06f j 214 <__riscv_restore_0>
|
||
4574: 8082 ret
|
||
|
||
00004576 <dhcp_arp_reply>:
|
||
dhcp_arp_reply():
|
||
4576: 18050063 beqz a0,46f6 <dhcp_arp_reply+0x180>
|
||
457a: c77fb2ef jal t0,1f0 <__riscv_save_0>
|
||
457e: 5100 lw s0,32(a0)
|
||
4580: 16040963 beqz s0,46f2 <dhcp_arp_reply+0x17c>
|
||
4584: 2838 lbu a4,18(s0)
|
||
4586: 47a1 li a5,8
|
||
4588: 16f71563 bne a4,a5,46f2 <dhcp_arp_reply+0x17c>
|
||
458c: 3198 lbu a4,1(a1)
|
||
458e: 219c lbu a5,0(a1)
|
||
4590: 0722 slli a4,a4,0x8
|
||
4592: 8f5d or a4,a4,a5
|
||
4594: 21bc lbu a5,2(a1)
|
||
4596: 07c2 slli a5,a5,0x10
|
||
4598: 8f5d or a4,a4,a5
|
||
459a: 31bc lbu a5,3(a1)
|
||
459c: 07e2 slli a5,a5,0x18
|
||
459e: 8fd9 or a5,a5,a4
|
||
45a0: 5418 lw a4,40(s0)
|
||
45a2: 14e79863 bne a5,a4,46f2 <dhcp_arp_reply+0x17c>
|
||
45a6: 84aa mv s1,a0
|
||
45a8: 45b1 li a1,12
|
||
45aa: 8522 mv a0,s0
|
||
45ac: d5fff0ef jal ra,430a <dhcp_set_state>
|
||
45b0: 8526 mv a0,s1
|
||
45b2: e1dff0ef jal ra,43ce <dhcp_create_request>
|
||
45b6: 12051963 bnez a0,46e8 <dhcp_arp_reply+0x172>
|
||
45ba: 4605 li a2,1
|
||
45bc: 03500593 li a1,53
|
||
45c0: 8522 mv a0,s0
|
||
45c2: d5fff0ef jal ra,4320 <dhcp_option>
|
||
45c6: 4591 li a1,4
|
||
45c8: 8522 mv a0,s0
|
||
45ca: d77ff0ef jal ra,4340 <dhcp_option_byte>
|
||
45ce: 4611 li a2,4
|
||
45d0: 03200593 li a1,50
|
||
45d4: 8522 mv a0,s0
|
||
45d6: d4bff0ef jal ra,4320 <dhcp_option>
|
||
45da: 5408 lw a0,40(s0)
|
||
45dc: a22ff0ef jal ra,37fe <ntohl>
|
||
45e0: 85aa mv a1,a0
|
||
45e2: 8522 mv a0,s0
|
||
45e4: d6fff0ef jal ra,4352 <dhcp_option_long>
|
||
45e8: 4611 li a2,4
|
||
45ea: 03600593 li a1,54
|
||
45ee: 8522 mv a0,s0
|
||
45f0: d31ff0ef jal ra,4320 <dhcp_option>
|
||
45f4: 5048 lw a0,36(s0)
|
||
45f6: a08ff0ef jal ra,37fe <ntohl>
|
||
45fa: 85aa mv a1,a0
|
||
45fc: 8522 mv a0,s0
|
||
45fe: d55ff0ef jal ra,4352 <dhcp_option_long>
|
||
4602: 461d li a2,7
|
||
4604: 03d00593 li a1,61
|
||
4608: 8522 mv a0,s0
|
||
460a: d17ff0ef jal ra,4320 <dhcp_option>
|
||
460e: 2c5e lhu a5,28(s0)
|
||
4610: 4c18 lw a4,24(s0)
|
||
4612: 4605 li a2,1
|
||
4614: 8522 mv a0,s0
|
||
4616: 00f706b3 add a3,a4,a5
|
||
461a: 0ec68823 sb a2,240(a3)
|
||
461e: 00278613 addi a2,a5,2
|
||
4622: 0642 slli a2,a2,0x10
|
||
4624: 8241 srli a2,a2,0x10
|
||
4626: ac52 sh a2,28(s0)
|
||
4628: 00178693 addi a3,a5,1
|
||
462c: 0294c583 lbu a1,41(s1)
|
||
4630: 06c2 slli a3,a3,0x10
|
||
4632: 82c1 srli a3,a3,0x10
|
||
4634: 96ba add a3,a3,a4
|
||
4636: 0eb68823 sb a1,240(a3)
|
||
463a: 00378693 addi a3,a5,3
|
||
463e: 06c2 slli a3,a3,0x10
|
||
4640: 82c1 srli a3,a3,0x10
|
||
4642: ac56 sh a3,28(s0)
|
||
4644: 02a4c583 lbu a1,42(s1)
|
||
4648: 963a add a2,a2,a4
|
||
464a: 96ba add a3,a3,a4
|
||
464c: 0eb60823 sb a1,240(a2)
|
||
4650: 00478613 addi a2,a5,4
|
||
4654: 0642 slli a2,a2,0x10
|
||
4656: 8241 srli a2,a2,0x10
|
||
4658: ac52 sh a2,28(s0)
|
||
465a: 02b4c583 lbu a1,43(s1)
|
||
465e: 963a add a2,a2,a4
|
||
4660: 0eb68823 sb a1,240(a3)
|
||
4664: 00578693 addi a3,a5,5
|
||
4668: 06c2 slli a3,a3,0x10
|
||
466a: 82c1 srli a3,a3,0x10
|
||
466c: ac56 sh a3,28(s0)
|
||
466e: 02c4c583 lbu a1,44(s1)
|
||
4672: 96ba add a3,a3,a4
|
||
4674: 0eb60823 sb a1,240(a2)
|
||
4678: 00678613 addi a2,a5,6
|
||
467c: 0642 slli a2,a2,0x10
|
||
467e: 8241 srli a2,a2,0x10
|
||
4680: ac52 sh a2,28(s0)
|
||
4682: 02d4c583 lbu a1,45(s1)
|
||
4686: 079d addi a5,a5,7
|
||
4688: 9732 add a4,a4,a2
|
||
468a: 0eb68823 sb a1,240(a3)
|
||
468e: ac5e sh a5,28(s0)
|
||
4690: 02e4c783 lbu a5,46(s1)
|
||
4694: 0ef70823 sb a5,240(a4)
|
||
4698: d03ff0ef jal ra,439a <dhcp_option_trailer>
|
||
469c: 2c4e lhu a1,28(s0)
|
||
469e: 4848 lw a0,20(s0)
|
||
46a0: 0f058593 addi a1,a1,240
|
||
46a4: 05c2 slli a1,a1,0x10
|
||
46a6: 81c1 srli a1,a1,0x10
|
||
46a8: 2d51 jal 4d3c <pbuf_realloc>
|
||
46aa: 02844703 lbu a4,40(s0)
|
||
46ae: 4c1c lw a5,24(s0)
|
||
46b0: 484c lw a1,20(s0)
|
||
46b2: 4048 lw a0,4(s0)
|
||
46b4: a7d8 sb a4,12(a5)
|
||
46b6: 02944703 lbu a4,41(s0)
|
||
46ba: 0044a903 lw s2,4(s1)
|
||
46be: b7d8 sb a4,13(a5)
|
||
46c0: 02a44703 lbu a4,42(s0)
|
||
46c4: 04300693 li a3,67
|
||
46c8: 84818613 addi a2,gp,-1976 # 20000068 <ip_addr_broadcast>
|
||
46cc: a7f8 sb a4,14(a5)
|
||
46ce: 02b44703 lbu a4,43(s0)
|
||
46d2: b7f8 sb a4,15(a5)
|
||
46d4: 0004a223 sw zero,4(s1)
|
||
46d8: 8726 mv a4,s1
|
||
46da: 061030ef jal ra,7f3a <udp_sendto_if>
|
||
46de: 8526 mv a0,s1
|
||
46e0: 0124a223 sw s2,4(s1)
|
||
46e4: e75ff0ef jal ra,4558 <dhcp_delete_request>
|
||
46e8: 383c lbu a5,19(s0)
|
||
46ea: 0785 addi a5,a5,1
|
||
46ec: b83c sb a5,19(s0)
|
||
46ee: 4785 li a5,1
|
||
46f0: ac7e sh a5,30(s0)
|
||
46f2: b23fb06f j 214 <__riscv_restore_0>
|
||
46f6: 8082 ret
|
||
|
||
000046f8 <lwip_init>:
|
||
lwip_init():
|
||
46f8: af9fb2ef jal t0,1f0 <__riscv_save_0>
|
||
46fc: 2811 jal 4710 <mem_init>
|
||
46fe: 24bd jal 496c <memp_init>
|
||
4700: 200077b7 lui a5,0x20007
|
||
4704: 7e07a783 lw a5,2016(a5) # 200077e0 <DNSInf+0x8>
|
||
4708: c391 beqz a5,470c <lwip_init+0x14>
|
||
470a: 9782 jalr a5
|
||
470c: b09fb06f j 214 <__riscv_restore_0>
|
||
|
||
00004710 <mem_init>:
|
||
mem_init():
|
||
4710: 20004737 lui a4,0x20004
|
||
4714: 7ab70713 addi a4,a4,1963 # 200047ab <Mem_Heap_Memory+0x3>
|
||
4718: 9b71 andi a4,a4,-4
|
||
471a: 8ee1a823 sw a4,-1808(gp) # 20000110 <ram>
|
||
471e: 200087b7 lui a5,0x20008
|
||
4722: 8447a783 lw a5,-1980(a5) # 20007844 <WCHCfg+0x8>
|
||
4726: 00071123 sh zero,2(a4)
|
||
472a: 078d addi a5,a5,3
|
||
472c: 9bf1 andi a5,a5,-4
|
||
472e: 01079693 slli a3,a5,0x10
|
||
4732: 82c1 srli a3,a3,0x10
|
||
4734: 97ba add a5,a5,a4
|
||
4736: a316 sh a3,0(a4)
|
||
4738: 00070223 sb zero,4(a4)
|
||
473c: 8ef1aa23 sw a5,-1804(gp) # 20000114 <ram_end>
|
||
4740: 4605 li a2,1
|
||
4742: a3d0 sb a2,4(a5)
|
||
4744: a396 sh a3,0(a5)
|
||
4746: a3b6 sh a3,2(a5)
|
||
4748: 8ee1a623 sw a4,-1812(gp) # 2000010c <lfree>
|
||
474c: 8082 ret
|
||
|
||
0000474e <mem_free>:
|
||
mem_free():
|
||
474e: c149 beqz a0,47d0 <mem_free+0x82>
|
||
4750: 8f01a783 lw a5,-1808(gp) # 20000110 <ram>
|
||
4754: 06f56e63 bltu a0,a5,47d0 <mem_free+0x82>
|
||
4758: 8f41a583 lw a1,-1804(gp) # 20000114 <ram_end>
|
||
475c: 06b57a63 bgeu a0,a1,47d0 <mem_free+0x82>
|
||
4760: 8ec1a683 lw a3,-1812(gp) # 2000010c <lfree>
|
||
4764: ff850613 addi a2,a0,-8
|
||
4768: fe050e23 sb zero,-4(a0)
|
||
476c: 8ec18713 addi a4,gp,-1812 # 2000010c <lfree>
|
||
4770: 00d67363 bgeu a2,a3,4776 <mem_free+0x28>
|
||
4774: c310 sw a2,0(a4)
|
||
4776: ff855683 lhu a3,-8(a0)
|
||
477a: 96be add a3,a3,a5
|
||
477c: 02d60463 beq a2,a3,47a4 <mem_free+0x56>
|
||
4780: 0046c803 lbu a6,4(a3)
|
||
4784: 02081063 bnez a6,47a4 <mem_free+0x56>
|
||
4788: 00d58e63 beq a1,a3,47a4 <mem_free+0x56>
|
||
478c: 430c lw a1,0(a4)
|
||
478e: 00b69363 bne a3,a1,4794 <mem_free+0x46>
|
||
4792: c310 sw a2,0(a4)
|
||
4794: 228e lhu a1,0(a3)
|
||
4796: feb51c23 sh a1,-8(a0)
|
||
479a: 2296 lhu a3,0(a3)
|
||
479c: 40f605b3 sub a1,a2,a5
|
||
47a0: 96be add a3,a3,a5
|
||
47a2: a2ae sh a1,2(a3)
|
||
47a4: ffa55583 lhu a1,-6(a0)
|
||
47a8: 00b786b3 add a3,a5,a1
|
||
47ac: 02d60263 beq a2,a3,47d0 <mem_free+0x82>
|
||
47b0: 0046c803 lbu a6,4(a3)
|
||
47b4: 00081e63 bnez a6,47d0 <mem_free+0x82>
|
||
47b8: 00072803 lw a6,0(a4)
|
||
47bc: 01061363 bne a2,a6,47c2 <mem_free+0x74>
|
||
47c0: c314 sw a3,0(a4)
|
||
47c2: ff855703 lhu a4,-8(a0)
|
||
47c6: a29a sh a4,0(a3)
|
||
47c8: ff855703 lhu a4,-8(a0)
|
||
47cc: 97ba add a5,a5,a4
|
||
47ce: a3ae sh a1,2(a5)
|
||
47d0: 8082 ret
|
||
|
||
000047d2 <mem_realloc>:
|
||
mem_realloc():
|
||
47d2: 058d addi a1,a1,3
|
||
47d4: 05c2 slli a1,a1,0x10
|
||
47d6: 81c1 srli a1,a1,0x10
|
||
47d8: 99f1 andi a1,a1,-4
|
||
47da: 05c2 slli a1,a1,0x10
|
||
47dc: 81c1 srli a1,a1,0x10
|
||
47de: 4731 li a4,12
|
||
47e0: 87ae mv a5,a1
|
||
47e2: 00e5f363 bgeu a1,a4,47e8 <mem_realloc+0x16>
|
||
47e6: 47b1 li a5,12
|
||
47e8: 20008737 lui a4,0x20008
|
||
47ec: 84472603 lw a2,-1980(a4) # 20007844 <WCHCfg+0x8>
|
||
47f0: 07c2 slli a5,a5,0x10
|
||
47f2: 83c1 srli a5,a5,0x10
|
||
47f4: 060d addi a2,a2,3
|
||
47f6: 9a71 andi a2,a2,-4
|
||
47f8: 0af66063 bltu a2,a5,4898 <mem_realloc+0xc6>
|
||
47fc: 8f01a703 lw a4,-1808(gp) # 20000110 <ram>
|
||
4800: 08e56d63 bltu a0,a4,489a <mem_realloc+0xc8>
|
||
4804: 8f41a683 lw a3,-1804(gp) # 20000114 <ram_end>
|
||
4808: 08d57963 bgeu a0,a3,489a <mem_realloc+0xc8>
|
||
480c: ff850693 addi a3,a0,-8
|
||
4810: ff855883 lhu a7,-8(a0)
|
||
4814: 8e99 sub a3,a3,a4
|
||
4816: 06c2 slli a3,a3,0x10
|
||
4818: 82c1 srli a3,a3,0x10
|
||
481a: ff888593 addi a1,a7,-8
|
||
481e: 8d95 sub a1,a1,a3
|
||
4820: 05c2 slli a1,a1,0x10
|
||
4822: 81c1 srli a1,a1,0x10
|
||
4824: 06f5ea63 bltu a1,a5,4898 <mem_realloc+0xc6>
|
||
4828: 06f58963 beq a1,a5,489a <mem_realloc+0xc8>
|
||
482c: 01170333 add t1,a4,a7
|
||
4830: 00434803 lbu a6,4(t1) # 80000004 <_eusrstack+0x5ffe0004>
|
||
4834: 02081463 bnez a6,485c <mem_realloc+0x8a>
|
||
4838: 00868593 addi a1,a3,8
|
||
483c: 8ec18813 addi a6,gp,-1812 # 2000010c <lfree>
|
||
4840: 97ae add a5,a5,a1
|
||
4842: 00082e03 lw t3,0(a6)
|
||
4846: 07c2 slli a5,a5,0x10
|
||
4848: 83c1 srli a5,a5,0x10
|
||
484a: 00035883 lhu a7,0(t1)
|
||
484e: 00f705b3 add a1,a4,a5
|
||
4852: 026e1663 bne t3,t1,487e <mem_realloc+0xac>
|
||
4856: 00b82023 sw a1,0(a6)
|
||
485a: a015 j 487e <mem_realloc+0xac>
|
||
485c: 01478813 addi a6,a5,20
|
||
4860: 0305ed63 bltu a1,a6,489a <mem_realloc+0xc8>
|
||
4864: 00868593 addi a1,a3,8
|
||
4868: 97ae add a5,a5,a1
|
||
486a: 8ec18813 addi a6,gp,-1812 # 2000010c <lfree>
|
||
486e: 07c2 slli a5,a5,0x10
|
||
4870: 00082303 lw t1,0(a6)
|
||
4874: 83c1 srli a5,a5,0x10
|
||
4876: 00f705b3 add a1,a4,a5
|
||
487a: fc65eee3 bltu a1,t1,4856 <mem_realloc+0x84>
|
||
487e: 01159023 sh a7,0(a1)
|
||
4882: a1b6 sh a3,2(a1)
|
||
4884: 00058223 sb zero,4(a1)
|
||
4888: fef51c23 sh a5,-8(a0)
|
||
488c: 2196 lhu a3,0(a1)
|
||
488e: 00d60663 beq a2,a3,489a <mem_realloc+0xc8>
|
||
4892: 9736 add a4,a4,a3
|
||
4894: a33e sh a5,2(a4)
|
||
4896: 8082 ret
|
||
4898: 4501 li a0,0
|
||
489a: 8082 ret
|
||
|
||
0000489c <mem_malloc>:
|
||
mem_malloc():
|
||
489c: c539 beqz a0,48ea <mem_malloc+0x4e>
|
||
489e: 00350713 addi a4,a0,3
|
||
48a2: 0742 slli a4,a4,0x10
|
||
48a4: 8341 srli a4,a4,0x10
|
||
48a6: 9b71 andi a4,a4,-4
|
||
48a8: 0742 slli a4,a4,0x10
|
||
48aa: 8341 srli a4,a4,0x10
|
||
48ac: 46b1 li a3,12
|
||
48ae: 87ba mv a5,a4
|
||
48b0: 00d77363 bgeu a4,a3,48b6 <mem_malloc+0x1a>
|
||
48b4: 47b1 li a5,12
|
||
48b6: 20008737 lui a4,0x20008
|
||
48ba: 84472603 lw a2,-1980(a4) # 20007844 <WCHCfg+0x8>
|
||
48be: 07c2 slli a5,a5,0x10
|
||
48c0: 83c1 srli a5,a5,0x10
|
||
48c2: 060d addi a2,a2,3
|
||
48c4: 9a71 andi a2,a2,-4
|
||
48c6: 4501 li a0,0
|
||
48c8: 02f66263 bltu a2,a5,48ec <mem_malloc+0x50>
|
||
48cc: 8ec1a703 lw a4,-1812(gp) # 2000010c <lfree>
|
||
48d0: 8f01ae83 lw t4,-1808(gp) # 20000110 <ram>
|
||
48d4: 8ec18593 addi a1,gp,-1812 # 2000010c <lfree>
|
||
48d8: 40f60333 sub t1,a2,a5
|
||
48dc: 41d706b3 sub a3,a4,t4
|
||
48e0: 06c2 slli a3,a3,0x10
|
||
48e2: 82c1 srli a3,a3,0x10
|
||
48e4: 5e61 li t3,-8
|
||
48e6: 0066e463 bltu a3,t1,48ee <mem_malloc+0x52>
|
||
48ea: 4501 li a0,0
|
||
48ec: 8082 ret
|
||
48ee: 00de8533 add a0,t4,a3
|
||
48f2: 00454803 lbu a6,4(a0)
|
||
48f6: 00055883 lhu a7,0(a0)
|
||
48fa: 06081763 bnez a6,4968 <mem_malloc+0xcc>
|
||
48fe: 40de0833 sub a6,t3,a3
|
||
4902: 9846 add a6,a6,a7
|
||
4904: 06f86263 bltu a6,a5,4968 <mem_malloc+0xcc>
|
||
4908: 01478313 addi t1,a5,20
|
||
490c: 04686263 bltu a6,t1,4950 <mem_malloc+0xb4>
|
||
4910: 07a1 addi a5,a5,8
|
||
4912: 97b6 add a5,a5,a3
|
||
4914: 07c2 slli a5,a5,0x10
|
||
4916: 83c1 srli a5,a5,0x10
|
||
4918: 00fe8833 add a6,t4,a5
|
||
491c: 01181023 sh a7,0(a6)
|
||
4920: 00d81123 sh a3,2(a6)
|
||
4924: 00080223 sb zero,4(a6)
|
||
4928: 4685 li a3,1
|
||
492a: a11e sh a5,0(a0)
|
||
492c: a154 sb a3,4(a0)
|
||
492e: 00085683 lhu a3,0(a6)
|
||
4932: 00d60463 beq a2,a3,493a <mem_malloc+0x9e>
|
||
4936: 96f6 add a3,a3,t4
|
||
4938: a2be sh a5,2(a3)
|
||
493a: 00a71963 bne a4,a0,494c <mem_malloc+0xb0>
|
||
493e: 8f41a683 lw a3,-1804(gp) # 20000114 <ram_end>
|
||
4942: 4781 li a5,0
|
||
4944: 2350 lbu a2,4(a4)
|
||
4946: ee01 bnez a2,495e <mem_malloc+0xc2>
|
||
4948: c391 beqz a5,494c <mem_malloc+0xb0>
|
||
494a: c198 sw a4,0(a1)
|
||
494c: 0521 addi a0,a0,8
|
||
494e: 8082 ret
|
||
4950: 4785 li a5,1
|
||
4952: a15c sb a5,4(a0)
|
||
4954: b7dd j 493a <mem_malloc+0x9e>
|
||
4956: 231a lhu a4,0(a4)
|
||
4958: 4785 li a5,1
|
||
495a: 9776 add a4,a4,t4
|
||
495c: b7e5 j 4944 <mem_malloc+0xa8>
|
||
495e: fee69ce3 bne a3,a4,4956 <mem_malloc+0xba>
|
||
4962: d7ed beqz a5,494c <mem_malloc+0xb0>
|
||
4964: c194 sw a3,0(a1)
|
||
4966: b7dd j 494c <mem_malloc+0xb0>
|
||
4968: 86c6 mv a3,a7
|
||
496a: bfb5 j 48e6 <mem_malloc+0x4a>
|
||
|
||
0000496c <memp_init>:
|
||
memp_init():
|
||
496c: 8241a583 lw a1,-2012(gp) # 20000044 <memp_num>
|
||
4970: 8281a683 lw a3,-2008(gp) # 20000048 <memp_sizes>
|
||
4974: 200067b7 lui a5,0x20006
|
||
4978: a1b78793 addi a5,a5,-1509 # 20005a1b <Memp_Memory+0x3>
|
||
497c: 20008737 lui a4,0x20008
|
||
4980: 9bf1 andi a5,a5,-4
|
||
4982: 8a070713 addi a4,a4,-1888 # 200078a0 <memp_tab>
|
||
4986: 01068513 addi a0,a3,16
|
||
498a: 0005d803 lhu a6,0(a1)
|
||
498e: 00072023 sw zero,0(a4)
|
||
4992: 4601 li a2,0
|
||
4994: 00c81863 bne a6,a2,49a4 <memp_init+0x38>
|
||
4998: 0689 addi a3,a3,2
|
||
499a: 0711 addi a4,a4,4
|
||
499c: 0589 addi a1,a1,2
|
||
499e: fea696e3 bne a3,a0,498a <memp_init+0x1e>
|
||
49a2: 8082 ret
|
||
49a4: 00072883 lw a7,0(a4)
|
||
49a8: 0605 addi a2,a2,1
|
||
49aa: 0642 slli a2,a2,0x10
|
||
49ac: 0117a023 sw a7,0(a5)
|
||
49b0: 0006d883 lhu a7,0(a3)
|
||
49b4: c31c sw a5,0(a4)
|
||
49b6: 8241 srli a2,a2,0x10
|
||
49b8: 97c6 add a5,a5,a7
|
||
49ba: bfe9 j 4994 <memp_init+0x28>
|
||
|
||
000049bc <memp_malloc>:
|
||
memp_malloc():
|
||
49bc: 479d li a5,7
|
||
49be: 00a7ed63 bltu a5,a0,49d8 <memp_malloc+0x1c>
|
||
49c2: 200087b7 lui a5,0x20008
|
||
49c6: 050a slli a0,a0,0x2
|
||
49c8: 8a078793 addi a5,a5,-1888 # 200078a0 <memp_tab>
|
||
49cc: 97aa add a5,a5,a0
|
||
49ce: 4388 lw a0,0(a5)
|
||
49d0: c509 beqz a0,49da <memp_malloc+0x1e>
|
||
49d2: 4118 lw a4,0(a0)
|
||
49d4: c398 sw a4,0(a5)
|
||
49d6: 8082 ret
|
||
49d8: 4501 li a0,0
|
||
49da: 8082 ret
|
||
|
||
000049dc <memp_free>:
|
||
memp_free():
|
||
49dc: c999 beqz a1,49f2 <memp_free+0x16>
|
||
49de: 00251793 slli a5,a0,0x2
|
||
49e2: 20008537 lui a0,0x20008
|
||
49e6: 8a050513 addi a0,a0,-1888 # 200078a0 <memp_tab>
|
||
49ea: 953e add a0,a0,a5
|
||
49ec: 411c lw a5,0(a0)
|
||
49ee: c19c sw a5,0(a1)
|
||
49f0: c10c sw a1,0(a0)
|
||
49f2: 8082 ret
|
||
|
||
000049f4 <netif_set_ipaddr>:
|
||
netif_set_ipaddr():
|
||
49f4: fe2fb2ef jal t0,1d6 <__riscv_save_4>
|
||
49f8: 3198 lbu a4,1(a1)
|
||
49fa: 219c lbu a5,0(a1)
|
||
49fc: 84aa mv s1,a0
|
||
49fe: 0722 slli a4,a4,0x8
|
||
4a00: 8f5d or a4,a4,a5
|
||
4a02: 21bc lbu a5,2(a1)
|
||
4a04: 842e mv s0,a1
|
||
4a06: 07c2 slli a5,a5,0x10
|
||
4a08: 8f5d or a4,a4,a5
|
||
4a0a: 31bc lbu a5,3(a1)
|
||
4a0c: 07e2 slli a5,a5,0x18
|
||
4a0e: 8fd9 or a5,a5,a4
|
||
4a10: 4158 lw a4,4(a0)
|
||
4a12: 00e79f63 bne a5,a4,4a30 <netif_set_ipaddr+0x3c>
|
||
4a16: 3018 lbu a4,1(s0)
|
||
4a18: 201c lbu a5,0(s0)
|
||
4a1a: 0722 slli a4,a4,0x8
|
||
4a1c: 8f5d or a4,a4,a5
|
||
4a1e: 203c lbu a5,2(s0)
|
||
4a20: 07c2 slli a5,a5,0x10
|
||
4a22: 8f5d or a4,a4,a5
|
||
4a24: 303c lbu a5,3(s0)
|
||
4a26: 07e2 slli a5,a5,0x18
|
||
4a28: 8fd9 or a5,a5,a4
|
||
4a2a: c0dc sw a5,4(s1)
|
||
4a2c: fdefb06f j 20a <__riscv_restore_4>
|
||
4a30: 9081a503 lw a0,-1784(gp) # 20000128 <tcp_active_pcbs>
|
||
4a34: 4901 li s2,0
|
||
4a36: 06400993 li s3,100
|
||
4a3a: c105 beqz a0,4a5a <netif_set_ipaddr+0x66>
|
||
4a3c: 4118 lw a4,0(a0)
|
||
4a3e: 40dc lw a5,4(s1)
|
||
4a40: 00c52a03 lw s4,12(a0)
|
||
4a44: 04f71163 bne a4,a5,4a86 <netif_set_ipaddr+0x92>
|
||
4a48: 4585 li a1,1
|
||
4a4a: 57d000ef jal ra,57c6 <tcp_abandon>
|
||
4a4e: 00190793 addi a5,s2,1
|
||
4a52: 0ff7f793 andi a5,a5,255
|
||
4a56: 0329f763 bgeu s3,s2,4a84 <netif_set_ipaddr+0x90>
|
||
4a5a: 9101a783 lw a5,-1776(gp) # 20000130 <tcp_listen_pcbs>
|
||
4a5e: dfc5 beqz a5,4a16 <netif_set_ipaddr+0x22>
|
||
4a60: 4398 lw a4,0(a5)
|
||
4a62: cf19 beqz a4,4a80 <netif_set_ipaddr+0x8c>
|
||
4a64: 40d4 lw a3,4(s1)
|
||
4a66: 00d71d63 bne a4,a3,4a80 <netif_set_ipaddr+0x8c>
|
||
4a6a: 3014 lbu a3,1(s0)
|
||
4a6c: 2018 lbu a4,0(s0)
|
||
4a6e: 06a2 slli a3,a3,0x8
|
||
4a70: 8ed9 or a3,a3,a4
|
||
4a72: 2038 lbu a4,2(s0)
|
||
4a74: 0742 slli a4,a4,0x10
|
||
4a76: 8ed9 or a3,a3,a4
|
||
4a78: 3038 lbu a4,3(s0)
|
||
4a7a: 0762 slli a4,a4,0x18
|
||
4a7c: 8f55 or a4,a4,a3
|
||
4a7e: c398 sw a4,0(a5)
|
||
4a80: 47dc lw a5,12(a5)
|
||
4a82: bff1 j 4a5e <netif_set_ipaddr+0x6a>
|
||
4a84: 893e mv s2,a5
|
||
4a86: 8552 mv a0,s4
|
||
4a88: bf4d j 4a3a <netif_set_ipaddr+0x46>
|
||
|
||
00004a8a <netif_set_addr>:
|
||
netif_set_addr():
|
||
4a8a: f66fb2ef jal t0,1f0 <__riscv_save_0>
|
||
4a8e: 1141 addi sp,sp,-16
|
||
4a90: c632 sw a2,12(sp)
|
||
4a92: c436 sw a3,8(sp)
|
||
4a94: 842a mv s0,a0
|
||
4a96: f5fff0ef jal ra,49f4 <netif_set_ipaddr>
|
||
4a9a: 4632 lw a2,12(sp)
|
||
4a9c: 46a2 lw a3,8(sp)
|
||
4a9e: 4781 li a5,0
|
||
4aa0: ca19 beqz a2,4ab6 <netif_set_addr+0x2c>
|
||
4aa2: 3218 lbu a4,1(a2)
|
||
4aa4: 221c lbu a5,0(a2)
|
||
4aa6: 0722 slli a4,a4,0x8
|
||
4aa8: 8f5d or a4,a4,a5
|
||
4aaa: 223c lbu a5,2(a2)
|
||
4aac: 07c2 slli a5,a5,0x10
|
||
4aae: 8f5d or a4,a4,a5
|
||
4ab0: 323c lbu a5,3(a2)
|
||
4ab2: 07e2 slli a5,a5,0x18
|
||
4ab4: 8fd9 or a5,a5,a4
|
||
4ab6: c41c sw a5,8(s0)
|
||
4ab8: 4781 li a5,0
|
||
4aba: ca99 beqz a3,4ad0 <netif_set_addr+0x46>
|
||
4abc: 3298 lbu a4,1(a3)
|
||
4abe: 229c lbu a5,0(a3)
|
||
4ac0: 0722 slli a4,a4,0x8
|
||
4ac2: 8f5d or a4,a4,a5
|
||
4ac4: 22bc lbu a5,2(a3)
|
||
4ac6: 07c2 slli a5,a5,0x10
|
||
4ac8: 8f5d or a4,a4,a5
|
||
4aca: 32bc lbu a5,3(a3)
|
||
4acc: 07e2 slli a5,a5,0x18
|
||
4ace: 8fd9 or a5,a5,a4
|
||
4ad0: c45c sw a5,12(s0)
|
||
4ad2: 0141 addi sp,sp,16
|
||
4ad4: f40fb06f j 214 <__riscv_restore_0>
|
||
|
||
00004ad8 <netif_add>:
|
||
netif_add():
|
||
4ad8: f18fb2ef jal t0,1f0 <__riscv_save_0>
|
||
4adc: cd58 sw a4,28(a0)
|
||
4ade: 90018713 addi a4,gp,-1792 # 20000120 <netifnum.2482>
|
||
4ae2: 00074883 lbu a7,0(a4)
|
||
4ae6: 1141 addi sp,sp,-16
|
||
4ae8: 00052223 sw zero,4(a0)
|
||
4aec: 00052423 sw zero,8(a0)
|
||
4af0: 00052623 sw zero,12(a0)
|
||
4af4: 02050923 sb zero,50(a0)
|
||
4af8: 02052023 sw zero,32(a0)
|
||
4afc: 00188313 addi t1,a7,1
|
||
4b00: 03150aa3 sb a7,53(a0)
|
||
4b04: 01052823 sw a6,16(a0)
|
||
4b08: 842a mv s0,a0
|
||
4b0a: c63e sw a5,12(sp)
|
||
4b0c: 00670023 sb t1,0(a4)
|
||
4b10: f7bff0ef jal ra,4a8a <netif_set_addr>
|
||
4b14: 47b2 lw a5,12(sp)
|
||
4b16: 8522 mv a0,s0
|
||
4b18: 9782 jalr a5
|
||
4b1a: e911 bnez a0,4b2e <netif_add+0x56>
|
||
4b1c: 8fc18793 addi a5,gp,-1796 # 2000011c <netif_list>
|
||
4b20: 4398 lw a4,0(a5)
|
||
4b22: c018 sw a4,0(s0)
|
||
4b24: c380 sw s0,0(a5)
|
||
4b26: 8522 mv a0,s0
|
||
4b28: 0141 addi sp,sp,16
|
||
4b2a: eeafb06f j 214 <__riscv_restore_0>
|
||
4b2e: 4401 li s0,0
|
||
4b30: bfdd j 4b26 <netif_add+0x4e>
|
||
|
||
00004b32 <netif_set_default>:
|
||
netif_set_default():
|
||
4b32: 8ea1ac23 sw a0,-1800(gp) # 20000118 <netif_default>
|
||
4b36: 8082 ret
|
||
|
||
00004b38 <netif_is_up>:
|
||
netif_is_up():
|
||
4b38: 03254503 lbu a0,50(a0)
|
||
4b3c: 8905 andi a0,a0,1
|
||
4b3e: 8082 ret
|
||
|
||
00004b40 <pbuf_header>:
|
||
pbuf_header():
|
||
4b40: 87aa mv a5,a0
|
||
4b42: 4501 li a0,0
|
||
4b44: c5a5 beqz a1,4bac <pbuf_header+0x6c>
|
||
4b46: c3bd beqz a5,4bac <pbuf_header+0x6c>
|
||
4b48: 01059613 slli a2,a1,0x10
|
||
4b4c: 8241 srli a2,a2,0x10
|
||
4b4e: 8832 mv a6,a2
|
||
4b50: 0005db63 bgez a1,4b66 <pbuf_header+0x26>
|
||
4b54: 40c00833 neg a6,a2
|
||
4b58: 27ba lhu a4,10(a5)
|
||
4b5a: 0842 slli a6,a6,0x10
|
||
4b5c: 01085813 srli a6,a6,0x10
|
||
4b60: 4505 li a0,1
|
||
4b62: 05076563 bltu a4,a6,4bac <pbuf_header+0x6c>
|
||
4b66: 27d4 lbu a3,12(a5)
|
||
4b68: 43d8 lw a4,4(a5)
|
||
4b6a: c681 beqz a3,4b72 <pbuf_header+0x32>
|
||
4b6c: 450d li a0,3
|
||
4b6e: 02a69163 bne a3,a0,4b90 <pbuf_header+0x50>
|
||
4b72: 8f0d sub a4,a4,a1
|
||
4b74: 01078693 addi a3,a5,16
|
||
4b78: 4505 li a0,1
|
||
4b7a: 02d76963 bltu a4,a3,4bac <pbuf_header+0x6c>
|
||
4b7e: c3d8 sw a4,4(a5)
|
||
4b80: 27ba lhu a4,10(a5)
|
||
4b82: 4501 li a0,0
|
||
4b84: 9732 add a4,a4,a2
|
||
4b86: a7ba sh a4,10(a5)
|
||
4b88: 279a lhu a4,8(a5)
|
||
4b8a: 963a add a2,a2,a4
|
||
4b8c: a792 sh a2,8(a5)
|
||
4b8e: 8082 ret
|
||
4b90: 16fd addi a3,a3,-1
|
||
4b92: 06c2 slli a3,a3,0x10
|
||
4b94: 82c1 srli a3,a3,0x10
|
||
4b96: 4885 li a7,1
|
||
4b98: 4505 li a0,1
|
||
4b9a: 00d8e963 bltu a7,a3,4bac <pbuf_header+0x6c>
|
||
4b9e: 0005d763 bgez a1,4bac <pbuf_header+0x6c>
|
||
4ba2: 27b6 lhu a3,10(a5)
|
||
4ba4: 0106e463 bltu a3,a6,4bac <pbuf_header+0x6c>
|
||
4ba8: 8f0d sub a4,a4,a1
|
||
4baa: bfd1 j 4b7e <pbuf_header+0x3e>
|
||
4bac: 8082 ret
|
||
|
||
00004bae <pbuf_free>:
|
||
pbuf_free():
|
||
4bae: e28fb2ef jal t0,1d6 <__riscv_save_4>
|
||
4bb2: 4401 li s0,0
|
||
4bb4: cd0d beqz a0,4bee <pbuf_free+0x40>
|
||
4bb6: 85aa mv a1,a0
|
||
4bb8: 4401 li s0,0
|
||
4bba: 490d li s2,3
|
||
4bbc: 4985 li s3,1
|
||
4bbe: 25fe lhu a5,14(a1)
|
||
4bc0: 17fd addi a5,a5,-1
|
||
4bc2: 07c2 slli a5,a5,0x10
|
||
4bc4: 83c1 srli a5,a5,0x10
|
||
4bc6: a5fe sh a5,14(a1)
|
||
4bc8: e39d bnez a5,4bee <pbuf_free+0x40>
|
||
4bca: 25dc lbu a5,12(a1)
|
||
4bcc: 4184 lw s1,0(a1)
|
||
4bce: 451d li a0,7
|
||
4bd0: 01278863 beq a5,s2,4be0 <pbuf_free+0x32>
|
||
4bd4: 17fd addi a5,a5,-1
|
||
4bd6: 07c2 slli a5,a5,0x10
|
||
4bd8: 83c1 srli a5,a5,0x10
|
||
4bda: 00f9ed63 bltu s3,a5,4bf4 <pbuf_free+0x46>
|
||
4bde: 4519 li a0,6
|
||
4be0: dfdff0ef jal ra,49dc <memp_free>
|
||
4be4: 0405 addi s0,s0,1
|
||
4be6: 0ff47413 andi s0,s0,255
|
||
4bea: 85a6 mv a1,s1
|
||
4bec: f8e9 bnez s1,4bbe <pbuf_free+0x10>
|
||
4bee: 8522 mv a0,s0
|
||
4bf0: e1afb06f j 20a <__riscv_restore_4>
|
||
4bf4: 852e mv a0,a1
|
||
4bf6: b59ff0ef jal ra,474e <mem_free>
|
||
4bfa: b7ed j 4be4 <pbuf_free+0x36>
|
||
|
||
00004bfc <pbuf_alloc>:
|
||
pbuf_alloc():
|
||
4bfc: ddafb2ef jal t0,1d6 <__riscv_save_4>
|
||
4c00: 4785 li a5,1
|
||
4c02: 00f50d63 beq a0,a5,4c1c <pbuf_alloc+0x20>
|
||
4c06: c531 beqz a0,4c52 <pbuf_alloc+0x56>
|
||
4c08: 4789 li a5,2
|
||
4c0a: 04f50663 beq a0,a5,4c56 <pbuf_alloc+0x5a>
|
||
4c0e: 478d li a5,3
|
||
4c10: 04f50563 beq a0,a5,4c5a <pbuf_alloc+0x5e>
|
||
4c14: 4401 li s0,0
|
||
4c16: 8522 mv a0,s0
|
||
4c18: df2fb06f j 20a <__riscv_restore_4>
|
||
4c1c: 4481 li s1,0
|
||
4c1e: 04d1 addi s1,s1,20
|
||
4c20: 04b9 addi s1,s1,14
|
||
4c22: 04c2 slli s1,s1,0x10
|
||
4c24: 80c1 srli s1,s1,0x10
|
||
4c26: 4789 li a5,2
|
||
4c28: 89b2 mv s3,a2
|
||
4c2a: 892e mv s2,a1
|
||
4c2c: 02c7e963 bltu a5,a2,4c5e <pbuf_alloc+0x62>
|
||
4c30: ca79 beqz a2,4d06 <pbuf_alloc+0x10a>
|
||
4c32: 4519 li a0,6
|
||
4c34: d89ff0ef jal ra,49bc <memp_malloc>
|
||
4c38: 842a mv s0,a0
|
||
4c3a: dd69 beqz a0,4c14 <pbuf_alloc+0x18>
|
||
4c3c: 00052223 sw zero,4(a0)
|
||
4c40: 01251423 sh s2,8(a0)
|
||
4c44: 01251523 sh s2,10(a0)
|
||
4c48: 00052023 sw zero,0(a0)
|
||
4c4c: 01350623 sb s3,12(a0)
|
||
4c50: a0b5 j 4cbc <pbuf_alloc+0xc0>
|
||
4c52: 44d1 li s1,20
|
||
4c54: b7e9 j 4c1e <pbuf_alloc+0x22>
|
||
4c56: 4481 li s1,0
|
||
4c58: b7e1 j 4c20 <pbuf_alloc+0x24>
|
||
4c5a: 4481 li s1,0
|
||
4c5c: b7e9 j 4c26 <pbuf_alloc+0x2a>
|
||
4c5e: 478d li a5,3
|
||
4c60: 4401 li s0,0
|
||
4c62: faf61ae3 bne a2,a5,4c16 <pbuf_alloc+0x1a>
|
||
4c66: 451d li a0,7
|
||
4c68: d55ff0ef jal ra,49bc <memp_malloc>
|
||
4c6c: 842a mv s0,a0
|
||
4c6e: d15d beqz a0,4c14 <pbuf_alloc+0x18>
|
||
4c70: 009507b3 add a5,a0,s1
|
||
4c74: 07cd addi a5,a5,19
|
||
4c76: 9bf1 andi a5,a5,-4
|
||
4c78: 20008737 lui a4,0x20008
|
||
4c7c: c15c sw a5,4(a0)
|
||
4c7e: 83c70793 addi a5,a4,-1988 # 2000783c <WCHCfg>
|
||
4c82: 43dc lw a5,4(a5)
|
||
4c84: 048d addi s1,s1,3
|
||
4c86: 98f1 andi s1,s1,-4
|
||
4c88: 03978793 addi a5,a5,57
|
||
4c8c: 9bf1 andi a5,a5,-4
|
||
4c8e: 01350623 sb s3,12(a0)
|
||
4c92: 00052023 sw zero,0(a0)
|
||
4c96: 01251423 sh s2,8(a0)
|
||
4c9a: 409784b3 sub s1,a5,s1
|
||
4c9e: 83c70993 addi s3,a4,-1988
|
||
4ca2: 00997363 bgeu s2,s1,4ca8 <pbuf_alloc+0xac>
|
||
4ca6: 84ca mv s1,s2
|
||
4ca8: 4785 li a5,1
|
||
4caa: a426 sh s1,10(s0)
|
||
4cac: a47e sh a5,14(s0)
|
||
4cae: 409904b3 sub s1,s2,s1
|
||
4cb2: 4a0d li s4,3
|
||
4cb4: 8922 mv s2,s0
|
||
4cb6: 4a85 li s5,1
|
||
4cb8: 00904763 bgtz s1,4cc6 <pbuf_alloc+0xca>
|
||
4cbc: 4785 li a5,1
|
||
4cbe: a47e sh a5,14(s0)
|
||
4cc0: 000406a3 sb zero,13(s0)
|
||
4cc4: bf89 j 4c16 <pbuf_alloc+0x1a>
|
||
4cc6: 451d li a0,7
|
||
4cc8: cf5ff0ef jal ra,49bc <memp_malloc>
|
||
4ccc: e509 bnez a0,4cd6 <pbuf_alloc+0xda>
|
||
4cce: 8522 mv a0,s0
|
||
4cd0: edfff0ef jal ra,4bae <pbuf_free>
|
||
4cd4: b781 j 4c14 <pbuf_alloc+0x18>
|
||
4cd6: 0049a783 lw a5,4(s3)
|
||
4cda: 01451623 sh s4,12(a0)
|
||
4cde: 00052023 sw zero,0(a0)
|
||
4ce2: 00a92023 sw a0,0(s2)
|
||
4ce6: 03978793 addi a5,a5,57
|
||
4cea: a506 sh s1,8(a0)
|
||
4cec: 9bf1 andi a5,a5,-4
|
||
4cee: 00f4f363 bgeu s1,a5,4cf4 <pbuf_alloc+0xf8>
|
||
4cf2: 87a6 mv a5,s1
|
||
4cf4: 01050713 addi a4,a0,16
|
||
4cf8: a53e sh a5,10(a0)
|
||
4cfa: c158 sw a4,4(a0)
|
||
4cfc: 01551723 sh s5,14(a0)
|
||
4d00: 8c9d sub s1,s1,a5
|
||
4d02: 892a mv s2,a0
|
||
4d04: bf55 j 4cb8 <pbuf_alloc+0xbc>
|
||
4d06: 00358793 addi a5,a1,3
|
||
4d0a: 01348513 addi a0,s1,19
|
||
4d0e: 9bf1 andi a5,a5,-4
|
||
4d10: 9971 andi a0,a0,-4
|
||
4d12: 953e add a0,a0,a5
|
||
4d14: 0542 slli a0,a0,0x10
|
||
4d16: 8141 srli a0,a0,0x10
|
||
4d18: b85ff0ef jal ra,489c <mem_malloc>
|
||
4d1c: 842a mv s0,a0
|
||
4d1e: ee050be3 beqz a0,4c14 <pbuf_alloc+0x18>
|
||
4d22: 94aa add s1,s1,a0
|
||
4d24: 04cd addi s1,s1,19
|
||
4d26: 98f1 andi s1,s1,-4
|
||
4d28: c144 sw s1,4(a0)
|
||
4d2a: 01251423 sh s2,8(a0)
|
||
4d2e: 01251523 sh s2,10(a0)
|
||
4d32: 00052023 sw zero,0(a0)
|
||
4d36: 00050623 sb zero,12(a0)
|
||
4d3a: b749 j 4cbc <pbuf_alloc+0xc0>
|
||
|
||
00004d3c <pbuf_realloc>:
|
||
pbuf_realloc():
|
||
4d3c: 251e lhu a5,8(a0)
|
||
4d3e: 04f5fa63 bgeu a1,a5,4d92 <pbuf_realloc+0x56>
|
||
4d42: caefb2ef jal t0,1f0 <__riscv_save_0>
|
||
4d46: 842a mv s0,a0
|
||
4d48: 84ae mv s1,a1
|
||
4d4a: 40f587b3 sub a5,a1,a5
|
||
4d4e: 242e lhu a1,10(s0)
|
||
4d50: 0295e963 bltu a1,s1,4d82 <pbuf_realloc+0x46>
|
||
4d54: 245c lbu a5,12(s0)
|
||
4d56: ef81 bnez a5,4d6e <pbuf_realloc+0x32>
|
||
4d58: 00958b63 beq a1,s1,4d6e <pbuf_realloc+0x32>
|
||
4d5c: 404c lw a1,4(s0)
|
||
4d5e: 8522 mv a0,s0
|
||
4d60: 8d81 sub a1,a1,s0
|
||
4d62: 95a6 add a1,a1,s1
|
||
4d64: 05c2 slli a1,a1,0x10
|
||
4d66: 81c1 srli a1,a1,0x10
|
||
4d68: a6bff0ef jal ra,47d2 <mem_realloc>
|
||
4d6c: 842a mv s0,a0
|
||
4d6e: 4008 lw a0,0(s0)
|
||
4d70: a426 sh s1,10(s0)
|
||
4d72: a406 sh s1,8(s0)
|
||
4d74: c119 beqz a0,4d7a <pbuf_realloc+0x3e>
|
||
4d76: e39ff0ef jal ra,4bae <pbuf_free>
|
||
4d7a: 00042023 sw zero,0(s0)
|
||
4d7e: c96fb06f j 214 <__riscv_restore_0>
|
||
4d82: 241a lhu a4,8(s0)
|
||
4d84: 8c8d sub s1,s1,a1
|
||
4d86: 04c2 slli s1,s1,0x10
|
||
4d88: 973e add a4,a4,a5
|
||
4d8a: a41a sh a4,8(s0)
|
||
4d8c: 80c1 srli s1,s1,0x10
|
||
4d8e: 4000 lw s0,0(s0)
|
||
4d90: bf7d j 4d4e <pbuf_realloc+0x12>
|
||
4d92: 8082 ret
|
||
|
||
00004d94 <pbuf_clen>:
|
||
pbuf_clen():
|
||
4d94: 4781 li a5,0
|
||
4d96: e119 bnez a0,4d9c <pbuf_clen+0x8>
|
||
4d98: 853e mv a0,a5
|
||
4d9a: 8082 ret
|
||
4d9c: 0785 addi a5,a5,1
|
||
4d9e: 0ff7f793 andi a5,a5,255
|
||
4da2: 4108 lw a0,0(a0)
|
||
4da4: bfcd j 4d96 <pbuf_clen+0x2>
|
||
|
||
00004da6 <pbuf_ref>:
|
||
pbuf_ref():
|
||
4da6: c501 beqz a0,4dae <pbuf_ref+0x8>
|
||
4da8: 257e lhu a5,14(a0)
|
||
4daa: 0785 addi a5,a5,1
|
||
4dac: a57e sh a5,14(a0)
|
||
4dae: 8082 ret
|
||
|
||
00004db0 <pbuf_cat>:
|
||
pbuf_cat():
|
||
4db0: cd09 beqz a0,4dca <pbuf_cat+0x1a>
|
||
4db2: e199 bnez a1,4db8 <pbuf_cat+0x8>
|
||
4db4: 8082 ret
|
||
4db6: 853a mv a0,a4
|
||
4db8: 259e lhu a5,8(a1)
|
||
4dba: 2516 lhu a3,8(a0)
|
||
4dbc: 4118 lw a4,0(a0)
|
||
4dbe: 97b6 add a5,a5,a3
|
||
4dc0: 07c2 slli a5,a5,0x10
|
||
4dc2: 83c1 srli a5,a5,0x10
|
||
4dc4: a51e sh a5,8(a0)
|
||
4dc6: fb65 bnez a4,4db6 <pbuf_cat+0x6>
|
||
4dc8: c10c sw a1,0(a0)
|
||
4dca: 8082 ret
|
||
|
||
00004dcc <pbuf_chain>:
|
||
pbuf_chain():
|
||
4dcc: c24fb2ef jal t0,1f0 <__riscv_save_0>
|
||
4dd0: 842e mv s0,a1
|
||
4dd2: fdfff0ef jal ra,4db0 <pbuf_cat>
|
||
4dd6: 8522 mv a0,s0
|
||
4dd8: fcfff0ef jal ra,4da6 <pbuf_ref>
|
||
4ddc: c38fb06f j 214 <__riscv_restore_0>
|
||
|
||
00004de0 <pbuf_copy>:
|
||
pbuf_copy():
|
||
4de0: cd3d beqz a0,4e5e <pbuf_copy+0x7e>
|
||
4de2: bf4fb2ef jal t0,1d6 <__riscv_save_4>
|
||
4de6: 842a mv s0,a0
|
||
4de8: 84ae mv s1,a1
|
||
4dea: 5559 li a0,-10
|
||
4dec: c5ad beqz a1,4e56 <pbuf_copy+0x76>
|
||
4dee: 241a lhu a4,8(s0)
|
||
4df0: 259e lhu a5,8(a1)
|
||
4df2: 06f76263 bltu a4,a5,4e56 <pbuf_copy+0x76>
|
||
4df6: 4901 li s2,0
|
||
4df8: 4a01 li s4,0
|
||
4dfa: 00a45983 lhu s3,10(s0)
|
||
4dfe: 24be lhu a5,10(s1)
|
||
4e00: 414989b3 sub s3,s3,s4
|
||
4e04: 412787b3 sub a5,a5,s2
|
||
4e08: 04f9c963 blt s3,a5,4e5a <pbuf_copy+0x7a>
|
||
4e0c: 01079993 slli s3,a5,0x10
|
||
4e10: 4048 lw a0,4(s0)
|
||
4e12: 40cc lw a1,4(s1)
|
||
4e14: 0109d993 srli s3,s3,0x10
|
||
4e18: 9552 add a0,a0,s4
|
||
4e1a: 95ca add a1,a1,s2
|
||
4e1c: 864e mv a2,s3
|
||
4e1e: 599030ef jal ra,8bb6 <memcpy>
|
||
4e22: 9a4e add s4,s4,s3
|
||
4e24: 243e lhu a5,10(s0)
|
||
4e26: 0a42 slli s4,s4,0x10
|
||
4e28: 994e add s2,s2,s3
|
||
4e2a: 0942 slli s2,s2,0x10
|
||
4e2c: 010a5a13 srli s4,s4,0x10
|
||
4e30: 01095913 srli s2,s2,0x10
|
||
4e34: 01479463 bne a5,s4,4e3c <pbuf_copy+0x5c>
|
||
4e38: 4000 lw s0,0(s0)
|
||
4e3a: 4a01 li s4,0
|
||
4e3c: 24be lhu a5,10(s1)
|
||
4e3e: 00f96563 bltu s2,a5,4e48 <pbuf_copy+0x68>
|
||
4e42: 4084 lw s1,0(s1)
|
||
4e44: cc99 beqz s1,4e62 <pbuf_copy+0x82>
|
||
4e46: 4901 li s2,0
|
||
4e48: 24ba lhu a4,10(s1)
|
||
4e4a: 249e lhu a5,8(s1)
|
||
4e4c: 02f71663 bne a4,a5,4e78 <pbuf_copy+0x98>
|
||
4e50: 409c lw a5,0(s1)
|
||
4e52: c39d beqz a5,4e78 <pbuf_copy+0x98>
|
||
4e54: 555d li a0,-9
|
||
4e56: bb4fb06f j 20a <__riscv_restore_4>
|
||
4e5a: 09c2 slli s3,s3,0x10
|
||
4e5c: bf55 j 4e10 <pbuf_copy+0x30>
|
||
4e5e: 5559 li a0,-10
|
||
4e60: 8082 ret
|
||
4e62: c809 beqz s0,4e74 <pbuf_copy+0x94>
|
||
4e64: 4901 li s2,0
|
||
4e66: 243a lhu a4,10(s0)
|
||
4e68: 241e lhu a5,8(s0)
|
||
4e6a: 00f71463 bne a4,a5,4e72 <pbuf_copy+0x92>
|
||
4e6e: 401c lw a5,0(s0)
|
||
4e70: f3f5 bnez a5,4e54 <pbuf_copy+0x74>
|
||
4e72: f4c1 bnez s1,4dfa <pbuf_copy+0x1a>
|
||
4e74: 4501 li a0,0
|
||
4e76: b7c5 j 4e56 <pbuf_copy+0x76>
|
||
4e78: f47d bnez s0,4e66 <pbuf_copy+0x86>
|
||
4e7a: b741 j 4dfa <pbuf_copy+0x1a>
|
||
|
||
00004e7c <raw_input>:
|
||
raw_input():
|
||
4e7c: b5afb2ef jal t0,1d6 <__riscv_save_4>
|
||
4e80: 00452903 lw s2,4(a0)
|
||
4e84: 89aa mv s3,a0
|
||
4e86: 00994783 lbu a5,9(s2)
|
||
4e8a: 00894503 lbu a0,8(s2)
|
||
4e8e: 4a01 li s4,0
|
||
4e90: 07a2 slli a5,a5,0x8
|
||
4e92: 8d5d or a0,a0,a5
|
||
4e94: 939fe0ef jal ra,37cc <ntohs>
|
||
4e98: 0ff57a93 andi s5,a0,255
|
||
4e9c: 9041a403 lw s0,-1788(gp) # 20000124 <raw_pcbs>
|
||
4ea0: 0931 addi s2,s2,12
|
||
4ea2: 90418493 addi s1,gp,-1788 # 20000124 <raw_pcbs>
|
||
4ea6: e401 bnez s0,4eae <raw_input+0x32>
|
||
4ea8: 4501 li a0,0
|
||
4eaa: b60fb06f j 20a <__riscv_restore_4>
|
||
4eae: 281c lbu a5,16(s0)
|
||
4eb0: 4501 li a0,0
|
||
4eb2: 03579463 bne a5,s5,4eda <raw_input+0x5e>
|
||
4eb6: 485c lw a5,20(s0)
|
||
4eb8: c38d beqz a5,4eda <raw_input+0x5e>
|
||
4eba: 4c08 lw a0,24(s0)
|
||
4ebc: 86ca mv a3,s2
|
||
4ebe: 864e mv a2,s3
|
||
4ec0: 85a2 mv a1,s0
|
||
4ec2: 9782 jalr a5
|
||
4ec4: c919 beqz a0,4eda <raw_input+0x5e>
|
||
4ec6: 000a0863 beqz s4,4ed6 <raw_input+0x5a>
|
||
4eca: 445c lw a5,12(s0)
|
||
4ecc: 00fa2623 sw a5,12(s4)
|
||
4ed0: 409c lw a5,0(s1)
|
||
4ed2: c080 sw s0,0(s1)
|
||
4ed4: c45c sw a5,12(s0)
|
||
4ed6: 4505 li a0,1
|
||
4ed8: 4981 li s3,0
|
||
4eda: 445c lw a5,12(s0)
|
||
4edc: 8a22 mv s4,s0
|
||
4ede: f571 bnez a0,4eaa <raw_input+0x2e>
|
||
4ee0: 843e mv s0,a5
|
||
4ee2: b7d1 j 4ea6 <raw_input+0x2a>
|
||
|
||
00004ee4 <raw_bind>:
|
||
raw_bind():
|
||
4ee4: 4781 li a5,0
|
||
4ee6: c999 beqz a1,4efc <raw_bind+0x18>
|
||
4ee8: 3198 lbu a4,1(a1)
|
||
4eea: 219c lbu a5,0(a1)
|
||
4eec: 0722 slli a4,a4,0x8
|
||
4eee: 8f5d or a4,a4,a5
|
||
4ef0: 21bc lbu a5,2(a1)
|
||
4ef2: 07c2 slli a5,a5,0x10
|
||
4ef4: 8f5d or a4,a4,a5
|
||
4ef6: 31bc lbu a5,3(a1)
|
||
4ef8: 07e2 slli a5,a5,0x18
|
||
4efa: 8fd9 or a5,a5,a4
|
||
4efc: c11c sw a5,0(a0)
|
||
4efe: 4501 li a0,0
|
||
4f00: 8082 ret
|
||
|
||
00004f02 <raw_connect>:
|
||
raw_connect():
|
||
4f02: 4781 li a5,0
|
||
4f04: c999 beqz a1,4f1a <raw_connect+0x18>
|
||
4f06: 3198 lbu a4,1(a1)
|
||
4f08: 219c lbu a5,0(a1)
|
||
4f0a: 0722 slli a4,a4,0x8
|
||
4f0c: 8f5d or a4,a4,a5
|
||
4f0e: 21bc lbu a5,2(a1)
|
||
4f10: 07c2 slli a5,a5,0x10
|
||
4f12: 8f5d or a4,a4,a5
|
||
4f14: 31bc lbu a5,3(a1)
|
||
4f16: 07e2 slli a5,a5,0x18
|
||
4f18: 8fd9 or a5,a5,a4
|
||
4f1a: c15c sw a5,4(a0)
|
||
4f1c: 4501 li a0,0
|
||
4f1e: 8082 ret
|
||
|
||
00004f20 <raw_recv>:
|
||
raw_recv():
|
||
4f20: c94c sw a1,20(a0)
|
||
4f22: cd10 sw a2,24(a0)
|
||
4f24: 8082 ret
|
||
|
||
00004f26 <raw_sendto>:
|
||
raw_sendto():
|
||
4f26: ab0fb2ef jal t0,1d6 <__riscv_save_4>
|
||
4f2a: 84ae mv s1,a1
|
||
4f2c: 892a mv s2,a0
|
||
4f2e: 45d1 li a1,20
|
||
4f30: 8526 mv a0,s1
|
||
4f32: 89b2 mv s3,a2
|
||
4f34: c0dff0ef jal ra,4b40 <pbuf_header>
|
||
4f38: c915 beqz a0,4f6c <raw_sendto+0x46>
|
||
4f3a: 4601 li a2,0
|
||
4f3c: 4581 li a1,0
|
||
4f3e: 4505 li a0,1
|
||
4f40: cbdff0ef jal ra,4bfc <pbuf_alloc>
|
||
4f44: 842a mv s0,a0
|
||
4f46: e509 bnez a0,4f50 <raw_sendto+0x2a>
|
||
4f48: 597d li s2,-1
|
||
4f4a: 854a mv a0,s2
|
||
4f4c: abefb06f j 20a <__riscv_restore_4>
|
||
4f50: 85a6 mv a1,s1
|
||
4f52: e7bff0ef jal ra,4dcc <pbuf_chain>
|
||
4f56: 854e mv a0,s3
|
||
4f58: 8b3fe0ef jal ra,380a <ip_route>
|
||
4f5c: ed19 bnez a0,4f7a <raw_sendto+0x54>
|
||
4f5e: 5971 li s2,-4
|
||
4f60: fe9405e3 beq s0,s1,4f4a <raw_sendto+0x24>
|
||
4f64: 8522 mv a0,s0
|
||
4f66: c49ff0ef jal ra,4bae <pbuf_free>
|
||
4f6a: b7c5 j 4f4a <raw_sendto+0x24>
|
||
4f6c: 55b1 li a1,-20
|
||
4f6e: 8526 mv a0,s1
|
||
4f70: bd1ff0ef jal ra,4b40 <pbuf_header>
|
||
4f74: f971 bnez a0,4f48 <raw_sendto+0x22>
|
||
4f76: 8426 mv s0,s1
|
||
4f78: bff9 j 4f56 <raw_sendto+0x30>
|
||
4f7a: 85ca mv a1,s2
|
||
4f7c: 00090563 beqz s2,4f86 <raw_sendto+0x60>
|
||
4f80: 00092783 lw a5,0(s2)
|
||
4f84: e399 bnez a5,4f8a <raw_sendto+0x64>
|
||
4f86: 00450593 addi a1,a0,4
|
||
4f8a: 01094783 lbu a5,16(s2)
|
||
4f8e: 00a94703 lbu a4,10(s2)
|
||
4f92: 00b94683 lbu a3,11(s2)
|
||
4f96: 882a mv a6,a0
|
||
4f98: 864e mv a2,s3
|
||
4f9a: 8522 mv a0,s0
|
||
4f9c: b55fe0ef jal ra,3af0 <ip_output_if>
|
||
4fa0: 892a mv s2,a0
|
||
4fa2: bf7d j 4f60 <raw_sendto+0x3a>
|
||
|
||
00004fa4 <raw_send>:
|
||
raw_send():
|
||
4fa4: a4cfb2ef jal t0,1f0 <__riscv_save_0>
|
||
4fa8: 00450613 addi a2,a0,4
|
||
4fac: f7bff0ef jal ra,4f26 <raw_sendto>
|
||
4fb0: a64fb06f j 214 <__riscv_restore_0>
|
||
|
||
00004fb4 <raw_new>:
|
||
raw_new():
|
||
4fb4: a3cfb2ef jal t0,1f0 <__riscv_save_0>
|
||
4fb8: 84aa mv s1,a0
|
||
4fba: 4501 li a0,0
|
||
4fbc: a01ff0ef jal ra,49bc <memp_malloc>
|
||
4fc0: 842a mv s0,a0
|
||
4fc2: cd11 beqz a0,4fde <raw_new+0x2a>
|
||
4fc4: 4671 li a2,28
|
||
4fc6: 4581 li a1,0
|
||
4fc8: a58fb0ef jal ra,220 <memset>
|
||
4fcc: f8000793 li a5,-128
|
||
4fd0: b43c sb a5,11(s0)
|
||
4fd2: 90418793 addi a5,gp,-1788 # 20000124 <raw_pcbs>
|
||
4fd6: 4398 lw a4,0(a5)
|
||
4fd8: a804 sb s1,16(s0)
|
||
4fda: c380 sw s0,0(a5)
|
||
4fdc: c458 sw a4,12(s0)
|
||
4fde: 8522 mv a0,s0
|
||
4fe0: a34fb06f j 214 <__riscv_restore_0>
|
||
|
||
00004fe4 <tcp_new_port>:
|
||
tcp_new_port():
|
||
4fe4: 9081a683 lw a3,-1784(gp) # 20000128 <tcp_active_pcbs>
|
||
4fe8: 9201a603 lw a2,-1760(gp) # 20000140 <tcp_tw_pcbs>
|
||
4fec: 9101a583 lw a1,-1776(gp) # 20000130 <tcp_listen_pcbs>
|
||
4ff0: 8301d503 lhu a0,-2000(gp) # 20000050 <port.3029>
|
||
4ff4: 83018793 addi a5,gp,-2000 # 20000050 <port.3029>
|
||
4ff8: 00150713 addi a4,a0,1
|
||
4ffc: 01071513 slli a0,a4,0x10
|
||
5000: 01071813 slli a6,a4,0x10
|
||
5004: 8141 srli a0,a0,0x10
|
||
5006: 00085363 bgez a6,500c <tcp_new_port+0x28>
|
||
500a: 6505 lui a0,0x1
|
||
500c: 8736 mv a4,a3
|
||
500e: e719 bnez a4,501c <tcp_new_port+0x38>
|
||
5010: 8732 mv a4,a2
|
||
5012: eb19 bnez a4,5028 <tcp_new_port+0x44>
|
||
5014: 872e mv a4,a1
|
||
5016: ef19 bnez a4,5034 <tcp_new_port+0x50>
|
||
5018: a38a sh a0,0(a5)
|
||
501a: 8082 ret
|
||
501c: 01c75803 lhu a6,28(a4)
|
||
5020: fca80ce3 beq a6,a0,4ff8 <tcp_new_port+0x14>
|
||
5024: 4758 lw a4,12(a4)
|
||
5026: b7e5 j 500e <tcp_new_port+0x2a>
|
||
5028: 01c75803 lhu a6,28(a4)
|
||
502c: fca806e3 beq a6,a0,4ff8 <tcp_new_port+0x14>
|
||
5030: 4758 lw a4,12(a4)
|
||
5032: b7c5 j 5012 <tcp_new_port+0x2e>
|
||
5034: 01c75803 lhu a6,28(a4)
|
||
5038: fca800e3 beq a6,a0,4ff8 <tcp_new_port+0x14>
|
||
503c: 4758 lw a4,12(a4)
|
||
503e: bfe1 j 5016 <tcp_new_port+0x32>
|
||
|
||
00005040 <tcp_bind>:
|
||
tcp_bind():
|
||
5040: 491c lw a5,16(a0)
|
||
5042: 10079663 bnez a5,514e <tcp_bind+0x10e>
|
||
5046: 990fb2ef jal t0,1d6 <__riscv_save_4>
|
||
504a: 1141 addi sp,sp,-16
|
||
504c: 84aa mv s1,a0
|
||
504e: 8432 mv s0,a2
|
||
5050: e611 bnez a2,505c <tcp_bind+0x1c>
|
||
5052: c62e sw a1,12(sp)
|
||
5054: f91ff0ef jal ra,4fe4 <tcp_new_port>
|
||
5058: 45b2 lw a1,12(sp)
|
||
505a: 842a mv s0,a0
|
||
505c: 9101a703 lw a4,-1776(gp) # 20000130 <tcp_listen_pcbs>
|
||
5060: e731 bnez a4,50ac <tcp_bind+0x6c>
|
||
5062: 9081a703 lw a4,-1784(gp) # 20000128 <tcp_active_pcbs>
|
||
5066: eb25 bnez a4,50d6 <tcp_bind+0x96>
|
||
5068: 90c1a983 lw s3,-1780(gp) # 2000012c <tcp_bound_pcbs>
|
||
506c: 90c18913 addi s2,gp,-1780 # 2000012c <tcp_bound_pcbs>
|
||
5070: 874e mv a4,s3
|
||
5072: e759 bnez a4,5100 <tcp_bind+0xc0>
|
||
5074: 9201a783 lw a5,-1760(gp) # 20000140 <tcp_tw_pcbs>
|
||
5078: ebcd bnez a5,512a <tcp_bind+0xea>
|
||
507a: c185 beqz a1,509a <tcp_bind+0x5a>
|
||
507c: 3198 lbu a4,1(a1)
|
||
507e: 219c lbu a5,0(a1)
|
||
5080: 0722 slli a4,a4,0x8
|
||
5082: 8f5d or a4,a4,a5
|
||
5084: 21bc lbu a5,2(a1)
|
||
5086: 07c2 slli a5,a5,0x10
|
||
5088: 8f5d or a4,a4,a5
|
||
508a: 31bc lbu a5,3(a1)
|
||
508c: 07e2 slli a5,a5,0x18
|
||
508e: 8fd9 or a5,a5,a4
|
||
5090: c789 beqz a5,509a <tcp_bind+0x5a>
|
||
5092: 4611 li a2,4
|
||
5094: 8526 mv a0,s1
|
||
5096: 321030ef jal ra,8bb6 <memcpy>
|
||
509a: acc2 sh s0,28(s1)
|
||
509c: 0134a623 sw s3,12(s1)
|
||
50a0: 00992023 sw s1,0(s2)
|
||
50a4: 4501 li a0,0
|
||
50a6: 0141 addi sp,sp,16
|
||
50a8: 962fb06f j 20a <__riscv_restore_4>
|
||
50ac: 2f5e lhu a5,28(a4)
|
||
50ae: 02879263 bne a5,s0,50d2 <tcp_bind+0x92>
|
||
50b2: 4310 lw a2,0(a4)
|
||
50b4: ce59 beqz a2,5152 <tcp_bind+0x112>
|
||
50b6: cdd1 beqz a1,5152 <tcp_bind+0x112>
|
||
50b8: 3194 lbu a3,1(a1)
|
||
50ba: 219c lbu a5,0(a1)
|
||
50bc: 06a2 slli a3,a3,0x8
|
||
50be: 8edd or a3,a3,a5
|
||
50c0: 21bc lbu a5,2(a1)
|
||
50c2: 07c2 slli a5,a5,0x10
|
||
50c4: 8edd or a3,a3,a5
|
||
50c6: 31bc lbu a5,3(a1)
|
||
50c8: 07e2 slli a5,a5,0x18
|
||
50ca: 8fd5 or a5,a5,a3
|
||
50cc: c3d9 beqz a5,5152 <tcp_bind+0x112>
|
||
50ce: 08f60263 beq a2,a5,5152 <tcp_bind+0x112>
|
||
50d2: 4758 lw a4,12(a4)
|
||
50d4: b771 j 5060 <tcp_bind+0x20>
|
||
50d6: 2f5e lhu a5,28(a4)
|
||
50d8: 02879263 bne a5,s0,50fc <tcp_bind+0xbc>
|
||
50dc: 4310 lw a2,0(a4)
|
||
50de: ca35 beqz a2,5152 <tcp_bind+0x112>
|
||
50e0: c9ad beqz a1,5152 <tcp_bind+0x112>
|
||
50e2: 3194 lbu a3,1(a1)
|
||
50e4: 219c lbu a5,0(a1)
|
||
50e6: 06a2 slli a3,a3,0x8
|
||
50e8: 8edd or a3,a3,a5
|
||
50ea: 21bc lbu a5,2(a1)
|
||
50ec: 07c2 slli a5,a5,0x10
|
||
50ee: 8edd or a3,a3,a5
|
||
50f0: 31bc lbu a5,3(a1)
|
||
50f2: 07e2 slli a5,a5,0x18
|
||
50f4: 8fd5 or a5,a5,a3
|
||
50f6: cfb1 beqz a5,5152 <tcp_bind+0x112>
|
||
50f8: 04f60d63 beq a2,a5,5152 <tcp_bind+0x112>
|
||
50fc: 4758 lw a4,12(a4)
|
||
50fe: b7a5 j 5066 <tcp_bind+0x26>
|
||
5100: 2f5e lhu a5,28(a4)
|
||
5102: 02879263 bne a5,s0,5126 <tcp_bind+0xe6>
|
||
5106: 4310 lw a2,0(a4)
|
||
5108: c629 beqz a2,5152 <tcp_bind+0x112>
|
||
510a: c5a1 beqz a1,5152 <tcp_bind+0x112>
|
||
510c: 3194 lbu a3,1(a1)
|
||
510e: 219c lbu a5,0(a1)
|
||
5110: 06a2 slli a3,a3,0x8
|
||
5112: 8edd or a3,a3,a5
|
||
5114: 21bc lbu a5,2(a1)
|
||
5116: 07c2 slli a5,a5,0x10
|
||
5118: 8edd or a3,a3,a5
|
||
511a: 31bc lbu a5,3(a1)
|
||
511c: 07e2 slli a5,a5,0x18
|
||
511e: 8fd5 or a5,a5,a3
|
||
5120: cb8d beqz a5,5152 <tcp_bind+0x112>
|
||
5122: 02f60863 beq a2,a5,5152 <tcp_bind+0x112>
|
||
5126: 4758 lw a4,12(a4)
|
||
5128: b7a9 j 5072 <tcp_bind+0x32>
|
||
512a: 2fda lhu a4,28(a5)
|
||
512c: 00871f63 bne a4,s0,514a <tcp_bind+0x10a>
|
||
5130: 3194 lbu a3,1(a1)
|
||
5132: 2198 lbu a4,0(a1)
|
||
5134: 06a2 slli a3,a3,0x8
|
||
5136: 8ed9 or a3,a3,a4
|
||
5138: 21b8 lbu a4,2(a1)
|
||
513a: 0742 slli a4,a4,0x10
|
||
513c: 8ed9 or a3,a3,a4
|
||
513e: 31b8 lbu a4,3(a1)
|
||
5140: 0762 slli a4,a4,0x18
|
||
5142: 8f55 or a4,a4,a3
|
||
5144: 4394 lw a3,0(a5)
|
||
5146: 00e68663 beq a3,a4,5152 <tcp_bind+0x112>
|
||
514a: 47dc lw a5,12(a5)
|
||
514c: b735 j 5078 <tcp_bind+0x38>
|
||
514e: 554d li a0,-13
|
||
5150: 8082 ret
|
||
5152: 5555 li a0,-11
|
||
5154: bf89 j 50a6 <tcp_bind+0x66>
|
||
|
||
00005156 <tcp_update_rcv_ann_wnd>:
|
||
tcp_update_rcv_ann_wnd():
|
||
5156: 87aa mv a5,a0
|
||
5158: 02c55803 lhu a6,44(a0) # 102c <TIM_TimeBaseInit+0xb4>
|
||
515c: 5914 lw a3,48(a0)
|
||
515e: 3bd2 lhu a2,52(a5)
|
||
5160: 550c lw a1,40(a0)
|
||
5162: 0407d883 lhu a7,64(a5)
|
||
5166: 40d80533 sub a0,a6,a3
|
||
516a: 8205 srli a2,a2,0x1
|
||
516c: 952e add a0,a0,a1
|
||
516e: 8732 mv a4,a2
|
||
5170: 00c8f363 bgeu a7,a2,5176 <tcp_update_rcv_ann_wnd+0x20>
|
||
5174: 8746 mv a4,a7
|
||
5176: 0742 slli a4,a4,0x10
|
||
5178: 8341 srli a4,a4,0x10
|
||
517a: 40e50733 sub a4,a0,a4
|
||
517e: 00074563 bltz a4,5188 <tcp_update_rcv_ann_wnd+0x32>
|
||
5182: 03079723 sh a6,46(a5)
|
||
5186: 8082 ret
|
||
5188: 40d58733 sub a4,a1,a3
|
||
518c: 00e05663 blez a4,5198 <tcp_update_rcv_ann_wnd+0x42>
|
||
5190: 02079723 sh zero,46(a5)
|
||
5194: 4501 li a0,0
|
||
5196: 8082 ret
|
||
5198: 8e8d sub a3,a3,a1
|
||
519a: b7f6 sh a3,46(a5)
|
||
519c: bfe5 j 5194 <tcp_update_rcv_ann_wnd+0x3e>
|
||
|
||
0000519e <tcp_recved>:
|
||
tcp_recved():
|
||
519e: 852fb2ef jal t0,1f0 <__riscv_save_0>
|
||
51a2: 355e lhu a5,44(a0)
|
||
51a4: 842a mv s0,a0
|
||
51a6: 95be add a1,a1,a5
|
||
51a8: 05c2 slli a1,a1,0x10
|
||
51aa: 395e lhu a5,52(a0)
|
||
51ac: 81c1 srli a1,a1,0x10
|
||
51ae: b54e sh a1,44(a0)
|
||
51b0: 00b7f363 bgeu a5,a1,51b6 <tcp_recved+0x18>
|
||
51b4: b55e sh a5,44(a0)
|
||
51b6: 8522 mv a0,s0
|
||
51b8: f9fff0ef jal ra,5156 <tcp_update_rcv_ann_wnd>
|
||
51bc: 385e lhu a5,52(s0)
|
||
51be: 8389 srli a5,a5,0x2
|
||
51c0: 00f54b63 blt a0,a5,51d6 <tcp_recved+0x38>
|
||
51c4: 02644783 lbu a5,38(s0)
|
||
51c8: 8522 mv a0,s0
|
||
51ca: 0027e793 ori a5,a5,2
|
||
51ce: 02f40323 sb a5,38(s0)
|
||
51d2: 3e2020ef jal ra,75b4 <tcp_output>
|
||
51d6: 83efb06f j 214 <__riscv_restore_0>
|
||
|
||
000051da <tcp_seg_free>:
|
||
tcp_seg_free():
|
||
51da: 816fb2ef jal t0,1f0 <__riscv_save_0>
|
||
51de: 1141 addi sp,sp,-16
|
||
51e0: 4401 li s0,0
|
||
51e2: cd09 beqz a0,51fc <tcp_seg_free+0x22>
|
||
51e4: 85aa mv a1,a0
|
||
51e6: 4148 lw a0,4(a0)
|
||
51e8: 4401 li s0,0
|
||
51ea: c511 beqz a0,51f6 <tcp_seg_free+0x1c>
|
||
51ec: c62e sw a1,12(sp)
|
||
51ee: 9c1ff0ef jal ra,4bae <pbuf_free>
|
||
51f2: 45b2 lw a1,12(sp)
|
||
51f4: 842a mv s0,a0
|
||
51f6: 4511 li a0,4
|
||
51f8: fe4ff0ef jal ra,49dc <memp_free>
|
||
51fc: 8522 mv a0,s0
|
||
51fe: 0141 addi sp,sp,16
|
||
5200: 814fb06f j 214 <__riscv_restore_0>
|
||
|
||
00005204 <tcp_segs_free>:
|
||
tcp_segs_free():
|
||
5204: fedfa2ef jal t0,1f0 <__riscv_save_0>
|
||
5208: 4401 li s0,0
|
||
520a: e501 bnez a0,5212 <tcp_segs_free+0xe>
|
||
520c: 8522 mv a0,s0
|
||
520e: 806fb06f j 214 <__riscv_restore_0>
|
||
5212: 4104 lw s1,0(a0)
|
||
5214: fc7ff0ef jal ra,51da <tcp_seg_free>
|
||
5218: 942a add s0,s0,a0
|
||
521a: 0ff47413 andi s0,s0,255
|
||
521e: 8526 mv a0,s1
|
||
5220: b7ed j 520a <tcp_segs_free+0x6>
|
||
|
||
00005222 <tcp_seg_copy>:
|
||
tcp_seg_copy():
|
||
5222: fcffa2ef jal t0,1f0 <__riscv_save_0>
|
||
5226: 1141 addi sp,sp,-16
|
||
5228: c62a sw a0,12(sp)
|
||
522a: 4511 li a0,4
|
||
522c: f90ff0ef jal ra,49bc <memp_malloc>
|
||
5230: 842a mv s0,a0
|
||
5232: c901 beqz a0,5242 <tcp_seg_copy+0x20>
|
||
5234: 45b2 lw a1,12(sp)
|
||
5236: 4651 li a2,20
|
||
5238: 17f030ef jal ra,8bb6 <memcpy>
|
||
523c: 4048 lw a0,4(s0)
|
||
523e: b69ff0ef jal ra,4da6 <pbuf_ref>
|
||
5242: 8522 mv a0,s0
|
||
5244: 0141 addi sp,sp,16
|
||
5246: fcffa06f j 214 <__riscv_restore_0>
|
||
|
||
0000524a <tcp_arg>:
|
||
tcp_arg():
|
||
524a: cd0c sw a1,24(a0)
|
||
524c: 8082 ret
|
||
|
||
0000524e <tcp_recv>:
|
||
tcp_recv():
|
||
524e: 08b52823 sw a1,144(a0)
|
||
5252: 8082 ret
|
||
|
||
00005254 <tcp_sent>:
|
||
tcp_sent():
|
||
5254: 08b52623 sw a1,140(a0)
|
||
5258: 8082 ret
|
||
|
||
0000525a <tcp_err>:
|
||
tcp_err():
|
||
525a: 08b52e23 sw a1,156(a0)
|
||
525e: 8082 ret
|
||
|
||
00005260 <tcp_poll>:
|
||
tcp_poll():
|
||
5260: 08b52c23 sw a1,152(a0)
|
||
5264: 02c50ea3 sb a2,61(a0)
|
||
5268: 8082 ret
|
||
|
||
0000526a <tcp_pcb_purge>:
|
||
tcp_pcb_purge():
|
||
526a: 491c lw a5,16(a0)
|
||
526c: 4705 li a4,1
|
||
526e: 04f77463 bgeu a4,a5,52b6 <tcp_pcb_purge+0x4c>
|
||
5272: 4729 li a4,10
|
||
5274: 04e78163 beq a5,a4,52b6 <tcp_pcb_purge+0x4c>
|
||
5278: f79fa2ef jal t0,1f0 <__riscv_save_0>
|
||
527c: 842a mv s0,a0
|
||
527e: 08852503 lw a0,136(a0)
|
||
5282: c509 beqz a0,528c <tcp_pcb_purge+0x22>
|
||
5284: 92bff0ef jal ra,4bae <pbuf_free>
|
||
5288: 08042423 sw zero,136(s0)
|
||
528c: 08442503 lw a0,132(s0)
|
||
5290: 57fd li a5,-1
|
||
5292: bc7e sh a5,62(s0)
|
||
5294: f71ff0ef jal ra,5204 <tcp_segs_free>
|
||
5298: 5c68 lw a0,124(s0)
|
||
529a: 08042223 sw zero,132(s0)
|
||
529e: f67ff0ef jal ra,5204 <tcp_segs_free>
|
||
52a2: 08042503 lw a0,128(s0)
|
||
52a6: f5fff0ef jal ra,5204 <tcp_segs_free>
|
||
52aa: 06042e23 sw zero,124(s0)
|
||
52ae: 08042023 sw zero,128(s0)
|
||
52b2: f63fa06f j 214 <__riscv_restore_0>
|
||
52b6: 8082 ret
|
||
|
||
000052b8 <tcp_slowtmr>:
|
||
tcp_slowtmr():
|
||
52b8: f09fa2ef jal t0,1c0 <__riscv_save_12>
|
||
52bc: 200074b7 lui s1,0x20007
|
||
52c0: 7f848793 addi a5,s1,2040 # 200077f8 <NetInf>
|
||
52c4: 91418713 addi a4,gp,-1772 # 20000134 <tcp_ticks>
|
||
52c8: 0187cc03 lbu s8,24(a5)
|
||
52cc: 431c lw a5,0(a4)
|
||
52ce: 6aa5 lui s5,0x9
|
||
52d0: 0785 addi a5,a5,1
|
||
52d2: 9081ad03 lw s10,-1784(gp) # 20000128 <tcp_active_pcbs>
|
||
52d6: c31c sw a5,0(a4)
|
||
52d8: 06600913 li s2,102
|
||
52dc: 4a01 li s4,0
|
||
52de: 7f848493 addi s1,s1,2040
|
||
52e2: 91418413 addi s0,gp,-1772 # 20000134 <tcp_ticks>
|
||
52e6: 90818993 addi s3,gp,-1784 # 20000128 <tcp_active_pcbs>
|
||
52ea: 4c8d li s9,3
|
||
52ec: e5ca8a93 addi s5,s5,-420 # 8e5c <tcp_backoff>
|
||
52f0: 84c18b13 addi s6,gp,-1972 # 2000006c <tcp_persist_backoff>
|
||
52f4: 000d1a63 bnez s10,5308 <tcp_slowtmr+0x50>
|
||
52f8: 9201a403 lw s0,-1760(gp) # 20000140 <tcp_tw_pcbs>
|
||
52fc: 92018493 addi s1,gp,-1760 # 20000140 <tcp_tw_pcbs>
|
||
5300: 24041963 bnez s0,5552 <tcp_slowtmr+0x29a>
|
||
5304: ef9fa06f j 1fc <__riscv_restore_12>
|
||
5308: 197d addi s2,s2,-1
|
||
530a: 0ff97913 andi s2,s2,255
|
||
530e: fe090be3 beqz s2,5304 <tcp_slowtmr+0x4c>
|
||
5312: 052d4603 lbu a2,82(s10)
|
||
5316: 010d2683 lw a3,16(s10)
|
||
531a: 4d85 li s11,1
|
||
531c: 02cc0263 beq s8,a2,5340 <tcp_slowtmr+0x88>
|
||
5320: 0b0d4d83 lbu s11,176(s10)
|
||
5324: 100d8463 beqz s11,542c <tcp_slowtmr+0x174>
|
||
5328: 0acd2703 lw a4,172(s10)
|
||
532c: 01bb06b3 add a3,s6,s11
|
||
5330: fff6c683 lbu a3,-1(a3)
|
||
5334: 0705 addi a4,a4,1
|
||
5336: 0aed2623 sw a4,172(s10)
|
||
533a: 0cd77c63 bgeu a4,a3,5412 <tcp_slowtmr+0x15a>
|
||
533e: 4d81 li s11,0
|
||
5340: 010d2703 lw a4,16(s10)
|
||
5344: 4699 li a3,6
|
||
5346: 00d71d63 bne a4,a3,5360 <tcp_slowtmr+0xa8>
|
||
534a: 038d2603 lw a2,56(s10)
|
||
534e: 4014 lw a3,0(s0)
|
||
5350: 8e91 sub a3,a3,a2
|
||
5352: 4c90 lw a2,24(s1)
|
||
5354: 00d67663 bgeu a2,a3,5360 <tcp_slowtmr+0xa8>
|
||
5358: 001d8793 addi a5,s11,1
|
||
535c: 0ff7fd93 andi s11,a5,255
|
||
5360: 008d5683 lhu a3,8(s10)
|
||
5364: 4b81 li s7,0
|
||
5366: 8aa1 andi a3,a3,8
|
||
5368: ce95 beqz a3,53a4 <tcp_slowtmr+0xec>
|
||
536a: 4691 li a3,4
|
||
536c: 00d70563 beq a4,a3,5376 <tcp_slowtmr+0xbe>
|
||
5370: 469d li a3,7
|
||
5372: 02d71963 bne a4,a3,53a4 <tcp_slowtmr+0xec>
|
||
5376: 0a4d2883 lw a7,164(s10)
|
||
537a: 0a8d2683 lw a3,168(s10)
|
||
537e: 0a0d2503 lw a0,160(s10)
|
||
5382: 4ccc lw a1,28(s1)
|
||
5384: 02d886b3 mul a3,a7,a3
|
||
5388: 4010 lw a2,0(s0)
|
||
538a: 038d2703 lw a4,56(s10)
|
||
538e: 8e19 sub a2,a2,a4
|
||
5390: 96aa add a3,a3,a0
|
||
5392: 02b6d6b3 divu a3,a3,a1
|
||
5396: 10c6fc63 bgeu a3,a2,54ae <tcp_slowtmr+0x1f6>
|
||
539a: 001d8793 addi a5,s11,1
|
||
539e: 0ff7fd93 andi s11,a5,255
|
||
53a2: 4b85 li s7,1
|
||
53a4: 084d2503 lw a0,132(s10)
|
||
53a8: c105 beqz a0,53c8 <tcp_slowtmr+0x110>
|
||
53aa: 038d2703 lw a4,56(s10)
|
||
53ae: 4014 lw a3,0(s0)
|
||
53b0: 4619 li a2,6
|
||
53b2: 8e99 sub a3,a3,a4
|
||
53b4: 050d1703 lh a4,80(s10)
|
||
53b8: 02c70733 mul a4,a4,a2
|
||
53bc: 00e6e663 bltu a3,a4,53c8 <tcp_slowtmr+0x110>
|
||
53c0: e45ff0ef jal ra,5204 <tcp_segs_free>
|
||
53c4: 080d2223 sw zero,132(s10)
|
||
53c8: 010d2703 lw a4,16(s10)
|
||
53cc: 11971463 bne a4,s9,54d4 <tcp_slowtmr+0x21c>
|
||
53d0: 038d2683 lw a3,56(s10)
|
||
53d4: 4018 lw a4,0(s0)
|
||
53d6: 8f15 sub a4,a4,a3
|
||
53d8: 4c94 lw a3,24(s1)
|
||
53da: 10e6e863 bltu a3,a4,54ea <tcp_slowtmr+0x232>
|
||
53de: 100d9663 bnez s11,54ea <tcp_slowtmr+0x232>
|
||
53e2: 03cd4783 lbu a5,60(s10)
|
||
53e6: 03dd4703 lbu a4,61(s10)
|
||
53ea: 0785 addi a5,a5,1
|
||
53ec: 0ff7f793 andi a5,a5,255
|
||
53f0: 02fd0e23 sb a5,60(s10)
|
||
53f4: 00e7eb63 bltu a5,a4,540a <tcp_slowtmr+0x152>
|
||
53f8: 098d2783 lw a5,152(s10)
|
||
53fc: 020d0e23 sb zero,60(s10)
|
||
5400: 14079263 bnez a5,5544 <tcp_slowtmr+0x28c>
|
||
5404: 856a mv a0,s10
|
||
5406: 1ae020ef jal ra,75b4 <tcp_output>
|
||
540a: 8a6a mv s4,s10
|
||
540c: 00cd2d03 lw s10,12(s10)
|
||
5410: b5d5 j 52f4 <tcp_slowtmr+0x3c>
|
||
5412: 0a0d2623 sw zero,172(s10)
|
||
5416: 4719 li a4,6
|
||
5418: 01b76663 bltu a4,s11,5424 <tcp_slowtmr+0x16c>
|
||
541c: 001d8793 addi a5,s11,1
|
||
5420: 0afd0823 sb a5,176(s10)
|
||
5424: 856a mv a0,s10
|
||
5426: 770020ef jal ra,7b96 <tcp_zero_window_probe>
|
||
542a: bf11 j 533e <tcp_slowtmr+0x86>
|
||
542c: 03ed1703 lh a4,62(s10)
|
||
5430: 00074563 bltz a4,543a <tcp_slowtmr+0x182>
|
||
5434: 0705 addi a4,a4,1
|
||
5436: 02ed1f23 sh a4,62(s10)
|
||
543a: 080d2703 lw a4,128(s10)
|
||
543e: f00700e3 beqz a4,533e <tcp_slowtmr+0x86>
|
||
5442: 03ed1583 lh a1,62(s10)
|
||
5446: 050d1703 lh a4,80(s10)
|
||
544a: eeb75ae3 bge a4,a1,533e <tcp_slowtmr+0x86>
|
||
544e: 02dcf463 bgeu s9,a3,5476 <tcp_slowtmr+0x1be>
|
||
5452: 04cd1703 lh a4,76(s10)
|
||
5456: 04ed1683 lh a3,78(s10)
|
||
545a: 47b1 li a5,12
|
||
545c: 870d srai a4,a4,0x3
|
||
545e: 9736 add a4,a4,a3
|
||
5460: 0ff67693 andi a3,a2,255
|
||
5464: 00c7f363 bgeu a5,a2,546a <tcp_slowtmr+0x1b2>
|
||
5468: 46b1 li a3,12
|
||
546a: 96d6 add a3,a3,s5
|
||
546c: 2294 lbu a3,0(a3)
|
||
546e: 00d71733 sll a4,a4,a3
|
||
5472: 04ed1823 sh a4,80(s10)
|
||
5476: 05ad5683 lhu a3,90(s10)
|
||
547a: 064d5703 lhu a4,100(s10)
|
||
547e: 020d1f23 sh zero,62(s10)
|
||
5482: 00e6f363 bgeu a3,a4,5488 <tcp_slowtmr+0x1d0>
|
||
5486: 8736 mv a4,a3
|
||
5488: 0742 slli a4,a4,0x10
|
||
548a: 8341 srli a4,a4,0x10
|
||
548c: 040d5683 lhu a3,64(s10)
|
||
5490: 8305 srli a4,a4,0x1
|
||
5492: 04ed1e23 sh a4,92(s10)
|
||
5496: 00d77663 bgeu a4,a3,54a2 <tcp_slowtmr+0x1ea>
|
||
549a: 00169713 slli a4,a3,0x1
|
||
549e: 04ed1e23 sh a4,92(s10)
|
||
54a2: 04dd1d23 sh a3,90(s10)
|
||
54a6: 856a mv a0,s10
|
||
54a8: 57c020ef jal ra,7a24 <tcp_rexmit_rto>
|
||
54ac: bd51 j 5340 <tcp_slowtmr+0x88>
|
||
54ae: 0b1d4703 lbu a4,177(s10)
|
||
54b2: 4b81 li s7,0
|
||
54b4: 03170733 mul a4,a4,a7
|
||
54b8: 972a add a4,a4,a0
|
||
54ba: 02b75733 divu a4,a4,a1
|
||
54be: eec773e3 bgeu a4,a2,53a4 <tcp_slowtmr+0xec>
|
||
54c2: 856a mv a0,s10
|
||
54c4: 674020ef jal ra,7b38 <tcp_keepalive>
|
||
54c8: 0b1d4703 lbu a4,177(s10)
|
||
54cc: 0705 addi a4,a4,1
|
||
54ce: 0aed08a3 sb a4,177(s10)
|
||
54d2: bdc9 j 53a4 <tcp_slowtmr+0xec>
|
||
54d4: 46a5 li a3,9
|
||
54d6: f0d714e3 bne a4,a3,53de <tcp_slowtmr+0x126>
|
||
54da: 038d2703 lw a4,56(s10)
|
||
54de: 4014 lw a3,0(s0)
|
||
54e0: 8e99 sub a3,a3,a4
|
||
54e2: 4c98 lw a4,24(s1)
|
||
54e4: 0706 slli a4,a4,0x1
|
||
54e6: eed77ce3 bgeu a4,a3,53de <tcp_slowtmr+0x126>
|
||
54ea: 856a mv a0,s10
|
||
54ec: efefd0ef jal ra,2bea <LwipRemoveTcpPcb>
|
||
54f0: 856a mv a0,s10
|
||
54f2: d79ff0ef jal ra,526a <tcp_pcb_purge>
|
||
54f6: 00cd2783 lw a5,12(s10)
|
||
54fa: 040a0263 beqz s4,553e <tcp_slowtmr+0x286>
|
||
54fe: 00fa2623 sw a5,12(s4)
|
||
5502: 09cd2783 lw a5,156(s10)
|
||
5506: c789 beqz a5,5510 <tcp_slowtmr+0x258>
|
||
5508: 018d2503 lw a0,24(s10)
|
||
550c: 55ed li a1,-5
|
||
550e: 9782 jalr a5
|
||
5510: 000b8f63 beqz s7,552e <tcp_slowtmr+0x276>
|
||
5514: 024d5783 lhu a5,36(s10)
|
||
5518: 01cd5703 lhu a4,28(s10)
|
||
551c: 028d2583 lw a1,40(s10)
|
||
5520: 060d2503 lw a0,96(s10)
|
||
5524: 004d0693 addi a3,s10,4
|
||
5528: 866a mv a2,s10
|
||
552a: 3f2020ef jal ra,791c <tcp_rst>
|
||
552e: 00cd2b83 lw s7,12(s10)
|
||
5532: 85ea mv a1,s10
|
||
5534: 4509 li a0,2
|
||
5536: ca6ff0ef jal ra,49dc <memp_free>
|
||
553a: 8d5e mv s10,s7
|
||
553c: bb65 j 52f4 <tcp_slowtmr+0x3c>
|
||
553e: 00f9a023 sw a5,0(s3)
|
||
5542: b7c1 j 5502 <tcp_slowtmr+0x24a>
|
||
5544: 018d2503 lw a0,24(s10)
|
||
5548: 85ea mv a1,s10
|
||
554a: 9782 jalr a5
|
||
554c: ea050ce3 beqz a0,5404 <tcp_slowtmr+0x14c>
|
||
5550: bd6d j 540a <tcp_slowtmr+0x152>
|
||
5552: 8522 mv a0,s0
|
||
5554: e96fd0ef jal ra,2bea <LwipRemoveTcpPcb>
|
||
5558: 8522 mv a0,s0
|
||
555a: d11ff0ef jal ra,526a <tcp_pcb_purge>
|
||
555e: 00c42903 lw s2,12(s0)
|
||
5562: 85a2 mv a1,s0
|
||
5564: 4509 li a0,2
|
||
5566: 0124a023 sw s2,0(s1)
|
||
556a: 844a mv s0,s2
|
||
556c: c70ff0ef jal ra,49dc <memp_free>
|
||
5570: bb41 j 5300 <tcp_slowtmr+0x48>
|
||
|
||
00005572 <tcp_pcb_remove>:
|
||
tcp_pcb_remove():
|
||
5572: c7ffa2ef jal t0,1f0 <__riscv_save_0>
|
||
5576: 411c lw a5,0(a0)
|
||
5578: 842e mv s0,a1
|
||
557a: 04b79063 bne a5,a1,55ba <tcp_pcb_remove+0x48>
|
||
557e: 45dc lw a5,12(a1)
|
||
5580: c11c sw a5,0(a0)
|
||
5582: 00042623 sw zero,12(s0)
|
||
5586: 8522 mv a0,s0
|
||
5588: ce3ff0ef jal ra,526a <tcp_pcb_purge>
|
||
558c: 481c lw a5,16(s0)
|
||
558e: 4729 li a4,10
|
||
5590: 02e78163 beq a5,a4,55b2 <tcp_pcb_remove+0x40>
|
||
5594: 4705 li a4,1
|
||
5596: 00e78e63 beq a5,a4,55b2 <tcp_pcb_remove+0x40>
|
||
559a: 02644783 lbu a5,38(s0)
|
||
559e: 0017f713 andi a4,a5,1
|
||
55a2: cb01 beqz a4,55b2 <tcp_pcb_remove+0x40>
|
||
55a4: 0027e793 ori a5,a5,2
|
||
55a8: 02f40323 sb a5,38(s0)
|
||
55ac: 8522 mv a0,s0
|
||
55ae: 006020ef jal ra,75b4 <tcp_output>
|
||
55b2: 00042823 sw zero,16(s0)
|
||
55b6: c5ffa06f j 214 <__riscv_restore_0>
|
||
55ba: 90f1ae23 sw a5,-1764(gp) # 2000013c <tcp_tmp_pcb>
|
||
55be: 4681 li a3,0
|
||
55c0: 91c18713 addi a4,gp,-1764 # 2000013c <tcp_tmp_pcb>
|
||
55c4: e789 bnez a5,55ce <tcp_pcb_remove+0x5c>
|
||
55c6: ded5 beqz a3,5582 <tcp_pcb_remove+0x10>
|
||
55c8: 00072023 sw zero,0(a4)
|
||
55cc: bf5d j 5582 <tcp_pcb_remove+0x10>
|
||
55ce: 47d0 lw a2,12(a5)
|
||
55d0: 00861763 bne a2,s0,55de <tcp_pcb_remove+0x6c>
|
||
55d4: c291 beqz a3,55d8 <tcp_pcb_remove+0x66>
|
||
55d6: c31c sw a5,0(a4)
|
||
55d8: 4458 lw a4,12(s0)
|
||
55da: c7d8 sw a4,12(a5)
|
||
55dc: b75d j 5582 <tcp_pcb_remove+0x10>
|
||
55de: 4685 li a3,1
|
||
55e0: 87b2 mv a5,a2
|
||
55e2: b7cd j 55c4 <tcp_pcb_remove+0x52>
|
||
|
||
000055e4 <tcp_close>:
|
||
tcp_close():
|
||
55e4: 491c lw a5,16(a0)
|
||
55e6: 471d li a4,7
|
||
55e8: 0af76563 bltu a4,a5,5692 <tcp_close+0xae>
|
||
55ec: c05fa2ef jal t0,1f0 <__riscv_save_0>
|
||
55f0: 6725 lui a4,0x9
|
||
55f2: 078a slli a5,a5,0x2
|
||
55f4: e3c70713 addi a4,a4,-452 # 8e3c <ErrTable+0x10>
|
||
55f8: 97ba add a5,a5,a4
|
||
55fa: 439c lw a5,0(a5)
|
||
55fc: 842a mv s0,a0
|
||
55fe: 8782 jr a5
|
||
5600: deafd0ef jal ra,2bea <LwipRemoveTcpPcb>
|
||
5604: 90c18713 addi a4,gp,-1780 # 2000012c <tcp_bound_pcbs>
|
||
5608: 431c lw a5,0(a4)
|
||
560a: 00879963 bne a5,s0,561c <tcp_close+0x38>
|
||
560e: 445c lw a5,12(s0)
|
||
5610: c31c sw a5,0(a4)
|
||
5612: 00042623 sw zero,12(s0)
|
||
5616: 85a2 mv a1,s0
|
||
5618: 4509 li a0,2
|
||
561a: a83d j 5658 <tcp_close+0x74>
|
||
561c: 90f1ae23 sw a5,-1764(gp) # 2000013c <tcp_tmp_pcb>
|
||
5620: 4681 li a3,0
|
||
5622: 91c18713 addi a4,gp,-1764 # 2000013c <tcp_tmp_pcb>
|
||
5626: e789 bnez a5,5630 <tcp_close+0x4c>
|
||
5628: d6ed beqz a3,5612 <tcp_close+0x2e>
|
||
562a: 00072023 sw zero,0(a4)
|
||
562e: b7d5 j 5612 <tcp_close+0x2e>
|
||
5630: 47d0 lw a2,12(a5)
|
||
5632: 00861763 bne a2,s0,5640 <tcp_close+0x5c>
|
||
5636: c291 beqz a3,563a <tcp_close+0x56>
|
||
5638: c31c sw a5,0(a4)
|
||
563a: 4458 lw a4,12(s0)
|
||
563c: c7d8 sw a4,12(a5)
|
||
563e: bfd1 j 5612 <tcp_close+0x2e>
|
||
5640: 4685 li a3,1
|
||
5642: 87b2 mv a5,a2
|
||
5644: b7cd j 5626 <tcp_close+0x42>
|
||
5646: da4fd0ef jal ra,2bea <LwipRemoveTcpPcb>
|
||
564a: 85a2 mv a1,s0
|
||
564c: 91018513 addi a0,gp,-1776 # 20000130 <tcp_listen_pcbs>
|
||
5650: f23ff0ef jal ra,5572 <tcp_pcb_remove>
|
||
5654: 85a2 mv a1,s0
|
||
5656: 450d li a0,3
|
||
5658: b84ff0ef jal ra,49dc <memp_free>
|
||
565c: 4501 li a0,0
|
||
565e: a831 j 567a <tcp_close+0x96>
|
||
5660: d8afd0ef jal ra,2bea <LwipRemoveTcpPcb>
|
||
5664: 85a2 mv a1,s0
|
||
5666: 90818513 addi a0,gp,-1784 # 20000128 <tcp_active_pcbs>
|
||
566a: f09ff0ef jal ra,5572 <tcp_pcb_remove>
|
||
566e: b765 j 5616 <tcp_close+0x32>
|
||
5670: 4585 li a1,1
|
||
5672: 68d010ef jal ra,74fe <tcp_send_ctrl>
|
||
5676: 4795 li a5,5
|
||
5678: c901 beqz a0,5688 <tcp_close+0xa4>
|
||
567a: b9bfa06f j 214 <__riscv_restore_0>
|
||
567e: 4585 li a1,1
|
||
5680: 67f010ef jal ra,74fe <tcp_send_ctrl>
|
||
5684: f97d bnez a0,567a <tcp_close+0x96>
|
||
5686: 47a5 li a5,9
|
||
5688: c81c sw a5,16(s0)
|
||
568a: 8522 mv a0,s0
|
||
568c: 729010ef jal ra,75b4 <tcp_output>
|
||
5690: b7f1 j 565c <tcp_close+0x78>
|
||
5692: 4501 li a0,0
|
||
5694: 8082 ret
|
||
|
||
00005696 <tcp_recv_null>:
|
||
tcp_recv_null():
|
||
5696: b5bfa2ef jal t0,1f0 <__riscv_save_0>
|
||
569a: 1141 addi sp,sp,-16
|
||
569c: 852e mv a0,a1
|
||
569e: ce11 beqz a2,56ba <tcp_recv_null+0x24>
|
||
56a0: 260e lhu a1,8(a2)
|
||
56a2: c632 sw a2,12(sp)
|
||
56a4: afbff0ef jal ra,519e <tcp_recved>
|
||
56a8: 4632 lw a2,12(sp)
|
||
56aa: 8532 mv a0,a2
|
||
56ac: d02ff0ef jal ra,4bae <pbuf_free>
|
||
56b0: 4781 li a5,0
|
||
56b2: 853e mv a0,a5
|
||
56b4: 0141 addi sp,sp,16
|
||
56b6: b5ffa06f j 214 <__riscv_restore_0>
|
||
56ba: 4781 li a5,0
|
||
56bc: fafd bnez a3,56b2 <tcp_recv_null+0x1c>
|
||
56be: f27ff0ef jal ra,55e4 <tcp_close>
|
||
56c2: 87aa mv a5,a0
|
||
56c4: b7fd j 56b2 <tcp_recv_null+0x1c>
|
||
|
||
000056c6 <tcp_fasttmr>:
|
||
tcp_fasttmr():
|
||
56c6: b2bfa2ef jal t0,1f0 <__riscv_save_0>
|
||
56ca: 9081a403 lw s0,-1784(gp) # 20000128 <tcp_active_pcbs>
|
||
56ce: 06500493 li s1,101
|
||
56d2: e019 bnez s0,56d8 <tcp_fasttmr+0x12>
|
||
56d4: b41fa06f j 214 <__riscv_restore_0>
|
||
56d8: 08842603 lw a2,136(s0)
|
||
56dc: ca19 beqz a2,56f2 <tcp_fasttmr+0x2c>
|
||
56de: 09042783 lw a5,144(s0)
|
||
56e2: 4681 li a3,0
|
||
56e4: 85a2 mv a1,s0
|
||
56e6: cf8d beqz a5,5720 <tcp_fasttmr+0x5a>
|
||
56e8: 4c08 lw a0,24(s0)
|
||
56ea: 9782 jalr a5
|
||
56ec: e119 bnez a0,56f2 <tcp_fasttmr+0x2c>
|
||
56ee: 08042423 sw zero,136(s0)
|
||
56f2: 14fd addi s1,s1,-1
|
||
56f4: 0ff4f493 andi s1,s1,255
|
||
56f8: dcf1 beqz s1,56d4 <tcp_fasttmr+0xe>
|
||
56fa: 02644783 lbu a5,38(s0)
|
||
56fe: 0017f713 andi a4,a5,1
|
||
5702: cf09 beqz a4,571c <tcp_fasttmr+0x56>
|
||
5704: 0027e793 ori a5,a5,2
|
||
5708: 02f40323 sb a5,38(s0)
|
||
570c: 8522 mv a0,s0
|
||
570e: 6a7010ef jal ra,75b4 <tcp_output>
|
||
5712: 02644783 lbu a5,38(s0)
|
||
5716: 9bf1 andi a5,a5,-4
|
||
5718: 02f40323 sb a5,38(s0)
|
||
571c: 4440 lw s0,12(s0)
|
||
571e: bf55 j 56d2 <tcp_fasttmr+0xc>
|
||
5720: 4501 li a0,0
|
||
5722: f75ff0ef jal ra,5696 <tcp_recv_null>
|
||
5726: b7d9 j 56ec <tcp_fasttmr+0x26>
|
||
|
||
00005728 <tcp_tmr>:
|
||
tcp_tmr():
|
||
5728: ac9fa2ef jal t0,1f0 <__riscv_save_0>
|
||
572c: f9bff0ef jal ra,56c6 <tcp_fasttmr>
|
||
5730: 91818713 addi a4,gp,-1768 # 20000138 <tcp_timer>
|
||
5734: 231c lbu a5,0(a4)
|
||
5736: 0785 addi a5,a5,1
|
||
5738: 0ff7f793 andi a5,a5,255
|
||
573c: a31c sb a5,0(a4)
|
||
573e: 8b85 andi a5,a5,1
|
||
5740: c399 beqz a5,5746 <tcp_tmr+0x1e>
|
||
5742: b77ff0ef jal ra,52b8 <tcp_slowtmr>
|
||
5746: acffa06f j 214 <__riscv_restore_0>
|
||
|
||
0000574a <tcp_fastsendack>:
|
||
tcp_fastsendack():
|
||
574a: aa7fa2ef jal t0,1f0 <__riscv_save_0>
|
||
574e: 9081a403 lw s0,-1784(gp) # 20000128 <tcp_active_pcbs>
|
||
5752: 06500493 li s1,101
|
||
5756: 4901 li s2,0
|
||
5758: e401 bnez s0,5760 <tcp_fastsendack+0x16>
|
||
575a: 854a mv a0,s2
|
||
575c: ab9fa06f j 214 <__riscv_restore_0>
|
||
5760: 08842603 lw a2,136(s0)
|
||
5764: ca19 beqz a2,577a <tcp_fastsendack+0x30>
|
||
5766: 09042783 lw a5,144(s0)
|
||
576a: 4681 li a3,0
|
||
576c: 85a2 mv a1,s0
|
||
576e: c7b1 beqz a5,57ba <tcp_fastsendack+0x70>
|
||
5770: 4c08 lw a0,24(s0)
|
||
5772: 9782 jalr a5
|
||
5774: e119 bnez a0,577a <tcp_fastsendack+0x30>
|
||
5776: 08042423 sw zero,136(s0)
|
||
577a: 14fd addi s1,s1,-1
|
||
577c: 0ff4f493 andi s1,s1,255
|
||
5780: dce9 beqz s1,575a <tcp_fastsendack+0x10>
|
||
5782: 02744783 lbu a5,39(s0)
|
||
5786: cb85 beqz a5,57b6 <tcp_fastsendack+0x6c>
|
||
5788: 02644703 lbu a4,38(s0)
|
||
578c: 00177693 andi a3,a4,1
|
||
5790: c29d beqz a3,57b6 <tcp_fastsendack+0x6c>
|
||
5792: 17fd addi a5,a5,-1
|
||
5794: 0ff7f793 andi a5,a5,255
|
||
5798: 02f403a3 sb a5,39(s0)
|
||
579c: e39d bnez a5,57c2 <tcp_fastsendack+0x78>
|
||
579e: 00276713 ori a4,a4,2
|
||
57a2: 02e40323 sb a4,38(s0)
|
||
57a6: 8522 mv a0,s0
|
||
57a8: 60d010ef jal ra,75b4 <tcp_output>
|
||
57ac: 02644783 lbu a5,38(s0)
|
||
57b0: 9bf1 andi a5,a5,-4
|
||
57b2: 02f40323 sb a5,38(s0)
|
||
57b6: 4440 lw s0,12(s0)
|
||
57b8: b745 j 5758 <tcp_fastsendack+0xe>
|
||
57ba: 4501 li a0,0
|
||
57bc: edbff0ef jal ra,5696 <tcp_recv_null>
|
||
57c0: bf55 j 5774 <tcp_fastsendack+0x2a>
|
||
57c2: 0905 addi s2,s2,1
|
||
57c4: bfcd j 57b6 <tcp_fastsendack+0x6c>
|
||
|
||
000057c6 <tcp_abandon>:
|
||
tcp_abandon():
|
||
57c6: a03fa2ef jal t0,1c8 <__riscv_save_10>
|
||
57ca: 4918 lw a4,16(a0)
|
||
57cc: 47a9 li a5,10
|
||
57ce: 1141 addi sp,sp,-16
|
||
57d0: 842a mv s0,a0
|
||
57d2: 00f71e63 bne a4,a5,57ee <tcp_abandon+0x28>
|
||
57d6: 85aa mv a1,a0
|
||
57d8: 92018513 addi a0,gp,-1760 # 20000140 <tcp_tw_pcbs>
|
||
57dc: d97ff0ef jal ra,5572 <tcp_pcb_remove>
|
||
57e0: 85a2 mv a1,s0
|
||
57e2: 4509 li a0,2
|
||
57e4: 9f8ff0ef jal ra,49dc <memp_free>
|
||
57e8: 0141 addi sp,sp,16
|
||
57ea: a17fa06f j 200 <__riscv_restore_10>
|
||
57ee: 411c lw a5,0(a0)
|
||
57f0: 8b2e mv s6,a1
|
||
57f2: 06052903 lw s2,96(a0)
|
||
57f6: c63e sw a5,12(sp)
|
||
57f8: 415c lw a5,4(a0)
|
||
57fa: 02852983 lw s3,40(a0)
|
||
57fe: 01c55a03 lhu s4,28(a0)
|
||
5802: c43e sw a5,8(sp)
|
||
5804: 02455a83 lhu s5,36(a0)
|
||
5808: 09c52483 lw s1,156(a0)
|
||
580c: 01852b83 lw s7,24(a0)
|
||
5810: bdafd0ef jal ra,2bea <LwipRemoveTcpPcb>
|
||
5814: 90818513 addi a0,gp,-1784 # 20000128 <tcp_active_pcbs>
|
||
5818: 85a2 mv a1,s0
|
||
581a: d59ff0ef jal ra,5572 <tcp_pcb_remove>
|
||
581e: 08042503 lw a0,128(s0)
|
||
5822: c119 beqz a0,5828 <tcp_abandon+0x62>
|
||
5824: 9e1ff0ef jal ra,5204 <tcp_segs_free>
|
||
5828: 5c68 lw a0,124(s0)
|
||
582a: c119 beqz a0,5830 <tcp_abandon+0x6a>
|
||
582c: 9d9ff0ef jal ra,5204 <tcp_segs_free>
|
||
5830: 08442503 lw a0,132(s0)
|
||
5834: c119 beqz a0,583a <tcp_abandon+0x74>
|
||
5836: 9cfff0ef jal ra,5204 <tcp_segs_free>
|
||
583a: 85a2 mv a1,s0
|
||
583c: 4509 li a0,2
|
||
583e: 99eff0ef jal ra,49dc <memp_free>
|
||
5842: c481 beqz s1,584a <tcp_abandon+0x84>
|
||
5844: 55ed li a1,-5
|
||
5846: 855e mv a0,s7
|
||
5848: 9482 jalr s1
|
||
584a: f80b0fe3 beqz s6,57e8 <tcp_abandon+0x22>
|
||
584e: 87d6 mv a5,s5
|
||
5850: 8752 mv a4,s4
|
||
5852: 0034 addi a3,sp,8
|
||
5854: 0070 addi a2,sp,12
|
||
5856: 85ce mv a1,s3
|
||
5858: 854a mv a0,s2
|
||
585a: 0c2020ef jal ra,791c <tcp_rst>
|
||
585e: b769 j 57e8 <tcp_abandon+0x22>
|
||
|
||
00005860 <tcp_next_iss>:
|
||
tcp_next_iss():
|
||
5860: 82c18793 addi a5,gp,-2004 # 2000004c <iss.3197>
|
||
5864: 4388 lw a0,0(a5)
|
||
5866: 9141a703 lw a4,-1772(gp) # 20000134 <tcp_ticks>
|
||
586a: 953a add a0,a0,a4
|
||
586c: c388 sw a0,0(a5)
|
||
586e: 8082 ret
|
||
|
||
00005870 <tcp_alloc>:
|
||
tcp_alloc():
|
||
5870: 967fa2ef jal t0,1d6 <__riscv_save_4>
|
||
5874: 892a mv s2,a0
|
||
5876: 4509 li a0,2
|
||
5878: 944ff0ef jal ra,49bc <memp_malloc>
|
||
587c: 200084b7 lui s1,0x20008
|
||
5880: 83c48493 addi s1,s1,-1988 # 2000783c <WCHCfg>
|
||
5884: 842a mv s0,a0
|
||
5886: e125 bnez a0,58e6 <tcp_alloc+0x76>
|
||
5888: 489c lw a5,16(s1)
|
||
588a: 8389 srli a5,a5,0x2
|
||
588c: 8b85 andi a5,a5,1
|
||
588e: e789 bnez a5,5898 <tcp_alloc+0x28>
|
||
5890: 4401 li s0,0
|
||
5892: 8522 mv a0,s0
|
||
5894: 977fa06f j 20a <__riscv_restore_4>
|
||
5898: 9201a783 lw a5,-1760(gp) # 20000140 <tcp_tw_pcbs>
|
||
589c: 9141a603 lw a2,-1772(gp) # 20000134 <tcp_ticks>
|
||
58a0: 4501 li a0,0
|
||
58a2: 4681 li a3,0
|
||
58a4: 91418993 addi s3,gp,-1772 # 20000134 <tcp_ticks>
|
||
58a8: e7f1 bnez a5,5974 <tcp_alloc+0x104>
|
||
58aa: c501 beqz a0,58b2 <tcp_alloc+0x42>
|
||
58ac: 4585 li a1,1
|
||
58ae: f19ff0ef jal ra,57c6 <tcp_abandon>
|
||
58b2: 4509 li a0,2
|
||
58b4: 908ff0ef jal ra,49bc <memp_malloc>
|
||
58b8: 842a mv s0,a0
|
||
58ba: e515 bnez a0,58e6 <tcp_alloc+0x76>
|
||
58bc: 9081a783 lw a5,-1784(gp) # 20000128 <tcp_active_pcbs>
|
||
58c0: 0009a503 lw a0,0(s3)
|
||
58c4: 197d addi s2,s2,-1
|
||
58c6: 0ff97913 andi s2,s2,255
|
||
58ca: 07f00613 li a2,127
|
||
58ce: 4581 li a1,0
|
||
58d0: ebdd bnez a5,5986 <tcp_alloc+0x116>
|
||
58d2: c409 beqz s0,58dc <tcp_alloc+0x6c>
|
||
58d4: 4585 li a1,1
|
||
58d6: 8522 mv a0,s0
|
||
58d8: eefff0ef jal ra,57c6 <tcp_abandon>
|
||
58dc: 4509 li a0,2
|
||
58de: 8deff0ef jal ra,49bc <memp_malloc>
|
||
58e2: 842a mv s0,a0
|
||
58e4: d555 beqz a0,5890 <tcp_alloc+0x20>
|
||
58e6: 0b400613 li a2,180
|
||
58ea: 4581 li a1,0
|
||
58ec: 8522 mv a0,s0
|
||
58ee: 933fa0ef jal ra,220 <memset>
|
||
58f2: 04000793 li a5,64
|
||
58f6: a85c sb a5,20(s0)
|
||
58f8: 449c lw a5,8(s1)
|
||
58fa: 06041c23 sh zero,120(s0)
|
||
58fe: 21800713 li a4,536
|
||
5902: 06f41b23 sh a5,118(s0)
|
||
5906: 385e lhu a5,52(s0)
|
||
5908: b45e sh a5,44(s0)
|
||
590a: b47e sh a5,46(s0)
|
||
590c: 77e1 lui a5,0xffff8
|
||
590e: a43e sh a5,10(s0)
|
||
5910: 40dc lw a5,4(s1)
|
||
5912: 00f77463 bgeu a4,a5,591a <tcp_alloc+0xaa>
|
||
5916: 21800793 li a5,536
|
||
591a: 04f41023 sh a5,64(s0)
|
||
591e: 67c1 lui a5,0x10
|
||
5920: 577d li a4,-1
|
||
5922: c47c sw a5,76(s0)
|
||
5924: 4785 li a5,1
|
||
5926: 04f41823 sh a5,80(s0)
|
||
592a: bc7a sh a4,62(s0)
|
||
592c: 04f41d23 sh a5,90(s0)
|
||
5930: f31ff0ef jal ra,5860 <tcp_next_iss>
|
||
5934: 9141a783 lw a5,-1772(gp) # 20000134 <tcp_ticks>
|
||
5938: d468 sw a0,108(s0)
|
||
593a: d028 sw a0,96(s0)
|
||
593c: dc1c sw a5,56(s0)
|
||
593e: 000057b7 lui a5,0x5
|
||
5942: 69678793 addi a5,a5,1686 # 5696 <tcp_recv_null>
|
||
5946: 08f42823 sw a5,144(s0)
|
||
594a: 200077b7 lui a5,0x20007
|
||
594e: 7ec7a703 lw a4,2028(a5) # 200077ec <KeepLiveCfg>
|
||
5952: 7ec78793 addi a5,a5,2028
|
||
5956: c868 sw a0,84(s0)
|
||
5958: 0ae42023 sw a4,160(s0)
|
||
595c: 43d8 lw a4,4(a5)
|
||
595e: 479c lw a5,8(a5)
|
||
5960: d828 sw a0,112(s0)
|
||
5962: 02040e23 sb zero,60(s0)
|
||
5966: 0ae42223 sw a4,164(s0)
|
||
596a: 0af42423 sw a5,168(s0)
|
||
596e: 0a0408a3 sb zero,177(s0)
|
||
5972: b705 j 5892 <tcp_alloc+0x22>
|
||
5974: 5f98 lw a4,56(a5)
|
||
5976: 40e60733 sub a4,a2,a4
|
||
597a: 00d76463 bltu a4,a3,5982 <tcp_alloc+0x112>
|
||
597e: 86ba mv a3,a4
|
||
5980: 853e mv a0,a5
|
||
5982: 47dc lw a5,12(a5)
|
||
5984: b715 j 58a8 <tcp_alloc+0x38>
|
||
5986: 2bd4 lbu a3,20(a5)
|
||
5988: 00d96c63 bltu s2,a3,59a0 <tcp_alloc+0x130>
|
||
598c: 00d66a63 bltu a2,a3,59a0 <tcp_alloc+0x130>
|
||
5990: 5f98 lw a4,56(a5)
|
||
5992: 40e50733 sub a4,a0,a4
|
||
5996: 00b76563 bltu a4,a1,59a0 <tcp_alloc+0x130>
|
||
599a: 8636 mv a2,a3
|
||
599c: 85ba mv a1,a4
|
||
599e: 843e mv s0,a5
|
||
59a0: 47dc lw a5,12(a5)
|
||
59a2: b73d j 58d0 <tcp_alloc+0x60>
|
||
|
||
000059a4 <tcp_new>:
|
||
tcp_new():
|
||
59a4: 84dfa2ef jal t0,1f0 <__riscv_save_0>
|
||
59a8: 04000513 li a0,64
|
||
59ac: ec5ff0ef jal ra,5870 <tcp_alloc>
|
||
59b0: 865fa06f j 214 <__riscv_restore_0>
|
||
|
||
000059b4 <tcp_eff_send_mss>:
|
||
tcp_eff_send_mss():
|
||
59b4: 83dfa2ef jal t0,1f0 <__riscv_save_0>
|
||
59b8: 842a mv s0,a0
|
||
59ba: 852e mv a0,a1
|
||
59bc: e4ffd0ef jal ra,380a <ip_route>
|
||
59c0: cd11 beqz a0,59dc <tcp_eff_send_mss+0x28>
|
||
59c2: 391e lhu a5,48(a0)
|
||
59c4: cf81 beqz a5,59dc <tcp_eff_send_mss+0x28>
|
||
59c6: fd878793 addi a5,a5,-40
|
||
59ca: 873e mv a4,a5
|
||
59cc: 07c2 slli a5,a5,0x10
|
||
59ce: 83c1 srli a5,a5,0x10
|
||
59d0: 00f47363 bgeu s0,a5,59d6 <tcp_eff_send_mss+0x22>
|
||
59d4: 8722 mv a4,s0
|
||
59d6: 01071413 slli s0,a4,0x10
|
||
59da: 8041 srli s0,s0,0x10
|
||
59dc: 8522 mv a0,s0
|
||
59de: 837fa06f j 214 <__riscv_restore_0>
|
||
|
||
000059e2 <tcp_connect>:
|
||
tcp_connect():
|
||
59e2: ff4fa2ef jal t0,1d6 <__riscv_save_4>
|
||
59e6: 4918 lw a4,16(a0)
|
||
59e8: 54cd li s1,-13
|
||
59ea: eb45 bnez a4,5a9a <tcp_connect+0xb8>
|
||
59ec: 89ae mv s3,a1
|
||
59ee: 54dd li s1,-9
|
||
59f0: c5cd beqz a1,5a9a <tcp_connect+0xb8>
|
||
59f2: 842a mv s0,a0
|
||
59f4: 84b2 mv s1,a2
|
||
59f6: 0511 addi a0,a0,4
|
||
59f8: 4611 li a2,4
|
||
59fa: 8936 mv s2,a3
|
||
59fc: 1ba030ef jal ra,8bb6 <memcpy>
|
||
5a00: 2c5e lhu a5,28(s0)
|
||
5a02: b046 sh s1,36(s0)
|
||
5a04: e781 bnez a5,5a0c <tcp_connect+0x2a>
|
||
5a06: ddeff0ef jal ra,4fe4 <tcp_new_port>
|
||
5a0a: ac4a sh a0,28(s0)
|
||
5a0c: e55ff0ef jal ra,5860 <tcp_next_iss>
|
||
5a10: 385e lhu a5,52(s0)
|
||
5a12: d028 sw a0,96(s0)
|
||
5a14: 157d addi a0,a0,-1
|
||
5a16: b45e sh a5,44(s0)
|
||
5a18: b47e sh a5,46(s0)
|
||
5a1a: 06f41223 sh a5,100(s0)
|
||
5a1e: 200087b7 lui a5,0x20008
|
||
5a22: c868 sw a0,84(s0)
|
||
5a24: d828 sw a0,112(s0)
|
||
5a26: 8407a503 lw a0,-1984(a5) # 20007840 <WCHCfg+0x4>
|
||
5a2a: 02042423 sw zero,40(s0)
|
||
5a2e: 02042823 sw zero,48(s0)
|
||
5a32: 21800793 li a5,536
|
||
5a36: 00a7f463 bgeu a5,a0,5a3e <tcp_connect+0x5c>
|
||
5a3a: 21800513 li a0,536
|
||
5a3e: 0542 slli a0,a0,0x10
|
||
5a40: 8141 srli a0,a0,0x10
|
||
5a42: 04a41023 sh a0,64(s0)
|
||
5a46: 85ce mv a1,s3
|
||
5a48: f6dff0ef jal ra,59b4 <tcp_eff_send_mss>
|
||
5a4c: 4785 li a5,1
|
||
5a4e: 04f41d23 sh a5,90(s0)
|
||
5a52: 47a9 li a5,10
|
||
5a54: 04a41023 sh a0,64(s0)
|
||
5a58: 02f50533 mul a0,a0,a5
|
||
5a5c: 4789 li a5,2
|
||
5a5e: 90c18713 addi a4,gp,-1780 # 2000012c <tcp_bound_pcbs>
|
||
5a62: c81c sw a5,16(s0)
|
||
5a64: 431c lw a5,0(a4)
|
||
5a66: 09242a23 sw s2,148(s0)
|
||
5a6a: 04a41e23 sh a0,92(s0)
|
||
5a6e: 02879963 bne a5,s0,5aa0 <tcp_connect+0xbe>
|
||
5a72: 445c lw a5,12(s0)
|
||
5a74: c31c sw a5,0(a4)
|
||
5a76: 90818793 addi a5,gp,-1784 # 20000128 <tcp_active_pcbs>
|
||
5a7a: 4398 lw a4,0(a5)
|
||
5a7c: 4689 li a3,2
|
||
5a7e: c380 sw s0,0(a5)
|
||
5a80: c458 sw a4,12(s0)
|
||
5a82: 4785 li a5,1
|
||
5a84: 4701 li a4,0
|
||
5a86: 4601 li a2,0
|
||
5a88: 4581 li a1,0
|
||
5a8a: 8522 mv a0,s0
|
||
5a8c: 62a010ef jal ra,70b6 <tcp_enqueue>
|
||
5a90: 84aa mv s1,a0
|
||
5a92: e501 bnez a0,5a9a <tcp_connect+0xb8>
|
||
5a94: 8522 mv a0,s0
|
||
5a96: 31f010ef jal ra,75b4 <tcp_output>
|
||
5a9a: 8526 mv a0,s1
|
||
5a9c: f6efa06f j 20a <__riscv_restore_4>
|
||
5aa0: 90f1ae23 sw a5,-1764(gp) # 2000013c <tcp_tmp_pcb>
|
||
5aa4: 4681 li a3,0
|
||
5aa6: 91c18713 addi a4,gp,-1764 # 2000013c <tcp_tmp_pcb>
|
||
5aaa: e789 bnez a5,5ab4 <tcp_connect+0xd2>
|
||
5aac: d6e9 beqz a3,5a76 <tcp_connect+0x94>
|
||
5aae: 00072023 sw zero,0(a4)
|
||
5ab2: b7d1 j 5a76 <tcp_connect+0x94>
|
||
5ab4: 47d0 lw a2,12(a5)
|
||
5ab6: 00861763 bne a2,s0,5ac4 <tcp_connect+0xe2>
|
||
5aba: c291 beqz a3,5abe <tcp_connect+0xdc>
|
||
5abc: c31c sw a5,0(a4)
|
||
5abe: 4458 lw a4,12(s0)
|
||
5ac0: c7d8 sw a4,12(a5)
|
||
5ac2: bf55 j 5a76 <tcp_connect+0x94>
|
||
5ac4: 4685 li a3,1
|
||
5ac6: 87b2 mv a5,a2
|
||
5ac8: b7cd j 5aaa <tcp_connect+0xc8>
|
||
|
||
00005aca <RemoveTimeWaiTCP>:
|
||
RemoveTimeWaiTCP():
|
||
5aca: f26fa2ef jal t0,1f0 <__riscv_save_0>
|
||
5ace: 9201a403 lw s0,-1760(gp) # 20000140 <tcp_tw_pcbs>
|
||
5ad2: 92018493 addi s1,gp,-1760 # 20000140 <tcp_tw_pcbs>
|
||
5ad6: e019 bnez s0,5adc <RemoveTimeWaiTCP+0x12>
|
||
5ad8: f3cfa06f j 214 <__riscv_restore_0>
|
||
5adc: 8522 mv a0,s0
|
||
5ade: 90cfd0ef jal ra,2bea <LwipRemoveTcpPcb>
|
||
5ae2: 8522 mv a0,s0
|
||
5ae4: f86ff0ef jal ra,526a <tcp_pcb_purge>
|
||
5ae8: 00c42903 lw s2,12(s0)
|
||
5aec: 85a2 mv a1,s0
|
||
5aee: 4509 li a0,2
|
||
5af0: 0124a023 sw s2,0(s1)
|
||
5af4: 844a mv s0,s2
|
||
5af6: ee7fe0ef jal ra,49dc <memp_free>
|
||
5afa: bff1 j 5ad6 <RemoveTimeWaiTCP+0xc>
|
||
|
||
00005afc <tcp_oos_insert_segment>:
|
||
tcp_oos_insert_segment():
|
||
5afc: edafa2ef jal t0,1d6 <__riscv_save_4>
|
||
5b00: 491c lw a5,16(a0)
|
||
5b02: 84aa mv s1,a0
|
||
5b04: 8a2e mv s4,a1
|
||
5b06: 27c8 lbu a0,12(a5)
|
||
5b08: 37dc lbu a5,13(a5)
|
||
5b0a: 07a2 slli a5,a5,0x8
|
||
5b0c: 8d5d or a0,a0,a5
|
||
5b0e: cbffd0ef jal ra,37cc <ntohs>
|
||
5b12: 8905 andi a0,a0,1
|
||
5b14: e929 bnez a0,5b66 <tcp_oos_insert_segment+0x6a>
|
||
5b16: 6941 lui s2,0x10
|
||
5b18: fc090913 addi s2,s2,-64 # ffc0 <_data_lma+0x712c>
|
||
5b1c: 010a2703 lw a4,16(s4)
|
||
5b20: 9381a603 lw a2,-1736(gp) # 20000158 <seqno>
|
||
5b24: 24de lhu a5,12(s1)
|
||
5b26: 3354 lbu a3,5(a4)
|
||
5b28: 234c lbu a1,4(a4)
|
||
5b2a: 97b2 add a5,a5,a2
|
||
5b2c: 06a2 slli a3,a3,0x8
|
||
5b2e: 8dd5 or a1,a1,a3
|
||
5b30: 2374 lbu a3,6(a4)
|
||
5b32: 06c2 slli a3,a3,0x10
|
||
5b34: 8ecd or a3,a3,a1
|
||
5b36: 336c lbu a1,7(a4)
|
||
5b38: 05e2 slli a1,a1,0x18
|
||
5b3a: 8dd5 or a1,a1,a3
|
||
5b3c: 00ca5683 lhu a3,12(s4)
|
||
5b40: 96ae add a3,a3,a1
|
||
5b42: 40d786b3 sub a3,a5,a3
|
||
5b46: 0206d563 bgez a3,5b70 <tcp_oos_insert_segment+0x74>
|
||
5b4a: 8f8d sub a5,a5,a1
|
||
5b4c: 00f05963 blez a5,5b5e <tcp_oos_insert_segment+0x62>
|
||
5b50: 8d91 sub a1,a1,a2
|
||
5b52: 05c2 slli a1,a1,0x10
|
||
5b54: 40c8 lw a0,4(s1)
|
||
5b56: 81c1 srli a1,a1,0x10
|
||
5b58: a4ce sh a1,12(s1)
|
||
5b5a: 9e2ff0ef jal ra,4d3c <pbuf_realloc>
|
||
5b5e: 0144a023 sw s4,0(s1)
|
||
5b62: ea8fa06f j 20a <__riscv_restore_4>
|
||
5b66: 8552 mv a0,s4
|
||
5b68: e9cff0ef jal ra,5204 <tcp_segs_free>
|
||
5b6c: 4a01 li s4,0
|
||
5b6e: bfc5 j 5b5e <tcp_oos_insert_segment+0x62>
|
||
5b70: 375c lbu a5,13(a4)
|
||
5b72: 2748 lbu a0,12(a4)
|
||
5b74: 07a2 slli a5,a5,0x8
|
||
5b76: 8d5d or a0,a0,a5
|
||
5b78: c55fd0ef jal ra,37cc <ntohs>
|
||
5b7c: 8905 andi a0,a0,1
|
||
5b7e: cd15 beqz a0,5bba <tcp_oos_insert_segment+0xbe>
|
||
5b80: 489c lw a5,16(s1)
|
||
5b82: 37c0 lbu s0,13(a5)
|
||
5b84: 27c8 lbu a0,12(a5)
|
||
5b86: 0422 slli s0,s0,0x8
|
||
5b88: 8c49 or s0,s0,a0
|
||
5b8a: 854a mv a0,s2
|
||
5b8c: c33fd0ef jal ra,37be <htons>
|
||
5b90: 489c lw a5,16(s1)
|
||
5b92: 8c69 and s0,s0,a0
|
||
5b94: 27c8 lbu a0,12(a5)
|
||
5b96: 37dc lbu a5,13(a5)
|
||
5b98: 07a2 slli a5,a5,0x8
|
||
5b9a: 8d5d or a0,a0,a5
|
||
5b9c: c31fd0ef jal ra,37cc <ntohs>
|
||
5ba0: 03e57513 andi a0,a0,62
|
||
5ba4: 00156513 ori a0,a0,1
|
||
5ba8: c17fd0ef jal ra,37be <htons>
|
||
5bac: 489c lw a5,16(s1)
|
||
5bae: 8d41 or a0,a0,s0
|
||
5bb0: 0542 slli a0,a0,0x10
|
||
5bb2: 8141 srli a0,a0,0x10
|
||
5bb4: a7c8 sb a0,12(a5)
|
||
5bb6: 8121 srli a0,a0,0x8
|
||
5bb8: b7c8 sb a0,13(a5)
|
||
5bba: 000a2403 lw s0,0(s4)
|
||
5bbe: 8552 mv a0,s4
|
||
5bc0: e1aff0ef jal ra,51da <tcp_seg_free>
|
||
5bc4: d445 beqz s0,5b6c <tcp_oos_insert_segment+0x70>
|
||
5bc6: 8a22 mv s4,s0
|
||
5bc8: bf91 j 5b1c <tcp_oos_insert_segment+0x20>
|
||
|
||
00005bca <tcp_receive>:
|
||
tcp_receive():
|
||
5bca: dfefa2ef jal t0,1c8 <__riscv_save_10>
|
||
5bce: 9281c783 lbu a5,-1752(gp) # 20000148 <flags>
|
||
5bd2: 842a mv s0,a0
|
||
5bd4: 8bc1 andi a5,a5,16
|
||
5bd6: 93818993 addi s3,gp,-1736 # 20000158 <seqno>
|
||
5bda: c7f1 beqz a5,5ca6 <tcp_receive+0xdc>
|
||
5bdc: 0009a583 lw a1,0(s3)
|
||
5be0: 5538 lw a4,104(a0)
|
||
5be2: 06455683 lhu a3,100(a0)
|
||
5be6: 5570 lw a2,108(a0)
|
||
5be8: 40b70533 sub a0,a4,a1
|
||
5bec: 9241a783 lw a5,-1756(gp) # 20000144 <ackno>
|
||
5bf0: 92418493 addi s1,gp,-1756 # 20000144 <ackno>
|
||
5bf4: 02054463 bltz a0,5c1c <tcp_receive+0x52>
|
||
5bf8: 00b71663 bne a4,a1,5c04 <tcp_receive+0x3a>
|
||
5bfc: 40f60733 sub a4,a2,a5
|
||
5c00: 00074e63 bltz a4,5c1c <tcp_receive+0x52>
|
||
5c04: 02f61e63 bne a2,a5,5c40 <tcp_receive+0x76>
|
||
5c08: 9401a503 lw a0,-1728(gp) # 20000160 <tcphdr>
|
||
5c0c: 3578 lbu a4,15(a0)
|
||
5c0e: 00e54803 lbu a6,14(a0)
|
||
5c12: 0722 slli a4,a4,0x8
|
||
5c14: 01076733 or a4,a4,a6
|
||
5c18: 02e6f463 bgeu a3,a4,5c40 <tcp_receive+0x76>
|
||
5c1c: 9401a503 lw a0,-1728(gp) # 20000160 <tcphdr>
|
||
5c20: 3578 lbu a4,15(a0)
|
||
5c22: 00e54803 lbu a6,14(a0)
|
||
5c26: d42c sw a1,104(s0)
|
||
5c28: 0722 slli a4,a4,0x8
|
||
5c2a: 01076733 or a4,a4,a6
|
||
5c2e: 06e41223 sh a4,100(s0)
|
||
5c32: d47c sw a5,108(s0)
|
||
5c34: c711 beqz a4,5c40 <tcp_receive+0x76>
|
||
5c36: 0b044703 lbu a4,176(s0)
|
||
5c3a: c319 beqz a4,5c40 <tcp_receive+0x76>
|
||
5c3c: 0a040823 sb zero,176(s0)
|
||
5c40: 486c lw a1,84(s0)
|
||
5c42: 40b78733 sub a4,a5,a1
|
||
5c46: 2ee04263 bgtz a4,5f2a <tcp_receive+0x360>
|
||
5c4a: 9441d703 lhu a4,-1724(gp) # 20000164 <tcplen>
|
||
5c4e: 06041a23 sh zero,116(s0)
|
||
5c52: 2c071963 bnez a4,5f24 <tcp_receive+0x35a>
|
||
5c56: 06445703 lhu a4,100(s0)
|
||
5c5a: 5468 lw a0,108(s0)
|
||
5c5c: 96b2 add a3,a3,a2
|
||
5c5e: 972a add a4,a4,a0
|
||
5c60: 2cd71263 bne a4,a3,5f24 <tcp_receive+0x35a>
|
||
5c64: 03e41703 lh a4,62(s0)
|
||
5c68: 2a074e63 bltz a4,5f24 <tcp_receive+0x35a>
|
||
5c6c: 2af59c63 bne a1,a5,5f24 <tcp_receive+0x35a>
|
||
5c70: 05844783 lbu a5,88(s0)
|
||
5c74: 470d li a4,3
|
||
5c76: 0785 addi a5,a5,1
|
||
5c78: 0ff7f793 andi a5,a5,255
|
||
5c7c: 04f40c23 sb a5,88(s0)
|
||
5c80: 28f77c63 bgeu a4,a5,5f18 <tcp_receive+0x34e>
|
||
5c84: 05a45703 lhu a4,90(s0)
|
||
5c88: 04045783 lhu a5,64(s0)
|
||
5c8c: 97ba add a5,a5,a4
|
||
5c8e: 07c2 slli a5,a5,0x10
|
||
5c90: 83c1 srli a5,a5,0x10
|
||
5c92: 00f77463 bgeu a4,a5,5c9a <tcp_receive+0xd0>
|
||
5c96: 04f41d23 sh a5,90(s0)
|
||
5c9a: 5c7c lw a5,124(s0)
|
||
5c9c: 3a079f63 bnez a5,605a <tcp_receive+0x490>
|
||
5ca0: 4070 lw a2,68(s0)
|
||
5ca2: 44061a63 bnez a2,60f6 <tcp_receive+0x52c>
|
||
5ca6: 9441d603 lhu a2,-1724(gp) # 20000164 <tcplen>
|
||
5caa: 0009a783 lw a5,0(s3)
|
||
5cae: 5414 lw a3,40(s0)
|
||
5cb0: 94418a13 addi s4,gp,-1724 # 20000164 <tcplen>
|
||
5cb4: 040600e3 beqz a2,64f4 <tcp_receive+0x92a>
|
||
5cb8: 40f685b3 sub a1,a3,a5
|
||
5cbc: fff58713 addi a4,a1,-1
|
||
5cc0: 4a074b63 bltz a4,6176 <tcp_receive+0x5ac>
|
||
5cc4: 4705 li a4,1
|
||
5cc6: 8f1d sub a4,a4,a5
|
||
5cc8: 8f11 sub a4,a4,a2
|
||
5cca: 9736 add a4,a4,a3
|
||
5ccc: 4ae04563 bgtz a4,6176 <tcp_receive+0x5ac>
|
||
5cd0: 20008937 lui s2,0x20008
|
||
5cd4: 8c090793 addi a5,s2,-1856 # 200078c0 <inseg>
|
||
5cd8: 43c4 lw s1,4(a5)
|
||
5cda: 01059713 slli a4,a1,0x10
|
||
5cde: 8341 srli a4,a4,0x10
|
||
5ce0: 24be lhu a5,10(s1)
|
||
5ce2: 8c090913 addi s2,s2,-1856
|
||
5ce6: 48b7d363 bge a5,a1,616c <tcp_receive+0x5a2>
|
||
5cea: 249e lhu a5,8(s1)
|
||
5cec: 8f99 sub a5,a5,a4
|
||
5cee: 07c2 slli a5,a5,0x10
|
||
5cf0: 83c1 srli a5,a5,0x10
|
||
5cf2: 24ba lhu a4,10(s1)
|
||
5cf4: 46b74663 blt a4,a1,6160 <tcp_receive+0x596>
|
||
5cf8: 40b005b3 neg a1,a1
|
||
5cfc: 05c2 slli a1,a1,0x10
|
||
5cfe: 85c1 srai a1,a1,0x10
|
||
5d00: 8526 mv a0,s1
|
||
5d02: e3ffe0ef jal ra,4b40 <pbuf_header>
|
||
5d06: 40dc lw a5,4(s1)
|
||
5d08: 00c95683 lhu a3,12(s2)
|
||
5d0c: 0009a703 lw a4,0(s3)
|
||
5d10: 00f92423 sw a5,8(s2)
|
||
5d14: 541c lw a5,40(s0)
|
||
5d16: 9736 add a4,a4,a3
|
||
5d18: 8f1d sub a4,a4,a5
|
||
5d1a: 00e91623 sh a4,12(s2)
|
||
5d1e: 01092703 lw a4,16(s2)
|
||
5d22: 0087d693 srli a3,a5,0x8
|
||
5d26: 00f9a023 sw a5,0(s3)
|
||
5d2a: a35c sb a5,4(a4)
|
||
5d2c: b354 sb a3,5(a4)
|
||
5d2e: 0107d693 srli a3,a5,0x10
|
||
5d32: 83e1 srli a5,a5,0x18
|
||
5d34: a374 sb a3,6(a4)
|
||
5d36: b37c sb a5,7(a4)
|
||
5d38: 0009a683 lw a3,0(s3)
|
||
5d3c: 5418 lw a4,40(s0)
|
||
5d3e: 40e687b3 sub a5,a3,a4
|
||
5d42: 0007c963 bltz a5,5d54 <tcp_receive+0x18a>
|
||
5d46: 3452 lhu a2,44(s0)
|
||
5d48: 00168793 addi a5,a3,1
|
||
5d4c: 8f99 sub a5,a5,a4
|
||
5d4e: 8f91 sub a5,a5,a2
|
||
5d50: 44f05063 blez a5,6190 <tcp_receive+0x5c6>
|
||
5d54: 200087b7 lui a5,0x20008
|
||
5d58: 8d07a783 lw a5,-1840(a5) # 200078d0 <inseg+0x10>
|
||
5d5c: 27c8 lbu a0,12(a5)
|
||
5d5e: 37dc lbu a5,13(a5)
|
||
5d60: 07a2 slli a5,a5,0x8
|
||
5d62: 8d5d or a0,a0,a5
|
||
5d64: a69fd0ef jal ra,37cc <ntohs>
|
||
5d68: 8905 andi a0,a0,1
|
||
5d6a: 78050163 beqz a0,64ec <tcp_receive+0x922>
|
||
5d6e: 5418 lw a4,40(s0)
|
||
5d70: 0009a783 lw a5,0(s3)
|
||
5d74: 76f71c63 bne a4,a5,64ec <tcp_receive+0x922>
|
||
5d78: 200084b7 lui s1,0x20008
|
||
5d7c: 8c048a93 addi s5,s1,-1856 # 200078c0 <inseg>
|
||
5d80: 010aa783 lw a5,16(s5)
|
||
5d84: 00cad903 lhu s2,12(s5)
|
||
5d88: 8c048493 addi s1,s1,-1856
|
||
5d8c: 27c8 lbu a0,12(a5)
|
||
5d8e: 37dc lbu a5,13(a5)
|
||
5d90: 07a2 slli a5,a5,0x8
|
||
5d92: 8d5d or a0,a0,a5
|
||
5d94: a39fd0ef jal ra,37cc <ntohs>
|
||
5d98: 890d andi a0,a0,3
|
||
5d9a: 00a03533 snez a0,a0
|
||
5d9e: 992a add s2,s2,a0
|
||
5da0: 010aa783 lw a5,16(s5)
|
||
5da4: 0942 slli s2,s2,0x10
|
||
5da6: 01095913 srli s2,s2,0x10
|
||
5daa: 012a1023 sh s2,0(s4)
|
||
5dae: 27c8 lbu a0,12(a5)
|
||
5db0: 37dc lbu a5,13(a5)
|
||
5db2: 07a2 slli a5,a5,0x8
|
||
5db4: 8d5d or a0,a0,a5
|
||
5db6: a17fd0ef jal ra,37cc <ntohs>
|
||
5dba: 8905 andi a0,a0,1
|
||
5dbc: 3e051c63 bnez a0,61b4 <tcp_receive+0x5ea>
|
||
5dc0: 345e lhu a5,44(s0)
|
||
5dc2: 0b27f063 bgeu a5,s2,5e62 <tcp_receive+0x298>
|
||
5dc6: 489c lw a5,16(s1)
|
||
5dc8: 27c8 lbu a0,12(a5)
|
||
5dca: 37dc lbu a5,13(a5)
|
||
5dcc: 07a2 slli a5,a5,0x8
|
||
5dce: 8d5d or a0,a0,a5
|
||
5dd0: 9fdfd0ef jal ra,37cc <ntohs>
|
||
5dd4: 8905 andi a0,a0,1
|
||
5dd6: c131 beqz a0,5e1a <tcp_receive+0x250>
|
||
5dd8: 489c lw a5,16(s1)
|
||
5dda: 00d7c903 lbu s2,13(a5)
|
||
5dde: 27c8 lbu a0,12(a5)
|
||
5de0: 0922 slli s2,s2,0x8
|
||
5de2: 00a96933 or s2,s2,a0
|
||
5de6: 6541 lui a0,0x10
|
||
5de8: fc050513 addi a0,a0,-64 # ffc0 <_data_lma+0x712c>
|
||
5dec: 9d3fd0ef jal ra,37be <htons>
|
||
5df0: 489c lw a5,16(s1)
|
||
5df2: 00a97933 and s2,s2,a0
|
||
5df6: 27c8 lbu a0,12(a5)
|
||
5df8: 37dc lbu a5,13(a5)
|
||
5dfa: 07a2 slli a5,a5,0x8
|
||
5dfc: 8d5d or a0,a0,a5
|
||
5dfe: 9cffd0ef jal ra,37cc <ntohs>
|
||
5e02: 03e57513 andi a0,a0,62
|
||
5e06: 9b9fd0ef jal ra,37be <htons>
|
||
5e0a: 489c lw a5,16(s1)
|
||
5e0c: 00a96533 or a0,s2,a0
|
||
5e10: 0542 slli a0,a0,0x10
|
||
5e12: 8141 srli a0,a0,0x10
|
||
5e14: a7c8 sb a0,12(a5)
|
||
5e16: 8121 srli a0,a0,0x8
|
||
5e18: b7c8 sb a0,13(a5)
|
||
5e1a: 345e lhu a5,44(s0)
|
||
5e1c: a4de sh a5,12(s1)
|
||
5e1e: 489c lw a5,16(s1)
|
||
5e20: 27c8 lbu a0,12(a5)
|
||
5e22: 37dc lbu a5,13(a5)
|
||
5e24: 07a2 slli a5,a5,0x8
|
||
5e26: 8d5d or a0,a0,a5
|
||
5e28: 9a5fd0ef jal ra,37cc <ntohs>
|
||
5e2c: 8909 andi a0,a0,2
|
||
5e2e: c501 beqz a0,5e36 <tcp_receive+0x26c>
|
||
5e30: 24de lhu a5,12(s1)
|
||
5e32: 17fd addi a5,a5,-1
|
||
5e34: a4de sh a5,12(s1)
|
||
5e36: 24ce lhu a1,12(s1)
|
||
5e38: 40c8 lw a0,4(s1)
|
||
5e3a: f03fe0ef jal ra,4d3c <pbuf_realloc>
|
||
5e3e: 489c lw a5,16(s1)
|
||
5e40: 00c4d903 lhu s2,12(s1)
|
||
5e44: 27c8 lbu a0,12(a5)
|
||
5e46: 37dc lbu a5,13(a5)
|
||
5e48: 07a2 slli a5,a5,0x8
|
||
5e4a: 8d5d or a0,a0,a5
|
||
5e4c: 981fd0ef jal ra,37cc <ntohs>
|
||
5e50: 890d andi a0,a0,3
|
||
5e52: 00a03533 snez a0,a0
|
||
5e56: 992a add s2,s2,a0
|
||
5e58: 0942 slli s2,s2,0x10
|
||
5e5a: 01095913 srli s2,s2,0x10
|
||
5e5e: 012a1023 sh s2,0(s4)
|
||
5e62: 08442783 lw a5,132(s0)
|
||
5e66: 36078463 beqz a5,61ce <tcp_receive+0x604>
|
||
5e6a: 489c lw a5,16(s1)
|
||
5e6c: 27c8 lbu a0,12(a5)
|
||
5e6e: 37dc lbu a5,13(a5)
|
||
5e70: 07a2 slli a5,a5,0x8
|
||
5e72: 8d5d or a0,a0,a5
|
||
5e74: 959fd0ef jal ra,37cc <ntohs>
|
||
5e78: 8905 andi a0,a0,1
|
||
5e7a: 34051763 bnez a0,61c8 <tcp_receive+0x5fe>
|
||
5e7e: 08442b03 lw s6,132(s0)
|
||
5e82: 6bc1 lui s7,0x10
|
||
5e84: fc0b8b93 addi s7,s7,-64 # ffc0 <_data_lma+0x712c>
|
||
5e88: 0009a503 lw a0,0(s3)
|
||
5e8c: 000a5703 lhu a4,0(s4)
|
||
5e90: 972a add a4,a4,a0
|
||
5e92: 080b0063 beqz s6,5f12 <tcp_receive+0x348>
|
||
5e96: 010b2603 lw a2,16(s6)
|
||
5e9a: 324c lbu a1,5(a2)
|
||
5e9c: 2254 lbu a3,4(a2)
|
||
5e9e: 05a2 slli a1,a1,0x8
|
||
5ea0: 8dd5 or a1,a1,a3
|
||
5ea2: 2274 lbu a3,6(a2)
|
||
5ea4: 06c2 slli a3,a3,0x10
|
||
5ea6: 8dd5 or a1,a1,a3
|
||
5ea8: 3274 lbu a3,7(a2)
|
||
5eaa: 06e2 slli a3,a3,0x18
|
||
5eac: 8ecd or a3,a3,a1
|
||
5eae: 00cb5583 lhu a1,12(s6)
|
||
5eb2: 95b6 add a1,a1,a3
|
||
5eb4: 40b705b3 sub a1,a4,a1
|
||
5eb8: 3605d263 bgez a1,621c <tcp_receive+0x652>
|
||
5ebc: 8f15 sub a4,a4,a3
|
||
5ebe: 04e05a63 blez a4,5f12 <tcp_receive+0x348>
|
||
5ec2: 08442783 lw a5,132(s0)
|
||
5ec6: 4b98 lw a4,16(a5)
|
||
5ec8: 335c lbu a5,5(a4)
|
||
5eca: 2354 lbu a3,4(a4)
|
||
5ecc: 07a2 slli a5,a5,0x8
|
||
5ece: 8fd5 or a5,a5,a3
|
||
5ed0: 8f89 sub a5,a5,a0
|
||
5ed2: a4de sh a5,12(s1)
|
||
5ed4: 489c lw a5,16(s1)
|
||
5ed6: 27c8 lbu a0,12(a5)
|
||
5ed8: 37dc lbu a5,13(a5)
|
||
5eda: 07a2 slli a5,a5,0x8
|
||
5edc: 8d5d or a0,a0,a5
|
||
5ede: 8effd0ef jal ra,37cc <ntohs>
|
||
5ee2: 8909 andi a0,a0,2
|
||
5ee4: c501 beqz a0,5eec <tcp_receive+0x322>
|
||
5ee6: 24de lhu a5,12(s1)
|
||
5ee8: 17fd addi a5,a5,-1
|
||
5eea: a4de sh a5,12(s1)
|
||
5eec: 24ce lhu a1,12(s1)
|
||
5eee: 40c8 lw a0,4(s1)
|
||
5ef0: e4dfe0ef jal ra,4d3c <pbuf_realloc>
|
||
5ef4: 489c lw a5,16(s1)
|
||
5ef6: 00c4da83 lhu s5,12(s1)
|
||
5efa: 27c8 lbu a0,12(a5)
|
||
5efc: 37dc lbu a5,13(a5)
|
||
5efe: 07a2 slli a5,a5,0x8
|
||
5f00: 8d5d or a0,a0,a5
|
||
5f02: 8cbfd0ef jal ra,37cc <ntohs>
|
||
5f06: 890d andi a0,a0,3
|
||
5f08: 00a03533 snez a0,a0
|
||
5f0c: 9aaa add s5,s5,a0
|
||
5f0e: 015a1023 sh s5,0(s4)
|
||
5f12: 09642223 sw s6,132(s0)
|
||
5f16: ac65 j 61ce <tcp_receive+0x604>
|
||
5f18: d8e791e3 bne a5,a4,5c9a <tcp_receive+0xd0>
|
||
5f1c: 8522 mv a0,s0
|
||
5f1e: 3b9010ef jal ra,7ad6 <tcp_rexmit_fast>
|
||
5f22: bba5 j 5c9a <tcp_receive+0xd0>
|
||
5f24: 04040c23 sb zero,88(s0)
|
||
5f28: bb8d j 5c9a <tcp_receive+0xd0>
|
||
5f2a: 5034 lw a3,96(s0)
|
||
5f2c: 40d786b3 sub a3,a5,a3
|
||
5f30: 12d04263 bgtz a3,6054 <tcp_receive+0x48a>
|
||
5f34: 02644683 lbu a3,38(s0)
|
||
5f38: 0046f613 andi a2,a3,4
|
||
5f3c: ca01 beqz a2,5f4c <tcp_receive+0x382>
|
||
5f3e: 9aed andi a3,a3,-5
|
||
5f40: 02d40323 sb a3,38(s0)
|
||
5f44: 05c45683 lhu a3,92(s0)
|
||
5f48: 04d41d23 sh a3,90(s0)
|
||
5f4c: 04c41683 lh a3,76(s0)
|
||
5f50: 04e45603 lhu a2,78(s0)
|
||
5f54: 0742 slli a4,a4,0x10
|
||
5f56: 868d srai a3,a3,0x3
|
||
5f58: 96b2 add a3,a3,a2
|
||
5f5a: 04d41823 sh a3,80(s0)
|
||
5f5e: 07645683 lhu a3,118(s0)
|
||
5f62: 8341 srli a4,a4,0x10
|
||
5f64: 06e41a23 sh a4,116(s0)
|
||
5f68: 9736 add a4,a4,a3
|
||
5f6a: 06e41b23 sh a4,118(s0)
|
||
5f6e: 4818 lw a4,16(s0)
|
||
5f70: c87c sw a5,84(s0)
|
||
5f72: 04040923 sb zero,82(s0)
|
||
5f76: 04040c23 sb zero,88(s0)
|
||
5f7a: 478d li a5,3
|
||
5f7c: 02e7f163 bgeu a5,a4,5f9e <tcp_receive+0x3d4>
|
||
5f80: 05a45703 lhu a4,90(s0)
|
||
5f84: 05c45683 lhu a3,92(s0)
|
||
5f88: 04045783 lhu a5,64(s0)
|
||
5f8c: 02d77663 bgeu a4,a3,5fb8 <tcp_receive+0x3ee>
|
||
5f90: 97ba add a5,a5,a4
|
||
5f92: 07c2 slli a5,a5,0x10
|
||
5f94: 83c1 srli a5,a5,0x10
|
||
5f96: 00f77463 bgeu a4,a5,5f9e <tcp_receive+0x3d4>
|
||
5f9a: 04f41d23 sh a5,90(s0)
|
||
5f9e: 08042783 lw a5,128(s0)
|
||
5fa2: e385 bnez a5,5fc2 <tcp_receive+0x3f8>
|
||
5fa4: 08042783 lw a5,128(s0)
|
||
5fa8: 02040e23 sb zero,60(s0)
|
||
5fac: 0017b793 seqz a5,a5
|
||
5fb0: 40f007b3 neg a5,a5
|
||
5fb4: bc7e sh a5,62(s0)
|
||
5fb6: b1d5 j 5c9a <tcp_receive+0xd0>
|
||
5fb8: 02f787b3 mul a5,a5,a5
|
||
5fbc: 02e7c7b3 div a5,a5,a4
|
||
5fc0: bfc1 j 5f90 <tcp_receive+0x3c6>
|
||
5fc2: 4b98 lw a4,16(a5)
|
||
5fc4: 3348 lbu a0,5(a4)
|
||
5fc6: 235c lbu a5,4(a4)
|
||
5fc8: 0522 slli a0,a0,0x8
|
||
5fca: 8d5d or a0,a0,a5
|
||
5fcc: 237c lbu a5,6(a4)
|
||
5fce: 07c2 slli a5,a5,0x10
|
||
5fd0: 8fc9 or a5,a5,a0
|
||
5fd2: 3368 lbu a0,7(a4)
|
||
5fd4: 0562 slli a0,a0,0x18
|
||
5fd6: 8d5d or a0,a0,a5
|
||
5fd8: 827fd0ef jal ra,37fe <ntohl>
|
||
5fdc: 08042783 lw a5,128(s0)
|
||
5fe0: 892a mv s2,a0
|
||
5fe2: 00c7da03 lhu s4,12(a5)
|
||
5fe6: 4b9c lw a5,16(a5)
|
||
5fe8: 27c8 lbu a0,12(a5)
|
||
5fea: 37dc lbu a5,13(a5)
|
||
5fec: 07a2 slli a5,a5,0x8
|
||
5fee: 8d5d or a0,a0,a5
|
||
5ff0: fdcfd0ef jal ra,37cc <ntohs>
|
||
5ff4: 409c lw a5,0(s1)
|
||
5ff6: 890d andi a0,a0,3
|
||
5ff8: 00a03533 snez a0,a0
|
||
5ffc: 9552 add a0,a0,s4
|
||
5ffe: 40f90933 sub s2,s2,a5
|
||
6002: 954a add a0,a0,s2
|
||
6004: faa040e3 bgtz a0,5fa4 <tcp_receive+0x3da>
|
||
6008: 08042903 lw s2,128(s0)
|
||
600c: 00092783 lw a5,0(s2)
|
||
6010: 08f42023 sw a5,128(s0)
|
||
6014: 07445783 lhu a5,116(s0)
|
||
6018: c385 beqz a5,6038 <tcp_receive+0x46e>
|
||
601a: 01092783 lw a5,16(s2)
|
||
601e: 27c8 lbu a0,12(a5)
|
||
6020: 37dc lbu a5,13(a5)
|
||
6022: 07a2 slli a5,a5,0x8
|
||
6024: 8d5d or a0,a0,a5
|
||
6026: fa6fd0ef jal ra,37cc <ntohs>
|
||
602a: 8905 andi a0,a0,1
|
||
602c: c511 beqz a0,6038 <tcp_receive+0x46e>
|
||
602e: 07445783 lhu a5,116(s0)
|
||
6032: 17fd addi a5,a5,-1
|
||
6034: 06f41a23 sh a5,116(s0)
|
||
6038: 00492503 lw a0,4(s2)
|
||
603c: d59fe0ef jal ra,4d94 <pbuf_clen>
|
||
6040: 07845783 lhu a5,120(s0)
|
||
6044: 40a78533 sub a0,a5,a0
|
||
6048: 06a41c23 sh a0,120(s0)
|
||
604c: 854a mv a0,s2
|
||
604e: 98cff0ef jal ra,51da <tcp_seg_free>
|
||
6052: b7b1 j 5f9e <tcp_receive+0x3d4>
|
||
6054: 06041a23 sh zero,116(s0)
|
||
6058: b189 j 5c9a <tcp_receive+0xd0>
|
||
605a: 4b98 lw a4,16(a5)
|
||
605c: 0004a903 lw s2,0(s1)
|
||
6060: 3348 lbu a0,5(a4)
|
||
6062: 235c lbu a5,4(a4)
|
||
6064: 0522 slli a0,a0,0x8
|
||
6066: 8d5d or a0,a0,a5
|
||
6068: 237c lbu a5,6(a4)
|
||
606a: 07c2 slli a5,a5,0x10
|
||
606c: 8fc9 or a5,a5,a0
|
||
606e: 3368 lbu a0,7(a4)
|
||
6070: 0562 slli a0,a0,0x18
|
||
6072: 8d5d or a0,a0,a5
|
||
6074: f8afd0ef jal ra,37fe <ntohl>
|
||
6078: 5c7c lw a5,124(s0)
|
||
607a: 8aaa mv s5,a0
|
||
607c: 41590933 sub s2,s2,s5
|
||
6080: 00c7da03 lhu s4,12(a5)
|
||
6084: 4b9c lw a5,16(a5)
|
||
6086: 27c8 lbu a0,12(a5)
|
||
6088: 37dc lbu a5,13(a5)
|
||
608a: 07a2 slli a5,a5,0x8
|
||
608c: 8d5d or a0,a0,a5
|
||
608e: f3efd0ef jal ra,37cc <ntohs>
|
||
6092: 890d andi a0,a0,3
|
||
6094: 00a03533 snez a0,a0
|
||
6098: 9552 add a0,a0,s4
|
||
609a: 40a90933 sub s2,s2,a0
|
||
609e: c00941e3 bltz s2,5ca0 <tcp_receive+0xd6>
|
||
60a2: 409c lw a5,0(s1)
|
||
60a4: 5038 lw a4,96(s0)
|
||
60a6: 8f99 sub a5,a5,a4
|
||
60a8: bef04ce3 bgtz a5,5ca0 <tcp_receive+0xd6>
|
||
60ac: 07c42903 lw s2,124(s0)
|
||
60b0: 00092783 lw a5,0(s2)
|
||
60b4: dc7c sw a5,124(s0)
|
||
60b6: 07445783 lhu a5,116(s0)
|
||
60ba: c385 beqz a5,60da <tcp_receive+0x510>
|
||
60bc: 01092783 lw a5,16(s2)
|
||
60c0: 27c8 lbu a0,12(a5)
|
||
60c2: 37dc lbu a5,13(a5)
|
||
60c4: 07a2 slli a5,a5,0x8
|
||
60c6: 8d5d or a0,a0,a5
|
||
60c8: f04fd0ef jal ra,37cc <ntohs>
|
||
60cc: 8905 andi a0,a0,1
|
||
60ce: c511 beqz a0,60da <tcp_receive+0x510>
|
||
60d0: 07445783 lhu a5,116(s0)
|
||
60d4: 17fd addi a5,a5,-1
|
||
60d6: 06f41a23 sh a5,116(s0)
|
||
60da: 00492503 lw a0,4(s2)
|
||
60de: cb7fe0ef jal ra,4d94 <pbuf_clen>
|
||
60e2: 07845783 lhu a5,120(s0)
|
||
60e6: 40a78533 sub a0,a5,a0
|
||
60ea: 06a41c23 sh a0,120(s0)
|
||
60ee: 854a mv a0,s2
|
||
60f0: 8eaff0ef jal ra,51da <tcp_seg_free>
|
||
60f4: b65d j 5c9a <tcp_receive+0xd0>
|
||
60f6: 443c lw a5,72(s0)
|
||
60f8: 4098 lw a4,0(s1)
|
||
60fa: 8f99 sub a5,a5,a4
|
||
60fc: ba07d5e3 bgez a5,5ca6 <tcp_receive+0xdc>
|
||
6100: 04c41683 lh a3,76(s0)
|
||
6104: 9141d703 lhu a4,-1772(gp) # 20000134 <tcp_ticks>
|
||
6108: 0642 slli a2,a2,0x10
|
||
610a: 4036d593 srai a1,a3,0x3
|
||
610e: 8241 srli a2,a2,0x10
|
||
6110: 05c2 slli a1,a1,0x10
|
||
6112: 81c1 srli a1,a1,0x10
|
||
6114: 40c707b3 sub a5,a4,a2
|
||
6118: 8f8d sub a5,a5,a1
|
||
611a: 07c2 slli a5,a5,0x10
|
||
611c: 83c1 srli a5,a5,0x10
|
||
611e: 01079513 slli a0,a5,0x10
|
||
6122: 97b6 add a5,a5,a3
|
||
6124: 07c2 slli a5,a5,0x10
|
||
6126: 87c1 srai a5,a5,0x10
|
||
6128: 8541 srai a0,a0,0x10
|
||
612a: 04f41623 sh a5,76(s0)
|
||
612e: 00055763 bgez a0,613c <tcp_receive+0x572>
|
||
6132: 8e19 sub a2,a2,a4
|
||
6134: 962e add a2,a2,a1
|
||
6136: 01061513 slli a0,a2,0x10
|
||
613a: 8541 srai a0,a0,0x10
|
||
613c: 04e41683 lh a3,78(s0)
|
||
6140: 878d srai a5,a5,0x3
|
||
6142: 04042223 sw zero,68(s0)
|
||
6146: 4026d713 srai a4,a3,0x2
|
||
614a: 40e68733 sub a4,a3,a4
|
||
614e: 972a add a4,a4,a0
|
||
6150: 0742 slli a4,a4,0x10
|
||
6152: 8341 srli a4,a4,0x10
|
||
6154: 97ba add a5,a5,a4
|
||
6156: 04e41723 sh a4,78(s0)
|
||
615a: 04f41823 sh a5,80(s0)
|
||
615e: b6a1 j 5ca6 <tcp_receive+0xdc>
|
||
6160: a49e sh a5,8(s1)
|
||
6162: 00049523 sh zero,10(s1)
|
||
6166: 8d99 sub a1,a1,a4
|
||
6168: 4084 lw s1,0(s1)
|
||
616a: b661 j 5cf2 <tcp_receive+0x128>
|
||
616c: 40e00733 neg a4,a4
|
||
6170: 01071593 slli a1,a4,0x10
|
||
6174: b669 j 5cfe <tcp_receive+0x134>
|
||
6176: 8f95 sub a5,a5,a3
|
||
6178: bc07d0e3 bgez a5,5d38 <tcp_receive+0x16e>
|
||
617c: 02644783 lbu a5,38(s0)
|
||
6180: 8522 mv a0,s0
|
||
6182: 0027e793 ori a5,a5,2
|
||
6186: 02f40323 sb a5,38(s0)
|
||
618a: 42a010ef jal ra,75b4 <tcp_output>
|
||
618e: b66d j 5d38 <tcp_receive+0x16e>
|
||
6190: bee684e3 beq a3,a4,5d78 <tcp_receive+0x1ae>
|
||
6194: 8522 mv a0,s0
|
||
6196: 3ae010ef jal ra,7544 <tcp_send_empty_ack>
|
||
619a: 08442483 lw s1,132(s0)
|
||
619e: 1e049463 bnez s1,6386 <tcp_receive+0x7bc>
|
||
61a2: 20008537 lui a0,0x20008
|
||
61a6: 8c050513 addi a0,a0,-1856 # 200078c0 <inseg>
|
||
61aa: 878ff0ef jal ra,5222 <tcp_seg_copy>
|
||
61ae: 08a42223 sw a0,132(s0)
|
||
61b2: aac1 j 6382 <tcp_receive+0x7b8>
|
||
61b4: 197d addi s2,s2,-1
|
||
61b6: 0942 slli s2,s2,0x10
|
||
61b8: 01095913 srli s2,s2,0x10
|
||
61bc: b111 j 5dc0 <tcp_receive+0x1f6>
|
||
61be: 411c lw a5,0(a0)
|
||
61c0: 08f42223 sw a5,132(s0)
|
||
61c4: 816ff0ef jal ra,51da <tcp_seg_free>
|
||
61c8: 08442503 lw a0,132(s0)
|
||
61cc: f96d bnez a0,61be <tcp_receive+0x5f4>
|
||
61ce: 0009a703 lw a4,0(s3)
|
||
61d2: 000a5783 lhu a5,0(s4)
|
||
61d6: 8522 mv a0,s0
|
||
61d8: 97ba add a5,a5,a4
|
||
61da: d41c sw a5,40(s0)
|
||
61dc: 345e lhu a5,44(s0)
|
||
61de: 41278933 sub s2,a5,s2
|
||
61e2: 03241623 sh s2,44(s0)
|
||
61e6: f71fe0ef jal ra,5156 <tcp_update_rcv_ann_wnd>
|
||
61ea: 40dc lw a5,4(s1)
|
||
61ec: 279a lhu a4,8(a5)
|
||
61ee: c709 beqz a4,61f8 <tcp_receive+0x62e>
|
||
61f0: 92f1a823 sw a5,-1744(gp) # 20000150 <recv_data>
|
||
61f4: 0004a223 sw zero,4(s1)
|
||
61f8: 489c lw a5,16(s1)
|
||
61fa: 27c8 lbu a0,12(a5)
|
||
61fc: 37dc lbu a5,13(a5)
|
||
61fe: 07a2 slli a5,a5,0x8
|
||
6200: 8d5d or a0,a0,a5
|
||
6202: dcafd0ef jal ra,37cc <ntohs>
|
||
6206: 8905 andi a0,a0,1
|
||
6208: c519 beqz a0,6216 <tcp_receive+0x64c>
|
||
620a: 93418793 addi a5,gp,-1740 # 20000154 <recv_flags>
|
||
620e: 2398 lbu a4,0(a5)
|
||
6210: 02076713 ori a4,a4,32
|
||
6214: a398 sb a4,0(a5)
|
||
6216: 4a91 li s5,4
|
||
6218: 4b1d li s6,7
|
||
621a: aa39 j 6338 <tcp_receive+0x76e>
|
||
621c: 365c lbu a5,13(a2)
|
||
621e: 2648 lbu a0,12(a2)
|
||
6220: 07a2 slli a5,a5,0x8
|
||
6222: 8d5d or a0,a0,a5
|
||
6224: da8fd0ef jal ra,37cc <ntohs>
|
||
6228: 8905 andi a0,a0,1
|
||
622a: c535 beqz a0,6296 <tcp_receive+0x6cc>
|
||
622c: 489c lw a5,16(s1)
|
||
622e: 27c8 lbu a0,12(a5)
|
||
6230: 37dc lbu a5,13(a5)
|
||
6232: 07a2 slli a5,a5,0x8
|
||
6234: 8d5d or a0,a0,a5
|
||
6236: d96fd0ef jal ra,37cc <ntohs>
|
||
623a: 8909 andi a0,a0,2
|
||
623c: ed29 bnez a0,6296 <tcp_receive+0x6cc>
|
||
623e: 489c lw a5,16(s1)
|
||
6240: 00d7ca83 lbu s5,13(a5)
|
||
6244: 27c8 lbu a0,12(a5)
|
||
6246: 0aa2 slli s5,s5,0x8
|
||
6248: 00aaeab3 or s5,s5,a0
|
||
624c: 855e mv a0,s7
|
||
624e: d70fd0ef jal ra,37be <htons>
|
||
6252: 489c lw a5,16(s1)
|
||
6254: 00aafab3 and s5,s5,a0
|
||
6258: 27c8 lbu a0,12(a5)
|
||
625a: 37dc lbu a5,13(a5)
|
||
625c: 07a2 slli a5,a5,0x8
|
||
625e: 8d5d or a0,a0,a5
|
||
6260: d6cfd0ef jal ra,37cc <ntohs>
|
||
6264: 03e57513 andi a0,a0,62
|
||
6268: 00156513 ori a0,a0,1
|
||
626c: d52fd0ef jal ra,37be <htons>
|
||
6270: 00aae533 or a0,s5,a0
|
||
6274: 489c lw a5,16(s1)
|
||
6276: 0542 slli a0,a0,0x10
|
||
6278: 8141 srli a0,a0,0x10
|
||
627a: 00855713 srli a4,a0,0x8
|
||
627e: a7c8 sb a0,12(a5)
|
||
6280: b7d8 sb a4,13(a5)
|
||
6282: 00c4da83 lhu s5,12(s1)
|
||
6286: d46fd0ef jal ra,37cc <ntohs>
|
||
628a: 890d andi a0,a0,3
|
||
628c: 00a03533 snez a0,a0
|
||
6290: 9aaa add s5,s5,a0
|
||
6292: 015a1023 sh s5,0(s4)
|
||
6296: 000b2a83 lw s5,0(s6)
|
||
629a: 855a mv a0,s6
|
||
629c: f3ffe0ef jal ra,51da <tcp_seg_free>
|
||
62a0: 8b56 mv s6,s5
|
||
62a2: b6dd j 5e88 <tcp_receive+0x2be>
|
||
62a4: 00f9a023 sw a5,0(s3)
|
||
62a8: 375c lbu a5,13(a4)
|
||
62aa: 2748 lbu a0,12(a4)
|
||
62ac: 00c4db83 lhu s7,12(s1)
|
||
62b0: 07a2 slli a5,a5,0x8
|
||
62b2: 8d5d or a0,a0,a5
|
||
62b4: d18fd0ef jal ra,37cc <ntohs>
|
||
62b8: 541c lw a5,40(s0)
|
||
62ba: 890d andi a0,a0,3
|
||
62bc: 00a03533 snez a0,a0
|
||
62c0: 955e add a0,a0,s7
|
||
62c2: 953e add a0,a0,a5
|
||
62c4: 489c lw a5,16(s1)
|
||
62c6: d408 sw a0,40(s0)
|
||
62c8: 00c4db83 lhu s7,12(s1)
|
||
62cc: 27c8 lbu a0,12(a5)
|
||
62ce: 37dc lbu a5,13(a5)
|
||
62d0: 07a2 slli a5,a5,0x8
|
||
62d2: 8d5d or a0,a0,a5
|
||
62d4: cf8fd0ef jal ra,37cc <ntohs>
|
||
62d8: 345e lhu a5,44(s0)
|
||
62da: 890d andi a0,a0,3
|
||
62dc: 00a03533 snez a0,a0
|
||
62e0: 955e add a0,a0,s7
|
||
62e2: 40a78533 sub a0,a5,a0
|
||
62e6: b44a sh a0,44(s0)
|
||
62e8: 8522 mv a0,s0
|
||
62ea: e6dfe0ef jal ra,5156 <tcp_update_rcv_ann_wnd>
|
||
62ee: 40cc lw a1,4(s1)
|
||
62f0: 259e lhu a5,8(a1)
|
||
62f2: cb89 beqz a5,6304 <tcp_receive+0x73a>
|
||
62f4: 93018793 addi a5,gp,-1744 # 20000150 <recv_data>
|
||
62f8: 4388 lw a0,0(a5)
|
||
62fa: cd35 beqz a0,6376 <tcp_receive+0x7ac>
|
||
62fc: ab5fe0ef jal ra,4db0 <pbuf_cat>
|
||
6300: 0004a223 sw zero,4(s1)
|
||
6304: 489c lw a5,16(s1)
|
||
6306: 27c8 lbu a0,12(a5)
|
||
6308: 37dc lbu a5,13(a5)
|
||
630a: 07a2 slli a5,a5,0x8
|
||
630c: 8d5d or a0,a0,a5
|
||
630e: cbefd0ef jal ra,37cc <ntohs>
|
||
6312: 8905 andi a0,a0,1
|
||
6314: cd01 beqz a0,632c <tcp_receive+0x762>
|
||
6316: 93418713 addi a4,gp,-1740 # 20000154 <recv_flags>
|
||
631a: 231c lbu a5,0(a4)
|
||
631c: 0207e793 ori a5,a5,32
|
||
6320: a31c sb a5,0(a4)
|
||
6322: 481c lw a5,16(s0)
|
||
6324: 01579463 bne a5,s5,632c <tcp_receive+0x762>
|
||
6328: 01642823 sw s6,16(s0)
|
||
632c: 409c lw a5,0(s1)
|
||
632e: 8526 mv a0,s1
|
||
6330: 08f42223 sw a5,132(s0)
|
||
6334: ea7fe0ef jal ra,51da <tcp_seg_free>
|
||
6338: 08442483 lw s1,132(s0)
|
||
633c: cc99 beqz s1,635a <tcp_receive+0x790>
|
||
633e: 4898 lw a4,16(s1)
|
||
6340: 3354 lbu a3,5(a4)
|
||
6342: 235c lbu a5,4(a4)
|
||
6344: 06a2 slli a3,a3,0x8
|
||
6346: 8edd or a3,a3,a5
|
||
6348: 237c lbu a5,6(a4)
|
||
634a: 07c2 slli a5,a5,0x10
|
||
634c: 8edd or a3,a3,a5
|
||
634e: 337c lbu a5,7(a4)
|
||
6350: 07e2 slli a5,a5,0x18
|
||
6352: 8fd5 or a5,a5,a3
|
||
6354: 5414 lw a3,40(s0)
|
||
6356: f4d787e3 beq a5,a3,62a4 <tcp_receive+0x6da>
|
||
635a: 02644783 lbu a5,38(s0)
|
||
635e: 0017f713 andi a4,a5,1
|
||
6362: cf01 beqz a4,637a <tcp_receive+0x7b0>
|
||
6364: 9bf9 andi a5,a5,-2
|
||
6366: 0027e793 ori a5,a5,2
|
||
636a: 02f40323 sb a5,38(s0)
|
||
636e: 8522 mv a0,s0
|
||
6370: 244010ef jal ra,75b4 <tcp_output>
|
||
6374: a039 j 6382 <tcp_receive+0x7b8>
|
||
6376: c38c sw a1,0(a5)
|
||
6378: b761 j 6300 <tcp_receive+0x736>
|
||
637a: 0017e793 ori a5,a5,1
|
||
637e: 02f40323 sb a5,38(s0)
|
||
6382: e7ff906f j 200 <__riscv_restore_10>
|
||
6386: 0009a703 lw a4,0(s3)
|
||
638a: 4901 li s2,0
|
||
638c: fff70513 addi a0,a4,-1
|
||
6390: 00170813 addi a6,a4,1
|
||
6394: 4890 lw a2,16(s1)
|
||
6396: 3254 lbu a3,5(a2)
|
||
6398: 225c lbu a5,4(a2)
|
||
639a: 06a2 slli a3,a3,0x8
|
||
639c: 8edd or a3,a3,a5
|
||
639e: 227c lbu a5,6(a2)
|
||
63a0: 07c2 slli a5,a5,0x10
|
||
63a2: 8edd or a3,a3,a5
|
||
63a4: 327c lbu a5,7(a2)
|
||
63a6: 07e2 slli a5,a5,0x18
|
||
63a8: 8fd5 or a5,a5,a3
|
||
63aa: 02e79c63 bne a5,a4,63e2 <tcp_receive+0x818>
|
||
63ae: 20008537 lui a0,0x20008
|
||
63b2: 8c050793 addi a5,a0,-1856 # 200078c0 <inseg>
|
||
63b6: 27da lhu a4,12(a5)
|
||
63b8: 24de lhu a5,12(s1)
|
||
63ba: fce7f4e3 bgeu a5,a4,6382 <tcp_receive+0x7b8>
|
||
63be: 8c050513 addi a0,a0,-1856
|
||
63c2: e61fe0ef jal ra,5222 <tcp_seg_copy>
|
||
63c6: dd55 beqz a0,6382 <tcp_receive+0x7b8>
|
||
63c8: 00090a63 beqz s2,63dc <tcp_receive+0x812>
|
||
63cc: 00a92023 sw a0,0(s2)
|
||
63d0: 85a6 mv a1,s1
|
||
63d2: f2aff0ef jal ra,5afc <tcp_oos_insert_segment>
|
||
63d6: b775 j 6382 <tcp_receive+0x7b8>
|
||
63d8: 84b6 mv s1,a3
|
||
63da: bf6d j 6394 <tcp_receive+0x7ca>
|
||
63dc: 08a42223 sw a0,132(s0)
|
||
63e0: bfc5 j 63d0 <tcp_receive+0x806>
|
||
63e2: 02091063 bnez s2,6402 <tcp_receive+0x838>
|
||
63e6: 40f706b3 sub a3,a4,a5
|
||
63ea: 0806de63 bgez a3,6486 <tcp_receive+0x8bc>
|
||
63ee: 20008537 lui a0,0x20008
|
||
63f2: 8c050513 addi a0,a0,-1856 # 200078c0 <inseg>
|
||
63f6: e2dfe0ef jal ra,5222 <tcp_seg_copy>
|
||
63fa: d541 beqz a0,6382 <tcp_receive+0x7b8>
|
||
63fc: 08a42223 sw a0,132(s0)
|
||
6400: bfc1 j 63d0 <tcp_receive+0x806>
|
||
6402: 01092883 lw a7,16(s2)
|
||
6406: 0058c583 lbu a1,5(a7)
|
||
640a: 0048c683 lbu a3,4(a7)
|
||
640e: 05a2 slli a1,a1,0x8
|
||
6410: 8dd5 or a1,a1,a3
|
||
6412: 0068c683 lbu a3,6(a7)
|
||
6416: 06c2 slli a3,a3,0x10
|
||
6418: 8dd5 or a1,a1,a3
|
||
641a: 0078c683 lbu a3,7(a7)
|
||
641e: 06e2 slli a3,a3,0x18
|
||
6420: 8ecd or a3,a3,a1
|
||
6422: 40d506b3 sub a3,a0,a3
|
||
6426: 0606c063 bltz a3,6486 <tcp_receive+0x8bc>
|
||
642a: 40f806b3 sub a3,a6,a5
|
||
642e: 04d04c63 bgtz a3,6486 <tcp_receive+0x8bc>
|
||
6432: 20008537 lui a0,0x20008
|
||
6436: 8c050513 addi a0,a0,-1856 # 200078c0 <inseg>
|
||
643a: de9fe0ef jal ra,5222 <tcp_seg_copy>
|
||
643e: 842a mv s0,a0
|
||
6440: d129 beqz a0,6382 <tcp_receive+0x7b8>
|
||
6442: 01092703 lw a4,16(s2)
|
||
6446: 335c lbu a5,5(a4)
|
||
6448: 234c lbu a1,4(a4)
|
||
644a: 07a2 slli a5,a5,0x8
|
||
644c: 8ddd or a1,a1,a5
|
||
644e: 237c lbu a5,6(a4)
|
||
6450: 07c2 slli a5,a5,0x10
|
||
6452: 8fcd or a5,a5,a1
|
||
6454: 336c lbu a1,7(a4)
|
||
6456: 00c95703 lhu a4,12(s2)
|
||
645a: 05e2 slli a1,a1,0x18
|
||
645c: 8fcd or a5,a5,a1
|
||
645e: 0009a583 lw a1,0(s3)
|
||
6462: 973e add a4,a4,a5
|
||
6464: 8f0d sub a4,a4,a1
|
||
6466: 00e05b63 blez a4,647c <tcp_receive+0x8b2>
|
||
646a: 8d9d sub a1,a1,a5
|
||
646c: 05c2 slli a1,a1,0x10
|
||
646e: 00492503 lw a0,4(s2)
|
||
6472: 81c1 srli a1,a1,0x10
|
||
6474: 00b91623 sh a1,12(s2)
|
||
6478: 8c5fe0ef jal ra,4d3c <pbuf_realloc>
|
||
647c: 00892023 sw s0,0(s2)
|
||
6480: 85a6 mv a1,s1
|
||
6482: 8522 mv a0,s0
|
||
6484: b7b9 j 63d2 <tcp_receive+0x808>
|
||
6486: 4094 lw a3,0(s1)
|
||
6488: 8926 mv s2,s1
|
||
648a: f6b9 bnez a3,63d8 <tcp_receive+0x80e>
|
||
648c: 40f707b3 sub a5,a4,a5
|
||
6490: eef059e3 blez a5,6382 <tcp_receive+0x7b8>
|
||
6494: 365c lbu a5,13(a2)
|
||
6496: 2648 lbu a0,12(a2)
|
||
6498: 07a2 slli a5,a5,0x8
|
||
649a: 8d5d or a0,a0,a5
|
||
649c: b30fd0ef jal ra,37cc <ntohs>
|
||
64a0: 8905 andi a0,a0,1
|
||
64a2: ee0510e3 bnez a0,6382 <tcp_receive+0x7b8>
|
||
64a6: 20008537 lui a0,0x20008
|
||
64aa: 8c050513 addi a0,a0,-1856 # 200078c0 <inseg>
|
||
64ae: d75fe0ef jal ra,5222 <tcp_seg_copy>
|
||
64b2: c088 sw a0,0(s1)
|
||
64b4: ec0507e3 beqz a0,6382 <tcp_receive+0x7b8>
|
||
64b8: 4898 lw a4,16(s1)
|
||
64ba: 335c lbu a5,5(a4)
|
||
64bc: 234c lbu a1,4(a4)
|
||
64be: 07a2 slli a5,a5,0x8
|
||
64c0: 8ddd or a1,a1,a5
|
||
64c2: 237c lbu a5,6(a4)
|
||
64c4: 07c2 slli a5,a5,0x10
|
||
64c6: 8fcd or a5,a5,a1
|
||
64c8: 336c lbu a1,7(a4)
|
||
64ca: 24da lhu a4,12(s1)
|
||
64cc: 05e2 slli a1,a1,0x18
|
||
64ce: 8fcd or a5,a5,a1
|
||
64d0: 0009a583 lw a1,0(s3)
|
||
64d4: 973e add a4,a4,a5
|
||
64d6: 8f0d sub a4,a4,a1
|
||
64d8: eae055e3 blez a4,6382 <tcp_receive+0x7b8>
|
||
64dc: 8d9d sub a1,a1,a5
|
||
64de: 05c2 slli a1,a1,0x10
|
||
64e0: 40c8 lw a0,4(s1)
|
||
64e2: 81c1 srli a1,a1,0x10
|
||
64e4: a4ce sh a1,12(s1)
|
||
64e6: 857fe0ef jal ra,4d3c <pbuf_realloc>
|
||
64ea: bd61 j 6382 <tcp_receive+0x7b8>
|
||
64ec: 8522 mv a0,s0
|
||
64ee: 056010ef jal ra,7544 <tcp_send_empty_ack>
|
||
64f2: bd41 j 6382 <tcp_receive+0x7b8>
|
||
64f4: 40d78733 sub a4,a5,a3
|
||
64f8: 00074863 bltz a4,6508 <tcp_receive+0x93e>
|
||
64fc: 345a lhu a4,44(s0)
|
||
64fe: 0785 addi a5,a5,1
|
||
6500: 8f95 sub a5,a5,a3
|
||
6502: 8f99 sub a5,a5,a4
|
||
6504: e6f05fe3 blez a5,6382 <tcp_receive+0x7b8>
|
||
6508: 02644783 lbu a5,38(s0)
|
||
650c: bda9 j 6366 <tcp_receive+0x79c>
|
||
|
||
0000650e <tcp_parseopt.isra.0>:
|
||
tcp_parseopt.isra.0():
|
||
650e: ce3f92ef jal t0,1f0 <__riscv_save_0>
|
||
6512: 94018493 addi s1,gp,-1728 # 20000160 <tcphdr>
|
||
6516: 0004a903 lw s2,0(s1)
|
||
651a: 842a mv s0,a0
|
||
651c: 00d94783 lbu a5,13(s2)
|
||
6520: 00c94503 lbu a0,12(s2)
|
||
6524: 07a2 slli a5,a5,0x8
|
||
6526: 8d5d or a0,a0,a5
|
||
6528: aa4fd0ef jal ra,37cc <ntohs>
|
||
652c: 8131 srli a0,a0,0xc
|
||
652e: 0542 slli a0,a0,0x10
|
||
6530: 8141 srli a0,a0,0x10
|
||
6532: 4795 li a5,5
|
||
6534: 02a7fc63 bgeu a5,a0,656c <tcp_parseopt.isra.0+0x5e>
|
||
6538: 409c lw a5,0(s1)
|
||
653a: 0951 addi s2,s2,20
|
||
653c: 27c8 lbu a0,12(a5)
|
||
653e: 37dc lbu a5,13(a5)
|
||
6540: 07a2 slli a5,a5,0x8
|
||
6542: 8d5d or a0,a0,a5
|
||
6544: a88fd0ef jal ra,37cc <ntohs>
|
||
6548: 200087b7 lui a5,0x20008
|
||
654c: 8407a603 lw a2,-1984(a5) # 20007840 <WCHCfg+0x4>
|
||
6550: 8131 srli a0,a0,0xc
|
||
6552: 156d addi a0,a0,-5
|
||
6554: 050a slli a0,a0,0x2
|
||
6556: 0542 slli a0,a0,0x10
|
||
6558: 01061593 slli a1,a2,0x10
|
||
655c: 8141 srli a0,a0,0x10
|
||
655e: 81c1 srli a1,a1,0x10
|
||
6560: 4781 li a5,0
|
||
6562: 4805 li a6,1
|
||
6564: 4889 li a7,2
|
||
6566: 4311 li t1,4
|
||
6568: 00a7e463 bltu a5,a0,6570 <tcp_parseopt.isra.0+0x62>
|
||
656c: ca9f906f j 214 <__riscv_restore_0>
|
||
6570: 00f906b3 add a3,s2,a5
|
||
6574: 2298 lbu a4,0(a3)
|
||
6576: 01070963 beq a4,a6,6588 <tcp_parseopt.isra.0+0x7a>
|
||
657a: db6d beqz a4,656c <tcp_parseopt.isra.0+0x5e>
|
||
657c: 01170a63 beq a4,a7,6590 <tcp_parseopt.isra.0+0x82>
|
||
6580: 3298 lbu a4,1(a3)
|
||
6582: d76d beqz a4,656c <tcp_parseopt.isra.0+0x5e>
|
||
6584: 97ba add a5,a5,a4
|
||
6586: a011 j 658a <tcp_parseopt.isra.0+0x7c>
|
||
6588: 0785 addi a5,a5,1
|
||
658a: 07c2 slli a5,a5,0x10
|
||
658c: 83c1 srli a5,a5,0x10
|
||
658e: bfe9 j 6568 <tcp_parseopt.isra.0+0x5a>
|
||
6590: 3298 lbu a4,1(a3)
|
||
6592: fc671de3 bne a4,t1,656c <tcp_parseopt.isra.0+0x5e>
|
||
6596: 00378713 addi a4,a5,3
|
||
659a: fca759e3 bge a4,a0,656c <tcp_parseopt.isra.0+0x5e>
|
||
659e: 22b8 lbu a4,2(a3)
|
||
65a0: 32b4 lbu a3,3(a3)
|
||
65a2: 0722 slli a4,a4,0x8
|
||
65a4: 8f55 or a4,a4,a3
|
||
65a6: 00e66363 bltu a2,a4,65ac <tcp_parseopt.isra.0+0x9e>
|
||
65aa: e311 bnez a4,65ae <tcp_parseopt.isra.0+0xa0>
|
||
65ac: 872e mv a4,a1
|
||
65ae: a01a sh a4,0(s0)
|
||
65b0: 0791 addi a5,a5,4
|
||
65b2: bfe1 j 658a <tcp_parseopt.isra.0+0x7c>
|
||
|
||
000065b4 <tcp_input>:
|
||
tcp_input():
|
||
65b4: c0df92ef jal t0,1c0 <__riscv_save_12>
|
||
65b8: 4140 lw s0,4(a0)
|
||
65ba: 8baa mv s7,a0
|
||
65bc: 301c lbu a5,1(s0)
|
||
65be: 2008 lbu a0,0(s0)
|
||
65c0: 1141 addi sp,sp,-16
|
||
65c2: 07a2 slli a5,a5,0x8
|
||
65c4: 92c18913 addi s2,gp,-1748 # 2000014c <iphdr>
|
||
65c8: 8d5d or a0,a0,a5
|
||
65ca: 89ae mv s3,a1
|
||
65cc: 00892023 sw s0,0(s2)
|
||
65d0: 9fcfd0ef jal ra,37cc <ntohs>
|
||
65d4: 00092783 lw a5,0(s2)
|
||
65d8: 8119 srli a0,a0,0x6
|
||
65da: 03c57513 andi a0,a0,60
|
||
65de: 942a add s0,s0,a0
|
||
65e0: 2388 lbu a0,0(a5)
|
||
65e2: 339c lbu a5,1(a5)
|
||
65e4: 9481a023 sw s0,-1728(gp) # 20000160 <tcphdr>
|
||
65e8: 07a2 slli a5,a5,0x8
|
||
65ea: 8d5d or a0,a0,a5
|
||
65ec: 9e0fd0ef jal ra,37cc <ntohs>
|
||
65f0: 00655593 srli a1,a0,0x6
|
||
65f4: 03c5f593 andi a1,a1,60
|
||
65f8: 40b005b3 neg a1,a1
|
||
65fc: 855e mv a0,s7
|
||
65fe: d42fe0ef jal ra,4b40 <pbuf_header>
|
||
6602: e511 bnez a0,660e <tcp_input+0x5a>
|
||
6604: 008bd703 lhu a4,8(s7)
|
||
6608: 47cd li a5,19
|
||
660a: 00e7e863 bltu a5,a4,661a <tcp_input+0x66>
|
||
660e: 855e mv a0,s7
|
||
6610: d9efe0ef jal ra,4bae <pbuf_free>
|
||
6614: 0141 addi sp,sp,16
|
||
6616: be7f906f j 1fc <__riscv_restore_12>
|
||
661a: 92c18b13 addi s6,gp,-1748 # 2000014c <iphdr>
|
||
661e: 000b2503 lw a0,0(s6)
|
||
6622: 85ce mv a1,s3
|
||
6624: 0541 addi a0,a0,16
|
||
6626: e5afd0ef jal ra,3c80 <ip_addr_isbroadcast>
|
||
662a: f175 bnez a0,660e <tcp_input+0x5a>
|
||
662c: 000b2703 lw a4,0(s6)
|
||
6630: f0000537 lui a0,0xf0000
|
||
6634: 3b1c lbu a5,17(a4)
|
||
6636: 2b00 lbu s0,16(a4)
|
||
6638: 07a2 slli a5,a5,0x8
|
||
663a: 8fc1 or a5,a5,s0
|
||
663c: 2b20 lbu s0,18(a4)
|
||
663e: 0442 slli s0,s0,0x10
|
||
6640: 8fc1 or a5,a5,s0
|
||
6642: 3b20 lbu s0,19(a4)
|
||
6644: 0462 slli s0,s0,0x18
|
||
6646: 8c5d or s0,s0,a5
|
||
6648: 9b6fd0ef jal ra,37fe <ntohl>
|
||
664c: 8c69 and s0,s0,a0
|
||
664e: e0000537 lui a0,0xe0000
|
||
6652: 9acfd0ef jal ra,37fe <ntohl>
|
||
6656: faa40ce3 beq s0,a0,660e <tcp_input+0x5a>
|
||
665a: 000b2583 lw a1,0(s6)
|
||
665e: 008bd703 lhu a4,8(s7)
|
||
6662: 4699 li a3,6
|
||
6664: 01058613 addi a2,a1,16
|
||
6668: 855e mv a0,s7
|
||
666a: 05b1 addi a1,a1,12
|
||
666c: 5f9010ef jal ra,8464 <inet_chksum_pseudo>
|
||
6670: fd59 bnez a0,660e <tcp_input+0x5a>
|
||
6672: 94018493 addi s1,gp,-1728 # 20000160 <tcphdr>
|
||
6676: 409c lw a5,0(s1)
|
||
6678: 27c8 lbu a0,12(a5)
|
||
667a: 37dc lbu a5,13(a5)
|
||
667c: 07a2 slli a5,a5,0x8
|
||
667e: 8d5d or a0,a0,a5
|
||
6680: 94cfd0ef jal ra,37cc <ntohs>
|
||
6684: 8131 srli a0,a0,0xc
|
||
6686: 55f1 li a1,-4
|
||
6688: 02b505b3 mul a1,a0,a1
|
||
668c: 855e mv a0,s7
|
||
668e: 05c2 slli a1,a1,0x10
|
||
6690: 85c1 srai a1,a1,0x10
|
||
6692: caefe0ef jal ra,4b40 <pbuf_header>
|
||
6696: fd25 bnez a0,660e <tcp_input+0x5a>
|
||
6698: 4080 lw s0,0(s1)
|
||
669a: 301c lbu a5,1(s0)
|
||
669c: 2008 lbu a0,0(s0)
|
||
669e: 07a2 slli a5,a5,0x8
|
||
66a0: 8d5d or a0,a0,a5
|
||
66a2: 92afd0ef jal ra,37cc <ntohs>
|
||
66a6: a008 sb a0,0(s0)
|
||
66a8: 8121 srli a0,a0,0x8
|
||
66aa: b008 sb a0,1(s0)
|
||
66ac: 4080 lw s0,0(s1)
|
||
66ae: 303c lbu a5,3(s0)
|
||
66b0: 2028 lbu a0,2(s0)
|
||
66b2: 07a2 slli a5,a5,0x8
|
||
66b4: 8d5d or a0,a0,a5
|
||
66b6: 916fd0ef jal ra,37cc <ntohs>
|
||
66ba: a028 sb a0,2(s0)
|
||
66bc: 8121 srli a0,a0,0x8
|
||
66be: b028 sb a0,3(s0)
|
||
66c0: 4080 lw s0,0(s1)
|
||
66c2: 3048 lbu a0,5(s0)
|
||
66c4: 205c lbu a5,4(s0)
|
||
66c6: 0522 slli a0,a0,0x8
|
||
66c8: 8d5d or a0,a0,a5
|
||
66ca: 207c lbu a5,6(s0)
|
||
66cc: 07c2 slli a5,a5,0x10
|
||
66ce: 8fc9 or a5,a5,a0
|
||
66d0: 3068 lbu a0,7(s0)
|
||
66d2: 0562 slli a0,a0,0x18
|
||
66d4: 8d5d or a0,a0,a5
|
||
66d6: 928fd0ef jal ra,37fe <ntohl>
|
||
66da: 00855793 srli a5,a0,0x8
|
||
66de: b05c sb a5,5(s0)
|
||
66e0: 01055793 srli a5,a0,0x10
|
||
66e4: a07c sb a5,6(s0)
|
||
66e6: 01855793 srli a5,a0,0x18
|
||
66ea: a048 sb a0,4(s0)
|
||
66ec: b07c sb a5,7(s0)
|
||
66ee: 4080 lw s0,0(s1)
|
||
66f0: 92a1ac23 sw a0,-1736(gp) # 20000158 <seqno>
|
||
66f4: 93818a93 addi s5,gp,-1736 # 20000158 <seqno>
|
||
66f8: 3408 lbu a0,9(s0)
|
||
66fa: 241c lbu a5,8(s0)
|
||
66fc: 0522 slli a0,a0,0x8
|
||
66fe: 8d5d or a0,a0,a5
|
||
6700: 243c lbu a5,10(s0)
|
||
6702: 07c2 slli a5,a5,0x10
|
||
6704: 8fc9 or a5,a5,a0
|
||
6706: 3428 lbu a0,11(s0)
|
||
6708: 0562 slli a0,a0,0x18
|
||
670a: 8d5d or a0,a0,a5
|
||
670c: 8f2fd0ef jal ra,37fe <ntohl>
|
||
6710: 00855793 srli a5,a0,0x8
|
||
6714: b41c sb a5,9(s0)
|
||
6716: 01055793 srli a5,a0,0x10
|
||
671a: a43c sb a5,10(s0)
|
||
671c: 01855793 srli a5,a0,0x18
|
||
6720: a408 sb a0,8(s0)
|
||
6722: b43c sb a5,11(s0)
|
||
6724: 4080 lw s0,0(s1)
|
||
6726: 92a1a223 sw a0,-1756(gp) # 20000144 <ackno>
|
||
672a: 92418913 addi s2,gp,-1756 # 20000144 <ackno>
|
||
672e: 347c lbu a5,15(s0)
|
||
6730: 2468 lbu a0,14(s0)
|
||
6732: 07a2 slli a5,a5,0x8
|
||
6734: 8d5d or a0,a0,a5
|
||
6736: 896fd0ef jal ra,37cc <ntohs>
|
||
673a: 409c lw a5,0(s1)
|
||
673c: a468 sb a0,14(s0)
|
||
673e: 8121 srli a0,a0,0x8
|
||
6740: b468 sb a0,15(s0)
|
||
6742: 27c8 lbu a0,12(a5)
|
||
6744: 37dc lbu a5,13(a5)
|
||
6746: 07a2 slli a5,a5,0x8
|
||
6748: 8d5d or a0,a0,a5
|
||
674a: 882fd0ef jal ra,37cc <ntohs>
|
||
674e: 0ff57893 andi a7,a0,255
|
||
6752: 008bd503 lhu a0,8(s7)
|
||
6756: 0038f593 andi a1,a7,3
|
||
675a: 00b035b3 snez a1,a1
|
||
675e: 95aa add a1,a1,a0
|
||
6760: 9081a303 lw t1,-1784(gp) # 20000128 <tcp_active_pcbs>
|
||
6764: 05c2 slli a1,a1,0x10
|
||
6766: 4094 lw a3,0(s1)
|
||
6768: 000b2803 lw a6,0(s6)
|
||
676c: 03f8f793 andi a5,a7,63
|
||
6770: 81c1 srli a1,a1,0x10
|
||
6772: 92f18423 sb a5,-1752(gp) # 20000148 <flags>
|
||
6776: 94b19223 sh a1,-1724(gp) # 20000164 <tcplen>
|
||
677a: 841a mv s0,t1
|
||
677c: 4601 li a2,0
|
||
677e: 92818c93 addi s9,gp,-1752 # 20000148 <flags>
|
||
6782: 94418c13 addi s8,gp,-1724 # 20000164 <tcplen>
|
||
6786: e401 bnez s0,678e <tcp_input+0x1da>
|
||
6788: 9201a503 lw a0,-1760(gp) # 20000140 <tcp_tw_pcbs>
|
||
678c: aad9 j 6962 <tcp_input+0x3ae>
|
||
678e: 329c lbu a5,1(a3)
|
||
6790: 0006ce03 lbu t3,0(a3)
|
||
6794: 305a lhu a4,36(s0)
|
||
6796: 07a2 slli a5,a5,0x8
|
||
6798: 01c7e7b3 or a5,a5,t3
|
||
679c: 0ef71963 bne a4,a5,688e <tcp_input+0x2da>
|
||
67a0: 32bc lbu a5,3(a3)
|
||
67a2: 0026ce03 lbu t3,2(a3)
|
||
67a6: 2c5a lhu a4,28(s0)
|
||
67a8: 07a2 slli a5,a5,0x8
|
||
67aa: 01c7e7b3 or a5,a5,t3
|
||
67ae: 0ef71063 bne a4,a5,688e <tcp_input+0x2da>
|
||
67b2: 00d84703 lbu a4,13(a6)
|
||
67b6: 00c84783 lbu a5,12(a6)
|
||
67ba: 0722 slli a4,a4,0x8
|
||
67bc: 8f5d or a4,a4,a5
|
||
67be: 00e84783 lbu a5,14(a6)
|
||
67c2: 07c2 slli a5,a5,0x10
|
||
67c4: 8f5d or a4,a4,a5
|
||
67c6: 00f84783 lbu a5,15(a6)
|
||
67ca: 07e2 slli a5,a5,0x18
|
||
67cc: 8fd9 or a5,a5,a4
|
||
67ce: 4058 lw a4,4(s0)
|
||
67d0: 0af71f63 bne a4,a5,688e <tcp_input+0x2da>
|
||
67d4: 01184703 lbu a4,17(a6)
|
||
67d8: 01084783 lbu a5,16(a6)
|
||
67dc: 0722 slli a4,a4,0x8
|
||
67de: 8f5d or a4,a4,a5
|
||
67e0: 01284783 lbu a5,18(a6)
|
||
67e4: 07c2 slli a5,a5,0x10
|
||
67e6: 8f5d or a4,a4,a5
|
||
67e8: 01384783 lbu a5,19(a6)
|
||
67ec: 07e2 slli a5,a5,0x18
|
||
67ee: 8fd9 or a5,a5,a4
|
||
67f0: 4018 lw a4,0(s0)
|
||
67f2: 08f71e63 bne a4,a5,688e <tcp_input+0x2da>
|
||
67f6: c619 beqz a2,6804 <tcp_input+0x250>
|
||
67f8: 445c lw a5,12(s0)
|
||
67fa: 9081a423 sw s0,-1784(gp) # 20000128 <tcp_active_pcbs>
|
||
67fe: c65c sw a5,12(a2)
|
||
6800: 00642623 sw t1,12(s0)
|
||
6804: 004ba703 lw a4,4(s7)
|
||
6808: 20008db7 lui s11,0x20008
|
||
680c: 08842603 lw a2,136(s0)
|
||
6810: 8c0d8793 addi a5,s11,-1856 # 200078c0 <inseg>
|
||
6814: 9201a823 sw zero,-1744(gp) # 20000150 <recv_data>
|
||
6818: 92018a23 sb zero,-1740(gp) # 20000154 <recv_flags>
|
||
681c: 0007a023 sw zero,0(a5)
|
||
6820: a7ca sh a0,12(a5)
|
||
6822: c798 sw a4,8(a5)
|
||
6824: 0177a223 sw s7,4(a5)
|
||
6828: cb94 sw a3,16(a5)
|
||
682a: 93418a13 addi s4,gp,-1740 # 20000154 <recv_flags>
|
||
682e: 93018d13 addi s10,gp,-1744 # 20000150 <recv_data>
|
||
6832: 8c0d8d93 addi s11,s11,-1856
|
||
6836: ce09 beqz a2,6850 <tcp_input+0x29c>
|
||
6838: 09042783 lw a5,144(s0)
|
||
683c: 4681 li a3,0
|
||
683e: 85a2 mv a1,s0
|
||
6840: 2e078f63 beqz a5,6b3e <tcp_input+0x58a>
|
||
6844: 4c08 lw a0,24(s0)
|
||
6846: 9782 jalr a5
|
||
6848: dc0513e3 bnez a0,660e <tcp_input+0x5a>
|
||
684c: 08042423 sw zero,136(s0)
|
||
6850: 000cc783 lbu a5,0(s9)
|
||
6854: 9281ae23 sw s0,-1732(gp) # 2000015c <tcp_input_pcb>
|
||
6858: 0047f713 andi a4,a5,4
|
||
685c: 93c18b93 addi s7,gp,-1732 # 2000015c <tcp_input_pcb>
|
||
6860: 34070263 beqz a4,6ba4 <tcp_input+0x5f0>
|
||
6864: 4818 lw a4,16(s0)
|
||
6866: 4789 li a5,2
|
||
6868: 2cf71f63 bne a4,a5,6b46 <tcp_input+0x592>
|
||
686c: 5038 lw a4,96(s0)
|
||
686e: 00092783 lw a5,0(s2)
|
||
6872: 2ef71463 bne a4,a5,6b5a <tcp_input+0x5a6>
|
||
6876: 000a4783 lbu a5,0(s4)
|
||
687a: 0087e793 ori a5,a5,8
|
||
687e: 00fa0023 sb a5,0(s4)
|
||
6882: 02644783 lbu a5,38(s0)
|
||
6886: 9bf9 andi a5,a5,-2
|
||
6888: 02f40323 sb a5,38(s0)
|
||
688c: a4f9 j 6b5a <tcp_input+0x5a6>
|
||
688e: 8622 mv a2,s0
|
||
6890: 4440 lw s0,12(s0)
|
||
6892: bdd5 j 6786 <tcp_input+0x1d2>
|
||
6894: 3298 lbu a4,1(a3)
|
||
6896: 229c lbu a5,0(a3)
|
||
6898: 0722 slli a4,a4,0x8
|
||
689a: 8f5d or a4,a4,a5
|
||
689c: 315e lhu a5,36(a0)
|
||
689e: 0ce79163 bne a5,a4,6960 <tcp_input+0x3ac>
|
||
68a2: 32b0 lbu a2,3(a3)
|
||
68a4: 22b8 lbu a4,2(a3)
|
||
68a6: 0622 slli a2,a2,0x8
|
||
68a8: 8e59 or a2,a2,a4
|
||
68aa: 2d5a lhu a4,28(a0)
|
||
68ac: 0ac71a63 bne a4,a2,6960 <tcp_input+0x3ac>
|
||
68b0: 00d84303 lbu t1,13(a6)
|
||
68b4: 00c84603 lbu a2,12(a6)
|
||
68b8: 0322 slli t1,t1,0x8
|
||
68ba: 00c36333 or t1,t1,a2
|
||
68be: 00e84603 lbu a2,14(a6)
|
||
68c2: 0642 slli a2,a2,0x10
|
||
68c4: 00666333 or t1,a2,t1
|
||
68c8: 00f84603 lbu a2,15(a6)
|
||
68cc: 0662 slli a2,a2,0x18
|
||
68ce: 00666633 or a2,a2,t1
|
||
68d2: 00452303 lw t1,4(a0) # e0000004 <_eusrstack+0xbffe0004>
|
||
68d6: 08c31563 bne t1,a2,6960 <tcp_input+0x3ac>
|
||
68da: 01184303 lbu t1,17(a6)
|
||
68de: 01084603 lbu a2,16(a6)
|
||
68e2: 0322 slli t1,t1,0x8
|
||
68e4: 00c36333 or t1,t1,a2
|
||
68e8: 01284603 lbu a2,18(a6)
|
||
68ec: 0642 slli a2,a2,0x10
|
||
68ee: 00666333 or t1,a2,t1
|
||
68f2: 01384603 lbu a2,19(a6)
|
||
68f6: 0662 slli a2,a2,0x18
|
||
68f8: 00666633 or a2,a2,t1
|
||
68fc: 00052303 lw t1,0(a0)
|
||
6900: 06c31063 bne t1,a2,6960 <tcp_input+0x3ac>
|
||
6904: 0048f693 andi a3,a7,4
|
||
6908: d00693e3 bnez a3,660e <tcp_input+0x5a>
|
||
690c: 0028f693 andi a3,a7,2
|
||
6910: c695 beqz a3,693c <tcp_input+0x388>
|
||
6912: 000aa883 lw a7,0(s5)
|
||
6916: 5514 lw a3,40(a0)
|
||
6918: 40d886b3 sub a3,a7,a3
|
||
691c: 0206c763 bltz a3,694a <tcp_input+0x396>
|
||
6920: 3552 lhu a2,44(a0)
|
||
6922: 8e91 sub a3,a3,a2
|
||
6924: 02d04363 bgtz a3,694a <tcp_input+0x396>
|
||
6928: 00c80693 addi a3,a6,12
|
||
692c: 01080613 addi a2,a6,16
|
||
6930: 95c6 add a1,a1,a7
|
||
6932: 00092503 lw a0,0(s2)
|
||
6936: 7e7000ef jal ra,791c <tcp_rst>
|
||
693a: b9d1 j 660e <tcp_input+0x5a>
|
||
693c: 0018f893 andi a7,a7,1
|
||
6940: 00088563 beqz a7,694a <tcp_input+0x396>
|
||
6944: 9141a783 lw a5,-1772(gp) # 20000134 <tcp_ticks>
|
||
6948: dd1c sw a5,56(a0)
|
||
694a: cc0582e3 beqz a1,660e <tcp_input+0x5a>
|
||
694e: 02654783 lbu a5,38(a0)
|
||
6952: 0027e793 ori a5,a5,2
|
||
6956: 02f50323 sb a5,38(a0)
|
||
695a: 45b000ef jal ra,75b4 <tcp_output>
|
||
695e: b945 j 660e <tcp_input+0x5a>
|
||
6960: 4548 lw a0,12(a0)
|
||
6962: f90d bnez a0,6894 <tcp_input+0x2e0>
|
||
6964: 9101a303 lw t1,-1776(gp) # 20000130 <tcp_listen_pcbs>
|
||
6968: 8e3e mv t3,a5
|
||
696a: 8a1a mv s4,t1
|
||
696c: 000a1c63 bnez s4,6984 <tcp_input+0x3d0>
|
||
6970: 36dc lbu a5,13(a3)
|
||
6972: 26c8 lbu a0,12(a3)
|
||
6974: 07a2 slli a5,a5,0x8
|
||
6976: 8d5d or a0,a0,a5
|
||
6978: e55fc0ef jal ra,37cc <ntohs>
|
||
697c: 8911 andi a0,a0,4
|
||
697e: c80518e3 bnez a0,660e <tcp_input+0x5a>
|
||
6982: a045 j 6a22 <tcp_input+0x46e>
|
||
6984: 000a2603 lw a2,0(s4)
|
||
6988: c20d beqz a2,69aa <tcp_input+0x3f6>
|
||
698a: 01184703 lbu a4,17(a6)
|
||
698e: 01084783 lbu a5,16(a6)
|
||
6992: 0722 slli a4,a4,0x8
|
||
6994: 8f5d or a4,a4,a5
|
||
6996: 01284783 lbu a5,18(a6)
|
||
699a: 07c2 slli a5,a5,0x10
|
||
699c: 8f5d or a4,a4,a5
|
||
699e: 01384783 lbu a5,19(a6)
|
||
69a2: 07e2 slli a5,a5,0x18
|
||
69a4: 8fd9 or a5,a5,a4
|
||
69a6: 18f61863 bne a2,a5,6b36 <tcp_input+0x582>
|
||
69aa: 32b8 lbu a4,3(a3)
|
||
69ac: 22b0 lbu a2,2(a3)
|
||
69ae: 01ca5783 lhu a5,28(s4)
|
||
69b2: 0722 slli a4,a4,0x8
|
||
69b4: 8f51 or a4,a4,a2
|
||
69b6: 18e79063 bne a5,a4,6b36 <tcp_input+0x582>
|
||
69ba: c901 beqz a0,69ca <tcp_input+0x416>
|
||
69bc: 00ca2783 lw a5,12(s4)
|
||
69c0: 9141a823 sw s4,-1776(gp) # 20000130 <tcp_listen_pcbs>
|
||
69c4: c55c sw a5,12(a0)
|
||
69c6: 006a2623 sw t1,12(s4)
|
||
69ca: 0108f793 andi a5,a7,16
|
||
69ce: cf89 beqz a5,69e8 <tcp_input+0x434>
|
||
69d0: 329c lbu a5,1(a3)
|
||
69d2: 2290 lbu a2,0(a3)
|
||
69d4: 000aa503 lw a0,0(s5)
|
||
69d8: 07a2 slli a5,a5,0x8
|
||
69da: 8fd1 or a5,a5,a2
|
||
69dc: 00c80693 addi a3,a6,12
|
||
69e0: 01080613 addi a2,a6,16
|
||
69e4: 95aa add a1,a1,a0
|
||
69e6: b7b1 j 6932 <tcp_input+0x37e>
|
||
69e8: 0028f893 andi a7,a7,2
|
||
69ec: c20881e3 beqz a7,660e <tcp_input+0x5a>
|
||
69f0: 8cc1a883 lw a7,-1844(gp) # 200000ec <TCPVerifyConnCallback>
|
||
69f4: 04088e63 beqz a7,6a50 <tcp_input+0x49c>
|
||
69f8: 00d84503 lbu a0,13(a6)
|
||
69fc: 00c84783 lbu a5,12(a6)
|
||
6a00: 228c lbu a1,0(a3)
|
||
6a02: 0522 slli a0,a0,0x8
|
||
6a04: 8d5d or a0,a0,a5
|
||
6a06: 00e84783 lbu a5,14(a6)
|
||
6a0a: 3294 lbu a3,1(a3)
|
||
6a0c: 863a mv a2,a4
|
||
6a0e: 07c2 slli a5,a5,0x10
|
||
6a10: 8fc9 or a5,a5,a0
|
||
6a12: 00f84503 lbu a0,15(a6)
|
||
6a16: 06a2 slli a3,a3,0x8
|
||
6a18: 8dd5 or a1,a1,a3
|
||
6a1a: 0562 slli a0,a0,0x18
|
||
6a1c: 8d5d or a0,a0,a5
|
||
6a1e: 9882 jalr a7
|
||
6a20: c905 beqz a0,6a50 <tcp_input+0x49c>
|
||
6a22: 4094 lw a3,0(s1)
|
||
6a24: 000b2603 lw a2,0(s6)
|
||
6a28: 000c5503 lhu a0,0(s8)
|
||
6a2c: 329c lbu a5,1(a3)
|
||
6a2e: 32b8 lbu a4,3(a3)
|
||
6a30: 0006c883 lbu a7,0(a3)
|
||
6a34: 0026c803 lbu a6,2(a3)
|
||
6a38: 07a2 slli a5,a5,0x8
|
||
6a3a: 0722 slli a4,a4,0x8
|
||
6a3c: 00c60693 addi a3,a2,12
|
||
6a40: 000aa583 lw a1,0(s5)
|
||
6a44: 0117e7b3 or a5,a5,a7
|
||
6a48: 01076733 or a4,a4,a6
|
||
6a4c: 0641 addi a2,a2,16
|
||
6a4e: bf59 j 69e4 <tcp_input+0x430>
|
||
6a50: 014a4503 lbu a0,20(s4)
|
||
6a54: e1dfe0ef jal ra,5870 <tcp_alloc>
|
||
6a58: 842a mv s0,a0
|
||
6a5a: ba050ae3 beqz a0,660e <tcp_input+0x5a>
|
||
6a5e: 000b2783 lw a5,0(s6)
|
||
6a62: 4701 li a4,0
|
||
6a64: 01078693 addi a3,a5,16
|
||
6a68: ca99 beqz a3,6a7e <tcp_input+0x4ca>
|
||
6a6a: 3b94 lbu a3,17(a5)
|
||
6a6c: 2b98 lbu a4,16(a5)
|
||
6a6e: 06a2 slli a3,a3,0x8
|
||
6a70: 8ed9 or a3,a3,a4
|
||
6a72: 2bb8 lbu a4,18(a5)
|
||
6a74: 0742 slli a4,a4,0x10
|
||
6a76: 8ed9 or a3,a3,a4
|
||
6a78: 3bb8 lbu a4,19(a5)
|
||
6a7a: 0762 slli a4,a4,0x18
|
||
6a7c: 8f55 or a4,a4,a3
|
||
6a7e: c018 sw a4,0(s0)
|
||
6a80: 01ca5703 lhu a4,28(s4)
|
||
6a84: 00c78693 addi a3,a5,12
|
||
6a88: ac5a sh a4,28(s0)
|
||
6a8a: 4701 li a4,0
|
||
6a8c: ca99 beqz a3,6aa2 <tcp_input+0x4ee>
|
||
6a8e: 37d4 lbu a3,13(a5)
|
||
6a90: 27d8 lbu a4,12(a5)
|
||
6a92: 06a2 slli a3,a3,0x8
|
||
6a94: 8ed9 or a3,a3,a4
|
||
6a96: 27f8 lbu a4,14(a5)
|
||
6a98: 0742 slli a4,a4,0x10
|
||
6a9a: 8ed9 or a3,a3,a4
|
||
6a9c: 37f8 lbu a4,15(a5)
|
||
6a9e: 0762 slli a4,a4,0x18
|
||
6aa0: 8f55 or a4,a4,a3
|
||
6aa2: 4094 lw a3,0(s1)
|
||
6aa4: c058 sw a4,4(s0)
|
||
6aa6: 04040513 addi a0,s0,64
|
||
6aaa: 329c lbu a5,1(a3)
|
||
6aac: 2298 lbu a4,0(a3)
|
||
6aae: 07a2 slli a5,a5,0x8
|
||
6ab0: 8fd9 or a5,a5,a4
|
||
6ab2: 000aa703 lw a4,0(s5)
|
||
6ab6: b05e sh a5,36(s0)
|
||
6ab8: 478d li a5,3
|
||
6aba: c81c sw a5,16(s0)
|
||
6abc: 00170793 addi a5,a4,1
|
||
6ac0: d41c sw a5,40(s0)
|
||
6ac2: d81c sw a5,48(s0)
|
||
6ac4: 36fc lbu a5,15(a3)
|
||
6ac6: 26f0 lbu a2,14(a3)
|
||
6ac8: 177d addi a4,a4,-1
|
||
6aca: 07a2 slli a5,a5,0x8
|
||
6acc: 8fd1 or a5,a5,a2
|
||
6ace: 06f41223 sh a5,100(s0)
|
||
6ad2: 04f41e23 sh a5,92(s0)
|
||
6ad6: 018a2783 lw a5,24(s4)
|
||
6ada: d438 sw a4,104(s0)
|
||
6adc: cc1c sw a5,24(s0)
|
||
6ade: 200087b7 lui a5,0x20008
|
||
6ae2: 8407d783 lhu a5,-1984(a5) # 20007840 <WCHCfg+0x4>
|
||
6ae6: b45e sh a5,44(s0)
|
||
6ae8: b47e sh a5,46(s0)
|
||
6aea: 020a2783 lw a5,32(s4)
|
||
6aee: d01c sw a5,32(s0)
|
||
6af0: 008a5783 lhu a5,8(s4)
|
||
6af4: 1997f793 andi a5,a5,409
|
||
6af8: a41e sh a5,8(s0)
|
||
6afa: 9081a783 lw a5,-1784(gp) # 20000128 <tcp_active_pcbs>
|
||
6afe: 9081a423 sw s0,-1784(gp) # 20000128 <tcp_active_pcbs>
|
||
6b02: c45c sw a5,12(s0)
|
||
6b04: a0bff0ef jal ra,650e <tcp_parseopt.isra.0>
|
||
6b08: 04045503 lhu a0,64(s0)
|
||
6b0c: 00440593 addi a1,s0,4
|
||
6b10: ea5fe0ef jal ra,59b4 <tcp_eff_send_mss>
|
||
6b14: 04a41023 sh a0,64(s0)
|
||
6b18: 4785 li a5,1
|
||
6b1a: 4701 li a4,0
|
||
6b1c: 46c9 li a3,18
|
||
6b1e: 4601 li a2,0
|
||
6b20: 4581 li a1,0
|
||
6b22: 8522 mv a0,s0
|
||
6b24: 2b49 jal 70b6 <tcp_enqueue>
|
||
6b26: c511 beqz a0,6b32 <tcp_input+0x57e>
|
||
6b28: 4581 li a1,0
|
||
6b2a: 8522 mv a0,s0
|
||
6b2c: c9bfe0ef jal ra,57c6 <tcp_abandon>
|
||
6b30: bcf9 j 660e <tcp_input+0x5a>
|
||
6b32: 8522 mv a0,s0
|
||
6b34: b51d j 695a <tcp_input+0x3a6>
|
||
6b36: 8552 mv a0,s4
|
||
6b38: 00ca2a03 lw s4,12(s4)
|
||
6b3c: bd05 j 696c <tcp_input+0x3b8>
|
||
6b3e: 4501 li a0,0
|
||
6b40: b57fe0ef jal ra,5696 <tcp_recv_null>
|
||
6b44: b311 j 6848 <tcp_input+0x294>
|
||
6b46: 000aa783 lw a5,0(s5)
|
||
6b4a: 5418 lw a4,40(s0)
|
||
6b4c: 8f99 sub a5,a5,a4
|
||
6b4e: 0007c663 bltz a5,6b5a <tcp_input+0x5a6>
|
||
6b52: 345a lhu a4,44(s0)
|
||
6b54: 8f99 sub a5,a5,a4
|
||
6b56: d2f050e3 blez a5,6876 <tcp_input+0x2c2>
|
||
6b5a: 000a4783 lbu a5,0(s4)
|
||
6b5e: 0087f713 andi a4,a5,8
|
||
6b62: 3e070063 beqz a4,6f42 <tcp_input+0x98e>
|
||
6b66: 00f10593 addi a1,sp,15
|
||
6b6a: 8522 mv a0,s0
|
||
6b6c: 9abfb0ef jal ra,2516 <WCHFindCorrectTCBPcb>
|
||
6b70: 4785 li a5,1
|
||
6b72: 00f51663 bne a0,a5,6b7e <tcp_input+0x5ca>
|
||
6b76: 4818 lw a4,16(s0)
|
||
6b78: 4789 li a5,2
|
||
6b7a: 1cf70163 beq a4,a5,6d3c <tcp_input+0x788>
|
||
6b7e: 8522 mv a0,s0
|
||
6b80: 86afc0ef jal ra,2bea <LwipRemoveTcpPcb>
|
||
6b84: 09c42783 lw a5,156(s0)
|
||
6b88: c781 beqz a5,6b90 <tcp_input+0x5dc>
|
||
6b8a: 4c08 lw a0,24(s0)
|
||
6b8c: 55e9 li a1,-6
|
||
6b8e: 9782 jalr a5
|
||
6b90: 85a2 mv a1,s0
|
||
6b92: 90818513 addi a0,gp,-1784 # 20000128 <tcp_active_pcbs>
|
||
6b96: 9ddfe0ef jal ra,5572 <tcp_pcb_remove>
|
||
6b9a: 85a2 mv a1,s0
|
||
6b9c: 4509 li a0,2
|
||
6b9e: e3ffd0ef jal ra,49dc <memp_free>
|
||
6ba2: aa69 j 6d3c <tcp_input+0x788>
|
||
6ba4: 8b89 andi a5,a5,2
|
||
6ba6: c385 beqz a5,6bc6 <tcp_input+0x612>
|
||
6ba8: 481c lw a5,16(s0)
|
||
6baa: 4705 li a4,1
|
||
6bac: 17f9 addi a5,a5,-2
|
||
6bae: 00f77c63 bgeu a4,a5,6bc6 <tcp_input+0x612>
|
||
6bb2: 02644783 lbu a5,38(s0)
|
||
6bb6: 8522 mv a0,s0
|
||
6bb8: 0027e793 ori a5,a5,2
|
||
6bbc: 02f40323 sb a5,38(s0)
|
||
6bc0: 1f5000ef jal ra,75b4 <tcp_output>
|
||
6bc4: bf59 j 6b5a <tcp_input+0x5a6>
|
||
6bc6: 9141a783 lw a5,-1772(gp) # 20000134 <tcp_ticks>
|
||
6bca: 0a0408a3 sb zero,177(s0)
|
||
6bce: 04040513 addi a0,s0,64
|
||
6bd2: dc1c sw a5,56(s0)
|
||
6bd4: 93bff0ef jal ra,650e <tcp_parseopt.isra.0>
|
||
6bd8: 481c lw a5,16(s0)
|
||
6bda: 471d li a4,7
|
||
6bdc: 17f9 addi a5,a5,-2
|
||
6bde: f6f76ee3 bltu a4,a5,6b5a <tcp_input+0x5a6>
|
||
6be2: 6725 lui a4,0x9
|
||
6be4: 078a slli a5,a5,0x2
|
||
6be6: e6c70713 addi a4,a4,-404 # 8e6c <tcp_backoff+0x10>
|
||
6bea: 97ba add a5,a5,a4
|
||
6bec: 439c lw a5,0(a5)
|
||
6bee: 8782 jr a5
|
||
6bf0: 000cc783 lbu a5,0(s9)
|
||
6bf4: 4749 li a4,18
|
||
6bf6: 8bc9 andi a5,a5,18
|
||
6bf8: 0ce79263 bne a5,a4,6cbc <tcp_input+0x708>
|
||
6bfc: 08042783 lw a5,128(s0)
|
||
6c00: 4b98 lw a4,16(a5)
|
||
6c02: 3348 lbu a0,5(a4)
|
||
6c04: 235c lbu a5,4(a4)
|
||
6c06: 0522 slli a0,a0,0x8
|
||
6c08: 8d5d or a0,a0,a5
|
||
6c0a: 237c lbu a5,6(a4)
|
||
6c0c: 07c2 slli a5,a5,0x10
|
||
6c0e: 8fc9 or a5,a5,a0
|
||
6c10: 3368 lbu a0,7(a4)
|
||
6c12: 0562 slli a0,a0,0x18
|
||
6c14: 8d5d or a0,a0,a5
|
||
6c16: be9fc0ef jal ra,37fe <ntohl>
|
||
6c1a: 00092783 lw a5,0(s2)
|
||
6c1e: 0505 addi a0,a0,1
|
||
6c20: 08f51e63 bne a0,a5,6cbc <tcp_input+0x708>
|
||
6c24: 07645783 lhu a5,118(s0)
|
||
6c28: 000aa703 lw a4,0(s5)
|
||
6c2c: 4094 lw a3,0(s1)
|
||
6c2e: 0785 addi a5,a5,1
|
||
6c30: 06f41b23 sh a5,118(s0)
|
||
6c34: 00170793 addi a5,a4,1
|
||
6c38: c868 sw a0,84(s0)
|
||
6c3a: d41c sw a5,40(s0)
|
||
6c3c: d81c sw a5,48(s0)
|
||
6c3e: 36fc lbu a5,15(a3)
|
||
6c40: 26f0 lbu a2,14(a3)
|
||
6c42: 04045503 lhu a0,64(s0)
|
||
6c46: 07a2 slli a5,a5,0x8
|
||
6c48: 8fd1 or a5,a5,a2
|
||
6c4a: 177d addi a4,a4,-1
|
||
6c4c: 06f41223 sh a5,100(s0)
|
||
6c50: 4791 li a5,4
|
||
6c52: d438 sw a4,104(s0)
|
||
6c54: c81c sw a5,16(s0)
|
||
6c56: 00440593 addi a1,s0,4
|
||
6c5a: d5bfe0ef jal ra,59b4 <tcp_eff_send_mss>
|
||
6c5e: 47a9 li a5,10
|
||
6c60: 02f507b3 mul a5,a0,a5
|
||
6c64: 05a45703 lhu a4,90(s0)
|
||
6c68: 04a41023 sh a0,64(s0)
|
||
6c6c: 04f41e23 sh a5,92(s0)
|
||
6c70: 4785 li a5,1
|
||
6c72: 00f71563 bne a4,a5,6c7c <tcp_input+0x6c8>
|
||
6c76: 0506 slli a0,a0,0x1
|
||
6c78: 0542 slli a0,a0,0x10
|
||
6c7a: 8141 srli a0,a0,0x10
|
||
6c7c: 07845783 lhu a5,120(s0)
|
||
6c80: 04a41d23 sh a0,90(s0)
|
||
6c84: 08042503 lw a0,128(s0)
|
||
6c88: 17fd addi a5,a5,-1
|
||
6c8a: 06f41c23 sh a5,120(s0)
|
||
6c8e: 411c lw a5,0(a0)
|
||
6c90: 04040923 sb zero,82(s0)
|
||
6c94: 04042223 sw zero,68(s0)
|
||
6c98: 08f42023 sw a5,128(s0)
|
||
6c9c: 0017b793 seqz a5,a5
|
||
6ca0: 40f007b3 neg a5,a5
|
||
6ca4: bc7e sh a5,62(s0)
|
||
6ca6: d34fe0ef jal ra,51da <tcp_seg_free>
|
||
6caa: 09442783 lw a5,148(s0)
|
||
6cae: f00782e3 beqz a5,6bb2 <tcp_input+0x5fe>
|
||
6cb2: 4c08 lw a0,24(s0)
|
||
6cb4: 4601 li a2,0
|
||
6cb6: 85a2 mv a1,s0
|
||
6cb8: 9782 jalr a5
|
||
6cba: bde5 j 6bb2 <tcp_input+0x5fe>
|
||
6cbc: 000cc783 lbu a5,0(s9)
|
||
6cc0: 8bc1 andi a5,a5,16
|
||
6cc2: e8078ce3 beqz a5,6b5a <tcp_input+0x5a6>
|
||
6cc6: 4094 lw a3,0(s1)
|
||
6cc8: 000c5503 lhu a0,0(s8)
|
||
6ccc: 000aa583 lw a1,0(s5)
|
||
6cd0: 329c lbu a5,1(a3)
|
||
6cd2: 32b8 lbu a4,3(a3)
|
||
6cd4: 000b2603 lw a2,0(s6)
|
||
6cd8: 0006c883 lbu a7,0(a3)
|
||
6cdc: 0026c803 lbu a6,2(a3)
|
||
6ce0: 95aa add a1,a1,a0
|
||
6ce2: 00092503 lw a0,0(s2)
|
||
6ce6: 07a2 slli a5,a5,0x8
|
||
6ce8: 0722 slli a4,a4,0x8
|
||
6cea: 00c60693 addi a3,a2,12
|
||
6cee: 0117e7b3 or a5,a5,a7
|
||
6cf2: 01076733 or a4,a4,a6
|
||
6cf6: 0641 addi a2,a2,16
|
||
6cf8: 425000ef jal ra,791c <tcp_rst>
|
||
6cfc: bdb9 j 6b5a <tcp_input+0x5a6>
|
||
6cfe: 000cc783 lbu a5,0(s9)
|
||
6d02: 0107f713 andi a4,a5,16
|
||
6d06: c769 beqz a4,6dd0 <tcp_input+0x81c>
|
||
6d08: 00092503 lw a0,0(s2)
|
||
6d0c: 4878 lw a4,84(s0)
|
||
6d0e: fff50793 addi a5,a0,-1
|
||
6d12: 8f99 sub a5,a5,a4
|
||
6d14: 0807c663 bltz a5,6da0 <tcp_input+0x7ec>
|
||
6d18: 503c lw a5,96(s0)
|
||
6d1a: 40f507b3 sub a5,a0,a5
|
||
6d1e: 08f04163 bgtz a5,6da0 <tcp_input+0x7ec>
|
||
6d22: 4791 li a5,4
|
||
6d24: c81c sw a5,16(s0)
|
||
6d26: 501c lw a5,32(s0)
|
||
6d28: c78d beqz a5,6d52 <tcp_input+0x79e>
|
||
6d2a: 4c08 lw a0,24(s0)
|
||
6d2c: 4601 li a2,0
|
||
6d2e: 85a2 mv a1,s0
|
||
6d30: 9782 jalr a5
|
||
6d32: c105 beqz a0,6d52 <tcp_input+0x79e>
|
||
6d34: 4585 li a1,1
|
||
6d36: 8522 mv a0,s0
|
||
6d38: a8ffe0ef jal ra,57c6 <tcp_abandon>
|
||
6d3c: 004da503 lw a0,4(s11)
|
||
6d40: 000ba023 sw zero,0(s7)
|
||
6d44: 8c0508e3 beqz a0,6614 <tcp_input+0x60>
|
||
6d48: e67fd0ef jal ra,4bae <pbuf_free>
|
||
6d4c: 000da223 sw zero,4(s11)
|
||
6d50: b0d1 j 6614 <tcp_input+0x60>
|
||
6d52: 8522 mv a0,s0
|
||
6d54: 05a45483 lhu s1,90(s0)
|
||
6d58: e73fe0ef jal ra,5bca <tcp_receive>
|
||
6d5c: 07445783 lhu a5,116(s0)
|
||
6d60: c781 beqz a5,6d68 <tcp_input+0x7b4>
|
||
6d62: 17fd addi a5,a5,-1
|
||
6d64: 06f41a23 sh a5,116(s0)
|
||
6d68: 4705 li a4,1
|
||
6d6a: 04045783 lhu a5,64(s0)
|
||
6d6e: 00e49563 bne s1,a4,6d78 <tcp_input+0x7c4>
|
||
6d72: 0786 slli a5,a5,0x1
|
||
6d74: 07c2 slli a5,a5,0x10
|
||
6d76: 83c1 srli a5,a5,0x10
|
||
6d78: 04f41d23 sh a5,90(s0)
|
||
6d7c: 000a4783 lbu a5,0(s4)
|
||
6d80: 0207f793 andi a5,a5,32
|
||
6d84: dc078be3 beqz a5,6b5a <tcp_input+0x5a6>
|
||
6d88: 02644783 lbu a5,38(s0)
|
||
6d8c: 8522 mv a0,s0
|
||
6d8e: 0027e793 ori a5,a5,2
|
||
6d92: 02f40323 sb a5,38(s0)
|
||
6d96: 01f000ef jal ra,75b4 <tcp_output>
|
||
6d9a: 479d li a5,7
|
||
6d9c: c81c sw a5,16(s0)
|
||
6d9e: bb75 j 6b5a <tcp_input+0x5a6>
|
||
6da0: 4094 lw a3,0(s1)
|
||
6da2: 000b2603 lw a2,0(s6)
|
||
6da6: 000c5803 lhu a6,0(s8)
|
||
6daa: 329c lbu a5,1(a3)
|
||
6dac: 32b8 lbu a4,3(a3)
|
||
6dae: 0006c303 lbu t1,0(a3)
|
||
6db2: 0026c883 lbu a7,2(a3)
|
||
6db6: 000aa583 lw a1,0(s5)
|
||
6dba: 07a2 slli a5,a5,0x8
|
||
6dbc: 0722 slli a4,a4,0x8
|
||
6dbe: 00c60693 addi a3,a2,12
|
||
6dc2: 0067e7b3 or a5,a5,t1
|
||
6dc6: 01176733 or a4,a4,a7
|
||
6dca: 0641 addi a2,a2,16
|
||
6dcc: 95c2 add a1,a1,a6
|
||
6dce: b72d j 6cf8 <tcp_input+0x744>
|
||
6dd0: 8b89 andi a5,a5,2
|
||
6dd2: d80784e3 beqz a5,6b5a <tcp_input+0x5a6>
|
||
6dd6: 541c lw a5,40(s0)
|
||
6dd8: 000aa703 lw a4,0(s5)
|
||
6ddc: 17fd addi a5,a5,-1
|
||
6dde: d6e79ee3 bne a5,a4,6b5a <tcp_input+0x5a6>
|
||
6de2: 8522 mv a0,s0
|
||
6de4: 477000ef jal ra,7a5a <tcp_rexmit>
|
||
6de8: bb8d j 6b5a <tcp_input+0x5a6>
|
||
6dea: 8522 mv a0,s0
|
||
6dec: ddffe0ef jal ra,5bca <tcp_receive>
|
||
6df0: b771 j 6d7c <tcp_input+0x7c8>
|
||
6df2: 8522 mv a0,s0
|
||
6df4: dd7fe0ef jal ra,5bca <tcp_receive>
|
||
6df8: 000a4783 lbu a5,0(s4)
|
||
6dfc: 0207f793 andi a5,a5,32
|
||
6e00: c3c1 beqz a5,6e80 <tcp_input+0x8cc>
|
||
6e02: 000cc703 lbu a4,0(s9)
|
||
6e06: 02644783 lbu a5,38(s0)
|
||
6e0a: 8b41 andi a4,a4,16
|
||
6e0c: 0027e793 ori a5,a5,2
|
||
6e10: c32d beqz a4,6e72 <tcp_input+0x8be>
|
||
6e12: 5034 lw a3,96(s0)
|
||
6e14: 00092703 lw a4,0(s2)
|
||
6e18: 04e69d63 bne a3,a4,6e72 <tcp_input+0x8be>
|
||
6e1c: 02f40323 sb a5,38(s0)
|
||
6e20: 8522 mv a0,s0
|
||
6e22: 792000ef jal ra,75b4 <tcp_output>
|
||
6e26: 8522 mv a0,s0
|
||
6e28: c42fe0ef jal ra,526a <tcp_pcb_purge>
|
||
6e2c: 9081a783 lw a5,-1784(gp) # 20000128 <tcp_active_pcbs>
|
||
6e30: 00f41d63 bne s0,a5,6e4a <tcp_input+0x896>
|
||
6e34: 445c lw a5,12(s0)
|
||
6e36: 90f1a423 sw a5,-1784(gp) # 20000128 <tcp_active_pcbs>
|
||
6e3a: 47a9 li a5,10
|
||
6e3c: c81c sw a5,16(s0)
|
||
6e3e: 9201a703 lw a4,-1760(gp) # 20000140 <tcp_tw_pcbs>
|
||
6e42: 9281a023 sw s0,-1760(gp) # 20000140 <tcp_tw_pcbs>
|
||
6e46: c458 sw a4,12(s0)
|
||
6e48: bb09 j 6b5a <tcp_input+0x5a6>
|
||
6e4a: 90f1ae23 sw a5,-1764(gp) # 2000013c <tcp_tmp_pcb>
|
||
6e4e: 4681 li a3,0
|
||
6e50: e789 bnez a5,6e5a <tcp_input+0x8a6>
|
||
6e52: d6e5 beqz a3,6e3a <tcp_input+0x886>
|
||
6e54: 9001ae23 sw zero,-1764(gp) # 2000013c <tcp_tmp_pcb>
|
||
6e58: b7cd j 6e3a <tcp_input+0x886>
|
||
6e5a: 47d0 lw a2,12(a5)
|
||
6e5c: 00c41863 bne s0,a2,6e6c <tcp_input+0x8b8>
|
||
6e60: c299 beqz a3,6e66 <tcp_input+0x8b2>
|
||
6e62: 90f1ae23 sw a5,-1764(gp) # 2000013c <tcp_tmp_pcb>
|
||
6e66: 4458 lw a4,12(s0)
|
||
6e68: c7d8 sw a4,12(a5)
|
||
6e6a: bfc1 j 6e3a <tcp_input+0x886>
|
||
6e6c: 4685 li a3,1
|
||
6e6e: 87b2 mv a5,a2
|
||
6e70: b7c5 j 6e50 <tcp_input+0x89c>
|
||
6e72: 02f40323 sb a5,38(s0)
|
||
6e76: 8522 mv a0,s0
|
||
6e78: 73c000ef jal ra,75b4 <tcp_output>
|
||
6e7c: 47a1 li a5,8
|
||
6e7e: bf39 j 6d9c <tcp_input+0x7e8>
|
||
6e80: 000cc783 lbu a5,0(s9)
|
||
6e84: 8bc1 andi a5,a5,16
|
||
6e86: cc078ae3 beqz a5,6b5a <tcp_input+0x5a6>
|
||
6e8a: 5038 lw a4,96(s0)
|
||
6e8c: 00092783 lw a5,0(s2)
|
||
6e90: ccf715e3 bne a4,a5,6b5a <tcp_input+0x5a6>
|
||
6e94: 4799 li a5,6
|
||
6e96: b719 j 6d9c <tcp_input+0x7e8>
|
||
6e98: 8522 mv a0,s0
|
||
6e9a: d31fe0ef jal ra,5bca <tcp_receive>
|
||
6e9e: 000a4783 lbu a5,0(s4)
|
||
6ea2: 0207f793 andi a5,a5,32
|
||
6ea6: ca078ae3 beqz a5,6b5a <tcp_input+0x5a6>
|
||
6eaa: 02644783 lbu a5,38(s0)
|
||
6eae: 8522 mv a0,s0
|
||
6eb0: 0027e793 ori a5,a5,2
|
||
6eb4: 02f40323 sb a5,38(s0)
|
||
6eb8: 6fc000ef jal ra,75b4 <tcp_output>
|
||
6ebc: 8522 mv a0,s0
|
||
6ebe: bacfe0ef jal ra,526a <tcp_pcb_purge>
|
||
6ec2: 9081a783 lw a5,-1784(gp) # 20000128 <tcp_active_pcbs>
|
||
6ec6: f6f407e3 beq s0,a5,6e34 <tcp_input+0x880>
|
||
6eca: 90f1ae23 sw a5,-1764(gp) # 2000013c <tcp_tmp_pcb>
|
||
6ece: 4681 li a3,0
|
||
6ed0: d3c9 beqz a5,6e52 <tcp_input+0x89e>
|
||
6ed2: 47d0 lw a2,12(a5)
|
||
6ed4: f8c406e3 beq s0,a2,6e60 <tcp_input+0x8ac>
|
||
6ed8: 4685 li a3,1
|
||
6eda: 87b2 mv a5,a2
|
||
6edc: bfd5 j 6ed0 <tcp_input+0x91c>
|
||
6ede: 8522 mv a0,s0
|
||
6ee0: cebfe0ef jal ra,5bca <tcp_receive>
|
||
6ee4: 000cc783 lbu a5,0(s9)
|
||
6ee8: 8bc1 andi a5,a5,16
|
||
6eea: c60788e3 beqz a5,6b5a <tcp_input+0x5a6>
|
||
6eee: 5038 lw a4,96(s0)
|
||
6ef0: 00092783 lw a5,0(s2)
|
||
6ef4: c6f713e3 bne a4,a5,6b5a <tcp_input+0x5a6>
|
||
6ef8: 8522 mv a0,s0
|
||
6efa: b70fe0ef jal ra,526a <tcp_pcb_purge>
|
||
6efe: 9081a783 lw a5,-1784(gp) # 20000128 <tcp_active_pcbs>
|
||
6f02: f2f409e3 beq s0,a5,6e34 <tcp_input+0x880>
|
||
6f06: 90f1ae23 sw a5,-1764(gp) # 2000013c <tcp_tmp_pcb>
|
||
6f0a: 4681 li a3,0
|
||
6f0c: d3b9 beqz a5,6e52 <tcp_input+0x89e>
|
||
6f0e: 47d0 lw a2,12(a5)
|
||
6f10: f4c408e3 beq s0,a2,6e60 <tcp_input+0x8ac>
|
||
6f14: 4685 li a3,1
|
||
6f16: 87b2 mv a5,a2
|
||
6f18: bfd5 j 6f0c <tcp_input+0x958>
|
||
6f1a: 8522 mv a0,s0
|
||
6f1c: caffe0ef jal ra,5bca <tcp_receive>
|
||
6f20: 000cc783 lbu a5,0(s9)
|
||
6f24: 8bc1 andi a5,a5,16
|
||
6f26: c2078ae3 beqz a5,6b5a <tcp_input+0x5a6>
|
||
6f2a: 5038 lw a4,96(s0)
|
||
6f2c: 00092783 lw a5,0(s2)
|
||
6f30: c2f715e3 bne a4,a5,6b5a <tcp_input+0x5a6>
|
||
6f34: 000a4783 lbu a5,0(s4)
|
||
6f38: 0107e793 ori a5,a5,16
|
||
6f3c: 00fa0023 sb a5,0(s4)
|
||
6f40: b929 j 6b5a <tcp_input+0x5a6>
|
||
6f42: 8bc1 andi a5,a5,16
|
||
6f44: c785 beqz a5,6f6c <tcp_input+0x9b8>
|
||
6f46: 8522 mv a0,s0
|
||
6f48: ca3fb0ef jal ra,2bea <LwipRemoveTcpPcb>
|
||
6f4c: 85a2 mv a1,s0
|
||
6f4e: 90818513 addi a0,gp,-1784 # 20000128 <tcp_active_pcbs>
|
||
6f52: e20fe0ef jal ra,5572 <tcp_pcb_remove>
|
||
6f56: 4509 li a0,2
|
||
6f58: 85a2 mv a1,s0
|
||
6f5a: a83fd0ef jal ra,49dc <memp_free>
|
||
6f5e: 000d2503 lw a0,0(s10)
|
||
6f62: dc050de3 beqz a0,6d3c <tcp_input+0x788>
|
||
6f66: c49fd0ef jal ra,4bae <pbuf_free>
|
||
6f6a: bbc9 j 6d3c <tcp_input+0x788>
|
||
6f6c: 07445603 lhu a2,116(s0)
|
||
6f70: c619 beqz a2,6f7e <tcp_input+0x9ca>
|
||
6f72: 08c42783 lw a5,140(s0)
|
||
6f76: c781 beqz a5,6f7e <tcp_input+0x9ca>
|
||
6f78: 4c08 lw a0,24(s0)
|
||
6f7a: 85a2 mv a1,s0
|
||
6f7c: 9782 jalr a5
|
||
6f7e: 000d2603 lw a2,0(s10)
|
||
6f82: c60d beqz a2,6fac <tcp_input+0x9f8>
|
||
6f84: 000cc783 lbu a5,0(s9)
|
||
6f88: 8ba1 andi a5,a5,8
|
||
6f8a: c789 beqz a5,6f94 <tcp_input+0x9e0>
|
||
6f8c: 365c lbu a5,13(a2)
|
||
6f8e: 0017e793 ori a5,a5,1
|
||
6f92: b65c sb a5,13(a2)
|
||
6f94: 09042783 lw a5,144(s0)
|
||
6f98: 4681 li a3,0
|
||
6f9a: 85a2 mv a1,s0
|
||
6f9c: cb9d beqz a5,6fd2 <tcp_input+0xa1e>
|
||
6f9e: 4c08 lw a0,24(s0)
|
||
6fa0: 9782 jalr a5
|
||
6fa2: c509 beqz a0,6fac <tcp_input+0x9f8>
|
||
6fa4: 000d2783 lw a5,0(s10)
|
||
6fa8: 08f42423 sw a5,136(s0)
|
||
6fac: 000a4783 lbu a5,0(s4)
|
||
6fb0: 0207f793 andi a5,a5,32
|
||
6fb4: cb89 beqz a5,6fc6 <tcp_input+0xa12>
|
||
6fb6: 09042783 lw a5,144(s0)
|
||
6fba: 4681 li a3,0
|
||
6fbc: 4601 li a2,0
|
||
6fbe: 85a2 mv a1,s0
|
||
6fc0: cf89 beqz a5,6fda <tcp_input+0xa26>
|
||
6fc2: 4c08 lw a0,24(s0)
|
||
6fc4: 9782 jalr a5
|
||
6fc6: 8522 mv a0,s0
|
||
6fc8: 000ba023 sw zero,0(s7)
|
||
6fcc: 5e8000ef jal ra,75b4 <tcp_output>
|
||
6fd0: b3b5 j 6d3c <tcp_input+0x788>
|
||
6fd2: 4501 li a0,0
|
||
6fd4: ec2fe0ef jal ra,5696 <tcp_recv_null>
|
||
6fd8: b7e9 j 6fa2 <tcp_input+0x9ee>
|
||
6fda: 4501 li a0,0
|
||
6fdc: ebafe0ef jal ra,5696 <tcp_recv_null>
|
||
6fe0: b7dd j 6fc6 <tcp_input+0xa12>
|
||
|
||
00006fe2 <tcp_output_set_header.isra.0.constprop.1>:
|
||
tcp_output_set_header.isra.0.constprop.1():
|
||
6fe2: a0ef92ef jal t0,1f0 <__riscv_save_0>
|
||
6fe6: 892a mv s2,a0
|
||
6fe8: 2d4a lhu a0,28(a0)
|
||
6fea: 1141 addi sp,sp,-16
|
||
6fec: 842e mv s0,a1
|
||
6fee: c632 sw a2,12(sp)
|
||
6ff0: fcefc0ef jal ra,37be <htons>
|
||
6ff4: a008 sb a0,0(s0)
|
||
6ff6: 8121 srli a0,a0,0x8
|
||
6ff8: b008 sb a0,1(s0)
|
||
6ffa: 02495503 lhu a0,36(s2)
|
||
6ffe: fc0fc0ef jal ra,37be <htons>
|
||
7002: 4632 lw a2,12(sp)
|
||
7004: a028 sb a0,2(s0)
|
||
7006: 8121 srli a0,a0,0x8
|
||
7008: b028 sb a0,3(s0)
|
||
700a: 00865793 srli a5,a2,0x8
|
||
700e: 02892503 lw a0,40(s2)
|
||
7012: a050 sb a2,4(s0)
|
||
7014: b05c sb a5,5(s0)
|
||
7016: 01065793 srli a5,a2,0x10
|
||
701a: 8261 srli a2,a2,0x18
|
||
701c: b070 sb a2,7(s0)
|
||
701e: a07c sb a5,6(s0)
|
||
7020: fbafc0ef jal ra,37da <htonl>
|
||
7024: 00855793 srli a5,a0,0x8
|
||
7028: a408 sb a0,8(s0)
|
||
702a: b41c sb a5,9(s0)
|
||
702c: 3444 lbu s1,13(s0)
|
||
702e: 01055793 srli a5,a0,0x10
|
||
7032: 8161 srli a0,a0,0x18
|
||
7034: b428 sb a0,11(s0)
|
||
7036: 2448 lbu a0,12(s0)
|
||
7038: 04a2 slli s1,s1,0x8
|
||
703a: a43c sb a5,10(s0)
|
||
703c: 8cc9 or s1,s1,a0
|
||
703e: 6541 lui a0,0x10
|
||
7040: fc050513 addi a0,a0,-64 # ffc0 <_data_lma+0x712c>
|
||
7044: f7afc0ef jal ra,37be <htons>
|
||
7048: 8ce9 and s1,s1,a0
|
||
704a: 4541 li a0,16
|
||
704c: f72fc0ef jal ra,37be <htons>
|
||
7050: 8d45 or a0,a0,s1
|
||
7052: 0542 slli a0,a0,0x10
|
||
7054: 8141 srli a0,a0,0x10
|
||
7056: a448 sb a0,12(s0)
|
||
7058: 8121 srli a0,a0,0x8
|
||
705a: b448 sb a0,13(s0)
|
||
705c: 02e95503 lhu a0,46(s2)
|
||
7060: f5efc0ef jal ra,37be <htons>
|
||
7064: 02e95783 lhu a5,46(s2)
|
||
7068: a468 sb a0,14(s0)
|
||
706a: 8121 srli a0,a0,0x8
|
||
706c: b468 sb a0,15(s0)
|
||
706e: 02f91b23 sh a5,54(s2)
|
||
7072: 345c lbu a5,13(s0)
|
||
7074: 2448 lbu a0,12(s0)
|
||
7076: 00040923 sb zero,18(s0)
|
||
707a: 07a2 slli a5,a5,0x8
|
||
707c: 000409a3 sb zero,19(s0)
|
||
7080: 8d5d or a0,a0,a5
|
||
7082: f4afc0ef jal ra,37cc <ntohs>
|
||
7086: 6795 lui a5,0x5
|
||
7088: 03f57513 andi a0,a0,63
|
||
708c: 8d5d or a0,a0,a5
|
||
708e: f30fc0ef jal ra,37be <htons>
|
||
7092: 02e95703 lhu a4,46(s2)
|
||
7096: 02892783 lw a5,40(s2)
|
||
709a: a448 sb a0,12(s0)
|
||
709c: 8121 srli a0,a0,0x8
|
||
709e: b448 sb a0,13(s0)
|
||
70a0: 00040823 sb zero,16(s0)
|
||
70a4: 000408a3 sb zero,17(s0)
|
||
70a8: 97ba add a5,a5,a4
|
||
70aa: 02f92823 sw a5,48(s2)
|
||
70ae: 8522 mv a0,s0
|
||
70b0: 0141 addi sp,sp,16
|
||
70b2: 962f906f j 214 <__riscv_restore_0>
|
||
|
||
000070b6 <tcp_enqueue>:
|
||
tcp_enqueue():
|
||
70b6: 90af92ef jal t0,1c0 <__riscv_save_12>
|
||
70ba: 7179 addi sp,sp,-48
|
||
70bc: c62e sw a1,12(sp)
|
||
70be: ca3a sw a4,20(sp)
|
||
70c0: 892a mv s2,a0
|
||
70c2: 8ab2 mv s5,a2
|
||
70c4: 8b36 mv s6,a3
|
||
70c6: 8dbe mv s11,a5
|
||
70c8: ee01 bnez a2,70e0 <tcp_enqueue+0x2a>
|
||
70ca: 0036f793 andi a5,a3,3
|
||
70ce: 00fde7b3 or a5,s11,a5
|
||
70d2: 5a59 li s4,-10
|
||
70d4: c391 beqz a5,70d8 <tcp_enqueue+0x22>
|
||
70d6: c18d beqz a1,70f8 <tcp_enqueue+0x42>
|
||
70d8: 8552 mv a0,s4
|
||
70da: 6145 addi sp,sp,48
|
||
70dc: 920f906f j 1fc <__riscv_restore_12>
|
||
70e0: 07655783 lhu a5,118(a0)
|
||
70e4: 00c7fa63 bgeu a5,a2,70f8 <tcp_enqueue+0x42>
|
||
70e8: 02694783 lbu a5,38(s2)
|
||
70ec: 5a7d li s4,-1
|
||
70ee: f807e793 ori a5,a5,-128
|
||
70f2: 02f90323 sb a5,38(s2)
|
||
70f6: b7cd j 70d8 <tcp_enqueue+0x22>
|
||
70f8: 002d9793 slli a5,s11,0x2
|
||
70fc: 002df713 andi a4,s11,2
|
||
7100: 8b91 andi a5,a5,4
|
||
7102: 46b1 li a3,12
|
||
7104: e311 bnez a4,7108 <tcp_enqueue+0x52>
|
||
7106: 4681 li a3,0
|
||
7108: 97b6 add a5,a5,a3
|
||
710a: c23e sw a5,4(sp)
|
||
710c: 07092783 lw a5,112(s2)
|
||
7110: 20008d37 lui s10,0x20008
|
||
7114: 83cd0713 addi a4,s10,-1988 # 2000783c <WCHCfg>
|
||
7118: c43e sw a5,8(sp)
|
||
711a: 471c lw a5,8(a4)
|
||
711c: 4358 lw a4,4(a4)
|
||
711e: 07895483 lhu s1,120(s2)
|
||
7122: 078a slli a5,a5,0x2
|
||
7124: 02e7d7b3 divu a5,a5,a4
|
||
7128: 83cd0d13 addi s10,s10,-1988
|
||
712c: faf4fee3 bgeu s1,a5,70e8 <tcp_enqueue+0x32>
|
||
7130: 6741 lui a4,0x10
|
||
7132: ffc70693 addi a3,a4,-4 # fffc <_data_lma+0x7168>
|
||
7136: fa96e9e3 bltu a3,s1,70e8 <tcp_enqueue+0x32>
|
||
713a: 4792 lw a5,4(sp)
|
||
713c: 8230 lhu a2,4(sp)
|
||
713e: fc070713 addi a4,a4,-64
|
||
7142: 8389 srli a5,a5,0x2
|
||
7144: 0ff7f793 andi a5,a5,255
|
||
7148: 0795 addi a5,a5,5
|
||
714a: c832 sw a2,16(sp)
|
||
714c: 4652 lw a2,20(sp)
|
||
714e: 07b2 slli a5,a5,0xc
|
||
7150: 07c2 slli a5,a5,0x10
|
||
7152: d23a sw a4,36(sp)
|
||
7154: 4cb2 lw s9,12(sp)
|
||
7156: 010b1713 slli a4,s6,0x10
|
||
715a: 83c1 srli a5,a5,0x10
|
||
715c: 8a05 andi a2,a2,1
|
||
715e: 8341 srli a4,a4,0x10
|
||
7160: cc3e sw a5,24(sp)
|
||
7162: 8bd6 mv s7,s5
|
||
7164: 4981 li s3,0
|
||
7166: 4781 li a5,0
|
||
7168: ce32 sw a2,28(sp)
|
||
716a: d036 sw a3,32(sp)
|
||
716c: d43a sw a4,40(sp)
|
||
716e: 04095a03 lhu s4,64(s2)
|
||
7172: 4712 lw a4,4(sp)
|
||
7174: 40ea0a33 sub s4,s4,a4
|
||
7178: 014bd363 bge s7,s4,717e <tcp_enqueue+0xc8>
|
||
717c: 8a5e mv s4,s7
|
||
717e: 4511 li a0,4
|
||
7180: d63e sw a5,44(sp)
|
||
7182: 010a1c13 slli s8,s4,0x10
|
||
7186: 837fd0ef jal ra,49bc <memp_malloc>
|
||
718a: 010c5c13 srli s8,s8,0x10
|
||
718e: 842a mv s0,a0
|
||
7190: 18050663 beqz a0,731c <tcp_enqueue+0x266>
|
||
7194: 00052023 sw zero,0(a0)
|
||
7198: 00052223 sw zero,4(a0)
|
||
719c: 14098463 beqz s3,72e4 <tcp_enqueue+0x22e>
|
||
71a0: 57b2 lw a5,44(sp)
|
||
71a2: c388 sw a0,0(a5)
|
||
71a4: 47f2 lw a5,28(sp)
|
||
71a6: 14078163 beqz a5,72e8 <tcp_enqueue+0x232>
|
||
71aa: 47c2 lw a5,16(sp)
|
||
71ac: 4601 li a2,0
|
||
71ae: 4501 li a0,0
|
||
71b0: 00fc05b3 add a1,s8,a5
|
||
71b4: 05c2 slli a1,a1,0x10
|
||
71b6: 81c1 srli a1,a1,0x10
|
||
71b8: a45fd0ef jal ra,4bfc <pbuf_alloc>
|
||
71bc: c048 sw a0,4(s0)
|
||
71be: 14050f63 beqz a0,731c <tcp_enqueue+0x266>
|
||
71c2: bd3fd0ef jal ra,4d94 <pbuf_clen>
|
||
71c6: 47b2 lw a5,12(sp)
|
||
71c8: 94aa add s1,s1,a0
|
||
71ca: 04c2 slli s1,s1,0x10
|
||
71cc: 80c1 srli s1,s1,0x10
|
||
71ce: cf81 beqz a5,71e6 <tcp_enqueue+0x130>
|
||
71d0: 405c lw a5,4(s0)
|
||
71d2: 85e6 mv a1,s9
|
||
71d4: 43c8 lw a0,4(a5)
|
||
71d6: 67c1 lui a5,0x10
|
||
71d8: 17fd addi a5,a5,-1
|
||
71da: 00fa7633 and a2,s4,a5
|
||
71de: 4792 lw a5,4(sp)
|
||
71e0: 953e add a0,a0,a5
|
||
71e2: 1d5010ef jal ra,8bb6 <memcpy>
|
||
71e6: 405c lw a5,4(s0)
|
||
71e8: 43dc lw a5,4(a5)
|
||
71ea: c41c sw a5,8(s0)
|
||
71ec: 008d2783 lw a5,8(s10)
|
||
71f0: 004d2703 lw a4,4(s10)
|
||
71f4: 078a slli a5,a5,0x2
|
||
71f6: 02e7d7b3 divu a5,a5,a4
|
||
71fa: 1297e163 bltu a5,s1,731c <tcp_enqueue+0x266>
|
||
71fe: 5782 lw a5,32(sp)
|
||
7200: 1097ee63 bltu a5,s1,731c <tcp_enqueue+0x266>
|
||
7204: 4048 lw a0,4(s0)
|
||
7206: 01841623 sh s8,12(s0)
|
||
720a: 45d1 li a1,20
|
||
720c: 935fd0ef jal ra,4b40 <pbuf_header>
|
||
7210: 10051663 bnez a0,731c <tcp_enqueue+0x266>
|
||
7214: 405c lw a5,4(s0)
|
||
7216: 01c95503 lhu a0,28(s2)
|
||
721a: 418b8bb3 sub s7,s7,s8
|
||
721e: 43dc lw a5,4(a5)
|
||
7220: 0bc2 slli s7,s7,0x10
|
||
7222: 010bdb93 srli s7,s7,0x10
|
||
7226: c81c sw a5,16(s0)
|
||
7228: d63e sw a5,44(sp)
|
||
722a: d94fc0ef jal ra,37be <htons>
|
||
722e: 57b2 lw a5,44(sp)
|
||
7230: a388 sb a0,0(a5)
|
||
7232: 8121 srli a0,a0,0x8
|
||
7234: b388 sb a0,1(a5)
|
||
7236: 481c lw a5,16(s0)
|
||
7238: 02495503 lhu a0,36(s2)
|
||
723c: d63e sw a5,44(sp)
|
||
723e: d80fc0ef jal ra,37be <htons>
|
||
7242: 57b2 lw a5,44(sp)
|
||
7244: a3a8 sb a0,2(a5)
|
||
7246: 8121 srli a0,a0,0x8
|
||
7248: b3a8 sb a0,3(a5)
|
||
724a: 481c lw a5,16(s0)
|
||
724c: 4522 lw a0,8(sp)
|
||
724e: d63e sw a5,44(sp)
|
||
7250: d8afc0ef jal ra,37da <htonl>
|
||
7254: 57b2 lw a5,44(sp)
|
||
7256: 00855713 srli a4,a0,0x8
|
||
725a: b3d8 sb a4,5(a5)
|
||
725c: 01055713 srli a4,a0,0x10
|
||
7260: a3f8 sb a4,6(a5)
|
||
7262: 4818 lw a4,16(s0)
|
||
7264: a3c8 sb a0,4(a5)
|
||
7266: 8161 srli a0,a0,0x18
|
||
7268: b3e8 sb a0,7(a5)
|
||
726a: 375c lbu a5,13(a4)
|
||
726c: 2748 lbu a0,12(a4)
|
||
726e: 00070923 sb zero,18(a4)
|
||
7272: 07a2 slli a5,a5,0x8
|
||
7274: 8fc9 or a5,a5,a0
|
||
7276: 5512 lw a0,36(sp)
|
||
7278: 000709a3 sb zero,19(a4)
|
||
727c: d63e sw a5,44(sp)
|
||
727e: d40fc0ef jal ra,37be <htons>
|
||
7282: 57b2 lw a5,44(sp)
|
||
7284: 8fe9 and a5,a5,a0
|
||
7286: 5522 lw a0,40(sp)
|
||
7288: d63e sw a5,44(sp)
|
||
728a: d34fc0ef jal ra,37be <htons>
|
||
728e: 57b2 lw a5,44(sp)
|
||
7290: 8d5d or a0,a0,a5
|
||
7292: 0542 slli a0,a0,0x10
|
||
7294: 481c lw a5,16(s0)
|
||
7296: 8141 srli a0,a0,0x10
|
||
7298: 00855713 srli a4,a0,0x8
|
||
729c: b7d8 sb a4,13(a5)
|
||
729e: a7c8 sb a0,12(a5)
|
||
72a0: 01b40723 sb s11,14(s0)
|
||
72a4: d28fc0ef jal ra,37cc <ntohs>
|
||
72a8: 481c lw a5,16(s0)
|
||
72aa: 03f57513 andi a0,a0,63
|
||
72ae: d63e sw a5,44(sp)
|
||
72b0: 47e2 lw a5,24(sp)
|
||
72b2: 8d5d or a0,a0,a5
|
||
72b4: d0afc0ef jal ra,37be <htons>
|
||
72b8: 57b2 lw a5,44(sp)
|
||
72ba: a7c8 sb a0,12(a5)
|
||
72bc: 8121 srli a0,a0,0x8
|
||
72be: b7c8 sb a0,13(a5)
|
||
72c0: 67c1 lui a5,0x10
|
||
72c2: 17fd addi a5,a5,-1
|
||
72c4: 00fa7a33 and s4,s4,a5
|
||
72c8: 47a2 lw a5,8(sp)
|
||
72ca: 9cd2 add s9,s9,s4
|
||
72cc: 97d2 add a5,a5,s4
|
||
72ce: c43e sw a5,8(sp)
|
||
72d0: 87a2 mv a5,s0
|
||
72d2: e80b9ee3 bnez s7,716e <tcp_enqueue+0xb8>
|
||
72d6: 07c92a03 lw s4,124(s2)
|
||
72da: 060a1963 bnez s4,734c <tcp_enqueue+0x296>
|
||
72de: 07392e23 sw s3,124(s2)
|
||
72e2: a251 j 7466 <tcp_enqueue+0x3b0>
|
||
72e4: 89aa mv s3,a0
|
||
72e6: bd7d j 71a4 <tcp_enqueue+0xee>
|
||
72e8: 45c2 lw a1,16(sp)
|
||
72ea: 4601 li a2,0
|
||
72ec: 4501 li a0,0
|
||
72ee: 90ffd0ef jal ra,4bfc <pbuf_alloc>
|
||
72f2: c048 sw a0,4(s0)
|
||
72f4: c505 beqz a0,731c <tcp_enqueue+0x266>
|
||
72f6: a9ffd0ef jal ra,4d94 <pbuf_clen>
|
||
72fa: 94aa add s1,s1,a0
|
||
72fc: 04c2 slli s1,s1,0x10
|
||
72fe: 80c1 srli s1,s1,0x10
|
||
7300: ee0b86e3 beqz s7,71ec <tcp_enqueue+0x136>
|
||
7304: 85e2 mv a1,s8
|
||
7306: 4605 li a2,1
|
||
7308: 450d li a0,3
|
||
730a: 8f3fd0ef jal ra,4bfc <pbuf_alloc>
|
||
730e: 85aa mv a1,a0
|
||
7310: 4048 lw a0,4(s0)
|
||
7312: e195 bnez a1,7336 <tcp_enqueue+0x280>
|
||
7314: 89bfd0ef jal ra,4bae <pbuf_free>
|
||
7318: 00042223 sw zero,4(s0)
|
||
731c: 02694783 lbu a5,38(s2)
|
||
7320: 5a7d li s4,-1
|
||
7322: f807e793 ori a5,a5,-128
|
||
7326: 02f90323 sb a5,38(s2)
|
||
732a: da0987e3 beqz s3,70d8 <tcp_enqueue+0x22>
|
||
732e: 854e mv a0,s3
|
||
7330: ed5fd0ef jal ra,5204 <tcp_segs_free>
|
||
7334: b355 j 70d8 <tcp_enqueue+0x22>
|
||
7336: 0195a223 sw s9,4(a1)
|
||
733a: 0485 addi s1,s1,1
|
||
733c: 04c2 slli s1,s1,0x10
|
||
733e: 01942423 sw s9,8(s0)
|
||
7342: 80c1 srli s1,s1,0x10
|
||
7344: a6dfd0ef jal ra,4db0 <pbuf_cat>
|
||
7348: b555 j 71ec <tcp_enqueue+0x136>
|
||
734a: 8a3e mv s4,a5
|
||
734c: 000a2783 lw a5,0(s4)
|
||
7350: ffed bnez a5,734a <tcp_enqueue+0x294>
|
||
7352: 010a2783 lw a5,16(s4)
|
||
7356: 00ca5b83 lhu s7,12(s4)
|
||
735a: 27c8 lbu a0,12(a5)
|
||
735c: 37dc lbu a5,13(a5)
|
||
735e: 07a2 slli a5,a5,0x8
|
||
7360: 8d5d or a0,a0,a5
|
||
7362: c6afc0ef jal ra,37cc <ntohs>
|
||
7366: 890d andi a0,a0,3
|
||
7368: 00a03533 snez a0,a0
|
||
736c: 955e add a0,a0,s7
|
||
736e: 18050563 beqz a0,74f8 <tcp_enqueue+0x442>
|
||
7372: 010a2783 lw a5,16(s4)
|
||
7376: 27c8 lbu a0,12(a5)
|
||
7378: 37dc lbu a5,13(a5)
|
||
737a: 07a2 slli a5,a5,0x8
|
||
737c: 8d5d or a0,a0,a5
|
||
737e: c4efc0ef jal ra,37cc <ntohs>
|
||
7382: 890d andi a0,a0,3
|
||
7384: 16051a63 bnez a0,74f8 <tcp_enqueue+0x442>
|
||
7388: 003b7793 andi a5,s6,3
|
||
738c: c781 beqz a5,7394 <tcp_enqueue+0x2de>
|
||
738e: 4785 li a5,1
|
||
7390: 16fb1463 bne s6,a5,74f8 <tcp_enqueue+0x442>
|
||
7394: 00c9d703 lhu a4,12(s3)
|
||
7398: 00ca5783 lhu a5,12(s4)
|
||
739c: 97ba add a5,a5,a4
|
||
739e: 04095703 lhu a4,64(s2)
|
||
73a2: 14f74b63 blt a4,a5,74f8 <tcp_enqueue+0x442>
|
||
73a6: 00ea4703 lbu a4,14(s4)
|
||
73aa: 00e9c783 lbu a5,14(s3)
|
||
73ae: 14f71563 bne a4,a5,74f8 <tcp_enqueue+0x442>
|
||
73b2: 010a2703 lw a4,16(s4)
|
||
73b6: 3348 lbu a0,5(a4)
|
||
73b8: 235c lbu a5,4(a4)
|
||
73ba: 0522 slli a0,a0,0x8
|
||
73bc: 8d5d or a0,a0,a5
|
||
73be: 237c lbu a5,6(a4)
|
||
73c0: 07c2 slli a5,a5,0x10
|
||
73c2: 8fc9 or a5,a5,a0
|
||
73c4: 3368 lbu a0,7(a4)
|
||
73c6: 0562 slli a0,a0,0x18
|
||
73c8: 8d5d or a0,a0,a5
|
||
73ca: c34fc0ef jal ra,37fe <ntohl>
|
||
73ce: 0109a703 lw a4,16(s3)
|
||
73d2: 00ca5b83 lhu s7,12(s4)
|
||
73d6: 235c lbu a5,4(a4)
|
||
73d8: 9baa add s7,s7,a0
|
||
73da: 3348 lbu a0,5(a4)
|
||
73dc: 0522 slli a0,a0,0x8
|
||
73de: 8d5d or a0,a0,a5
|
||
73e0: 237c lbu a5,6(a4)
|
||
73e2: 07c2 slli a5,a5,0x10
|
||
73e4: 8fc9 or a5,a5,a0
|
||
73e6: 3368 lbu a0,7(a4)
|
||
73e8: 0562 slli a0,a0,0x18
|
||
73ea: 8d5d or a0,a0,a5
|
||
73ec: c12fc0ef jal ra,37fe <ntohl>
|
||
73f0: 10ab9463 bne s7,a0,74f8 <tcp_enqueue+0x442>
|
||
73f4: 47c2 lw a5,16(sp)
|
||
73f6: 55b1 li a1,-20
|
||
73f8: 0049a503 lw a0,4(s3)
|
||
73fc: 8d9d sub a1,a1,a5
|
||
73fe: 05c2 slli a1,a1,0x10
|
||
7400: 85c1 srai a1,a1,0x10
|
||
7402: f3efd0ef jal ra,4b40 <pbuf_header>
|
||
7406: f0051be3 bnez a0,731c <tcp_enqueue+0x266>
|
||
740a: 0049a503 lw a0,4(s3)
|
||
740e: 253e lhu a5,10(a0)
|
||
7410: eb99 bnez a5,7426 <tcp_enqueue+0x370>
|
||
7412: 411c lw a5,0(a0)
|
||
7414: 14fd addi s1,s1,-1
|
||
7416: 04c2 slli s1,s1,0x10
|
||
7418: 00f9a223 sw a5,4(s3)
|
||
741c: 00052023 sw zero,0(a0)
|
||
7420: 80c1 srli s1,s1,0x10
|
||
7422: f8cfd0ef jal ra,4bae <pbuf_free>
|
||
7426: 001b7793 andi a5,s6,1
|
||
742a: c7cd beqz a5,74d4 <tcp_enqueue+0x41e>
|
||
742c: 010a2783 lw a5,16(s4)
|
||
7430: 00d7cb83 lbu s7,13(a5) # 1000d <_data_lma+0x7179>
|
||
7434: 27c8 lbu a0,12(a5)
|
||
7436: 0ba2 slli s7,s7,0x8
|
||
7438: 00abebb3 or s7,s7,a0
|
||
743c: 4505 li a0,1
|
||
743e: b80fc0ef jal ra,37be <htons>
|
||
7442: 010a2783 lw a5,16(s4)
|
||
7446: 00abe533 or a0,s7,a0
|
||
744a: 0542 slli a0,a0,0x10
|
||
744c: 8141 srli a0,a0,0x10
|
||
744e: a7c8 sb a0,12(a5)
|
||
7450: 8121 srli a0,a0,0x8
|
||
7452: b7c8 sb a0,13(a5)
|
||
7454: 00899563 bne s3,s0,745e <tcp_enqueue+0x3a8>
|
||
7458: 00ca5c03 lhu s8,12(s4)
|
||
745c: 8452 mv s0,s4
|
||
745e: 85ce mv a1,s3
|
||
7460: 4511 li a0,4
|
||
7462: d7afd0ef jal ra,49dc <memp_free>
|
||
7466: 003b7793 andi a5,s6,3
|
||
746a: c789 beqz a5,7474 <tcp_enqueue+0x3be>
|
||
746c: 0a85 addi s5,s5,1
|
||
746e: 0ac2 slli s5,s5,0x10
|
||
7470: 010ada93 srli s5,s5,0x10
|
||
7474: 001b7b13 andi s6,s6,1
|
||
7478: 000b0863 beqz s6,7488 <tcp_enqueue+0x3d2>
|
||
747c: 02694783 lbu a5,38(s2)
|
||
7480: 0207e793 ori a5,a5,32
|
||
7484: 02f90323 sb a5,38(s2)
|
||
7488: 07092783 lw a5,112(s2)
|
||
748c: 06991c23 sh s1,120(s2)
|
||
7490: 4a01 li s4,0
|
||
7492: 97d6 add a5,a5,s5
|
||
7494: 06f92823 sw a5,112(s2)
|
||
7498: 07695783 lhu a5,118(s2)
|
||
749c: 41578ab3 sub s5,a5,s5
|
||
74a0: 07591b23 sh s5,118(s2)
|
||
74a4: c20c0ae3 beqz s8,70d8 <tcp_enqueue+0x22>
|
||
74a8: 481c lw a5,16(s0)
|
||
74aa: c20787e3 beqz a5,70d8 <tcp_enqueue+0x22>
|
||
74ae: 4752 lw a4,20(sp)
|
||
74b0: 8b09 andi a4,a4,2
|
||
74b2: c20713e3 bnez a4,70d8 <tcp_enqueue+0x22>
|
||
74b6: 37c4 lbu s1,13(a5)
|
||
74b8: 27c8 lbu a0,12(a5)
|
||
74ba: 04a2 slli s1,s1,0x8
|
||
74bc: 8cc9 or s1,s1,a0
|
||
74be: 4521 li a0,8
|
||
74c0: afefc0ef jal ra,37be <htons>
|
||
74c4: 481c lw a5,16(s0)
|
||
74c6: 8d45 or a0,a0,s1
|
||
74c8: 0542 slli a0,a0,0x10
|
||
74ca: 8141 srli a0,a0,0x10
|
||
74cc: a7c8 sb a0,12(a5)
|
||
74ce: 8121 srli a0,a0,0x8
|
||
74d0: b7c8 sb a0,13(a5)
|
||
74d2: b119 j 70d8 <tcp_enqueue+0x22>
|
||
74d4: 0049a583 lw a1,4(s3)
|
||
74d8: 004a2503 lw a0,4(s4)
|
||
74dc: 8d5fd0ef jal ra,4db0 <pbuf_cat>
|
||
74e0: 00c9d703 lhu a4,12(s3)
|
||
74e4: 00ca5783 lhu a5,12(s4)
|
||
74e8: 97ba add a5,a5,a4
|
||
74ea: 00fa1623 sh a5,12(s4)
|
||
74ee: 0009a783 lw a5,0(s3)
|
||
74f2: 00fa2023 sw a5,0(s4)
|
||
74f6: bfb9 j 7454 <tcp_enqueue+0x39e>
|
||
74f8: 013a2023 sw s3,0(s4)
|
||
74fc: b7ad j 7466 <tcp_enqueue+0x3b0>
|
||
|
||
000074fe <tcp_send_ctrl>:
|
||
tcp_send_ctrl():
|
||
74fe: cf3f82ef jal t0,1f0 <__riscv_save_0>
|
||
7502: 86ae mv a3,a1
|
||
7504: 4781 li a5,0
|
||
7506: 4705 li a4,1
|
||
7508: 4601 li a2,0
|
||
750a: 4581 li a1,0
|
||
750c: babff0ef jal ra,70b6 <tcp_enqueue>
|
||
7510: d05f806f j 214 <__riscv_restore_0>
|
||
|
||
00007514 <tcp_write>:
|
||
tcp_write():
|
||
7514: 87aa mv a5,a0
|
||
7516: 4908 lw a0,16(a0)
|
||
7518: 471d li a4,7
|
||
751a: 00e50863 beq a0,a4,752a <tcp_write+0x16>
|
||
751e: ffe50813 addi a6,a0,-2
|
||
7522: 4709 li a4,2
|
||
7524: 5561 li a0,-8
|
||
7526: 01076e63 bltu a4,a6,7542 <tcp_write+0x2e>
|
||
752a: 4501 li a0,0
|
||
752c: ca19 beqz a2,7542 <tcp_write+0x2e>
|
||
752e: cc3f82ef jal t0,1f0 <__riscv_save_0>
|
||
7532: 8736 mv a4,a3
|
||
7534: 853e mv a0,a5
|
||
7536: 4681 li a3,0
|
||
7538: 4781 li a5,0
|
||
753a: b7dff0ef jal ra,70b6 <tcp_enqueue>
|
||
753e: cd7f806f j 214 <__riscv_restore_0>
|
||
7542: 8082 ret
|
||
|
||
00007544 <tcp_send_empty_ack>:
|
||
tcp_send_empty_ack():
|
||
7544: c93f82ef jal t0,1d6 <__riscv_save_4>
|
||
7548: 842a mv s0,a0
|
||
754a: 4601 li a2,0
|
||
754c: 45d1 li a1,20
|
||
754e: 4505 li a0,1
|
||
7550: eacfd0ef jal ra,4bfc <pbuf_alloc>
|
||
7554: cd31 beqz a0,75b0 <tcp_send_empty_ack+0x6c>
|
||
7556: 02644783 lbu a5,38(s0)
|
||
755a: 84aa mv s1,a0
|
||
755c: 5028 lw a0,96(s0)
|
||
755e: 9bf1 andi a5,a5,-4
|
||
7560: 02f40323 sb a5,38(s0)
|
||
7564: a76fc0ef jal ra,37da <htonl>
|
||
7568: 40cc lw a1,4(s1)
|
||
756a: 862a mv a2,a0
|
||
756c: 8522 mv a0,s0
|
||
756e: a75ff0ef jal ra,6fe2 <tcp_output_set_header.isra.0.constprop.1>
|
||
7572: 249a lhu a4,8(s1)
|
||
7574: 00440913 addi s2,s0,4
|
||
7578: 89aa mv s3,a0
|
||
757a: 4699 li a3,6
|
||
757c: 864a mv a2,s2
|
||
757e: 85a2 mv a1,s0
|
||
7580: 8526 mv a0,s1
|
||
7582: 6e3000ef jal ra,8464 <inet_chksum_pseudo>
|
||
7586: 00a98823 sb a0,16(s3)
|
||
758a: 8121 srli a0,a0,0x8
|
||
758c: 00a988a3 sb a0,17(s3)
|
||
7590: 2438 lbu a4,10(s0)
|
||
7592: 3434 lbu a3,11(s0)
|
||
7594: 4799 li a5,6
|
||
7596: 864a mv a2,s2
|
||
7598: 85a2 mv a1,s0
|
||
759a: 8526 mv a0,s1
|
||
759c: eaefc0ef jal ra,3c4a <ip_output>
|
||
75a0: 8526 mv a0,s1
|
||
75a2: e0cfd0ef jal ra,4bae <pbuf_free>
|
||
75a6: 4501 li a0,0
|
||
75a8: 020403a3 sb zero,39(s0)
|
||
75ac: c5ff806f j 20a <__riscv_restore_4>
|
||
75b0: 5579 li a0,-2
|
||
75b2: bfed j 75ac <tcp_send_empty_ack+0x68>
|
||
|
||
000075b4 <tcp_output>:
|
||
tcp_output():
|
||
75b4: 93c1a783 lw a5,-1732(gp) # 2000015c <tcp_input_pcb>
|
||
75b8: 36a78063 beq a5,a0,7918 <tcp_output+0x364>
|
||
75bc: c05f82ef jal t0,1c0 <__riscv_save_12>
|
||
75c0: 06455783 lhu a5,100(a0)
|
||
75c4: 05a55a03 lhu s4,90(a0)
|
||
75c8: 0147f363 bgeu a5,s4,75ce <tcp_output+0x1a>
|
||
75cc: 8a3e mv s4,a5
|
||
75ce: 02654783 lbu a5,38(a0)
|
||
75d2: 0a42 slli s4,s4,0x10
|
||
75d4: 842a mv s0,a0
|
||
75d6: 8b89 andi a5,a5,2
|
||
75d8: 010a5a13 srli s4,s4,0x10
|
||
75dc: 5d64 lw s1,124(a0)
|
||
75de: cb95 beqz a5,7612 <tcp_output+0x5e>
|
||
75e0: e491 bnez s1,75ec <tcp_output+0x38>
|
||
75e2: 8522 mv a0,s0
|
||
75e4: f61ff0ef jal ra,7544 <tcp_send_empty_ack>
|
||
75e8: c15f806f j 1fc <__riscv_restore_12>
|
||
75ec: 4898 lw a4,16(s1)
|
||
75ee: 3348 lbu a0,5(a4)
|
||
75f0: 235c lbu a5,4(a4)
|
||
75f2: 0522 slli a0,a0,0x8
|
||
75f4: 8d5d or a0,a0,a5
|
||
75f6: 237c lbu a5,6(a4)
|
||
75f8: 07c2 slli a5,a5,0x10
|
||
75fa: 8fc9 or a5,a5,a0
|
||
75fc: 3368 lbu a0,7(a4)
|
||
75fe: 0562 slli a0,a0,0x18
|
||
7600: 8d5d or a0,a0,a5
|
||
7602: 9fcfc0ef jal ra,37fe <ntohl>
|
||
7606: 24de lhu a5,12(s1)
|
||
7608: 4878 lw a4,84(s0)
|
||
760a: 8f99 sub a5,a5,a4
|
||
760c: 953e add a0,a0,a5
|
||
760e: fcaa6ae3 bltu s4,a0,75e2 <tcp_output+0x2e>
|
||
7612: 08042983 lw s3,128(s0)
|
||
7616: 08099663 bnez s3,76a2 <tcp_output+0xee>
|
||
761a: 20008ab7 lui s5,0x20008
|
||
761e: 4b89 li s7,2
|
||
7620: 83ca8a93 addi s5,s5,-1988 # 2000783c <WCHCfg>
|
||
7624: 02040c37 lui s8,0x2040
|
||
7628: 00440b13 addi s6,s0,4
|
||
762c: 5cfd li s9,-1
|
||
762e: c0ad beqz s1,7690 <tcp_output+0xdc>
|
||
7630: 4898 lw a4,16(s1)
|
||
7632: 3348 lbu a0,5(a4)
|
||
7634: 235c lbu a5,4(a4)
|
||
7636: 0522 slli a0,a0,0x8
|
||
7638: 8d5d or a0,a0,a5
|
||
763a: 237c lbu a5,6(a4)
|
||
763c: 07c2 slli a5,a5,0x10
|
||
763e: 8fc9 or a5,a5,a0
|
||
7640: 3368 lbu a0,7(a4)
|
||
7642: 0562 slli a0,a0,0x18
|
||
7644: 8d5d or a0,a0,a5
|
||
7646: 9b8fc0ef jal ra,37fe <ntohl>
|
||
764a: 24de lhu a5,12(s1)
|
||
764c: 4878 lw a4,84(s0)
|
||
764e: 8f99 sub a5,a5,a4
|
||
7650: 953e add a0,a0,a5
|
||
7652: 04aa7c63 bgeu s4,a0,76aa <tcp_output+0xf6>
|
||
7656: 0b044783 lbu a5,176(s0)
|
||
765a: eb9d bnez a5,7690 <tcp_output+0xdc>
|
||
765c: 4898 lw a4,16(s1)
|
||
765e: 3348 lbu a0,5(a4)
|
||
7660: 235c lbu a5,4(a4)
|
||
7662: 0522 slli a0,a0,0x8
|
||
7664: 8d5d or a0,a0,a5
|
||
7666: 237c lbu a5,6(a4)
|
||
7668: 07c2 slli a5,a5,0x10
|
||
766a: 8fc9 or a5,a5,a0
|
||
766c: 3368 lbu a0,7(a4)
|
||
766e: 0562 slli a0,a0,0x18
|
||
7670: 8d5d or a0,a0,a5
|
||
7672: 98cfc0ef jal ra,37fe <ntohl>
|
||
7676: 24de lhu a5,12(s1)
|
||
7678: 4878 lw a4,84(s0)
|
||
767a: 8f99 sub a5,a5,a4
|
||
767c: 953e add a0,a0,a5
|
||
767e: 06445783 lhu a5,100(s0)
|
||
7682: 00a7f763 bgeu a5,a0,7690 <tcp_output+0xdc>
|
||
7686: 4785 li a5,1
|
||
7688: 0a042623 sw zero,172(s0)
|
||
768c: 0af40823 sb a5,176(s0)
|
||
7690: 02644783 lbu a5,38(s0)
|
||
7694: 4501 li a0,0
|
||
7696: 07f7f793 andi a5,a5,127
|
||
769a: 02f40323 sb a5,38(s0)
|
||
769e: b7a9 j 75e8 <tcp_output+0x34>
|
||
76a0: 89be mv s3,a5
|
||
76a2: 0009a783 lw a5,0(s3)
|
||
76a6: ffed bnez a5,76a0 <tcp_output+0xec>
|
||
76a8: bf8d j 761a <tcp_output+0x66>
|
||
76aa: 08042783 lw a5,128(s0)
|
||
76ae: c395 beqz a5,76d2 <tcp_output+0x11e>
|
||
76b0: 02644783 lbu a5,38(s0)
|
||
76b4: 0447f713 andi a4,a5,68
|
||
76b8: ef09 bnez a4,76d2 <tcp_output+0x11e>
|
||
76ba: 5c78 lw a4,124(s0)
|
||
76bc: cb01 beqz a4,76cc <tcp_output+0x118>
|
||
76be: 4314 lw a3,0(a4)
|
||
76c0: ea89 bnez a3,76d2 <tcp_output+0x11e>
|
||
76c2: 2756 lhu a3,12(a4)
|
||
76c4: 04045703 lhu a4,64(s0)
|
||
76c8: 00e6f563 bgeu a3,a4,76d2 <tcp_output+0x11e>
|
||
76cc: 0a07f793 andi a5,a5,160
|
||
76d0: d3d9 beqz a5,7656 <tcp_output+0xa2>
|
||
76d2: 409c lw a5,0(s1)
|
||
76d4: dc7c sw a5,124(s0)
|
||
76d6: 481c lw a5,16(s0)
|
||
76d8: 03778963 beq a5,s7,770a <tcp_output+0x156>
|
||
76dc: 489c lw a5,16(s1)
|
||
76de: 00d7c903 lbu s2,13(a5)
|
||
76e2: 27c8 lbu a0,12(a5)
|
||
76e4: 0922 slli s2,s2,0x8
|
||
76e6: 00a96933 or s2,s2,a0
|
||
76ea: 4541 li a0,16
|
||
76ec: 8d2fc0ef jal ra,37be <htons>
|
||
76f0: 489c lw a5,16(s1)
|
||
76f2: 00a96533 or a0,s2,a0
|
||
76f6: 0542 slli a0,a0,0x10
|
||
76f8: 8141 srli a0,a0,0x10
|
||
76fa: a7c8 sb a0,12(a5)
|
||
76fc: 8121 srli a0,a0,0x8
|
||
76fe: b7c8 sb a0,13(a5)
|
||
7700: 02644783 lbu a5,38(s0)
|
||
7704: 9bf1 andi a5,a5,-4
|
||
7706: 02f40323 sb a5,38(s0)
|
||
770a: 5408 lw a0,40(s0)
|
||
770c: 0104a903 lw s2,16(s1)
|
||
7710: 8cafc0ef jal ra,37da <htonl>
|
||
7714: 00855793 srli a5,a0,0x8
|
||
7718: 00a90423 sb a0,8(s2)
|
||
771c: 00f904a3 sb a5,9(s2)
|
||
7720: 01055793 srli a5,a0,0x10
|
||
7724: 8161 srli a0,a0,0x18
|
||
7726: 00a905a3 sb a0,11(s2)
|
||
772a: 346a lhu a0,46(s0)
|
||
772c: 00f90523 sb a5,10(s2)
|
||
7730: 0104a903 lw s2,16(s1)
|
||
7734: 88afc0ef jal ra,37be <htons>
|
||
7738: 347a lhu a4,46(s0)
|
||
773a: 541c lw a5,40(s0)
|
||
773c: 00a90723 sb a0,14(s2)
|
||
7740: 8121 srli a0,a0,0x8
|
||
7742: 00a907a3 sb a0,15(s2)
|
||
7746: 97ba add a5,a5,a4
|
||
7748: b87a sh a4,54(s0)
|
||
774a: d81c sw a5,48(s0)
|
||
774c: 24fc lbu a5,14(s1)
|
||
774e: 8b85 andi a5,a5,1
|
||
7750: cb99 beqz a5,7766 <tcp_output+0x1b2>
|
||
7752: 004aa503 lw a0,4(s5)
|
||
7756: 0104a903 lw s2,16(s1)
|
||
775a: 00ac6533 or a0,s8,a0
|
||
775e: 87cfc0ef jal ra,37da <htonl>
|
||
7762: 00a92a23 sw a0,20(s2)
|
||
7766: 401c lw a5,0(s0)
|
||
7768: e799 bnez a5,7776 <tcp_output+0x1c2>
|
||
776a: 855a mv a0,s6
|
||
776c: 89efc0ef jal ra,380a <ip_route>
|
||
7770: c559 beqz a0,77fe <tcp_output+0x24a>
|
||
7772: 415c lw a5,4(a0)
|
||
7774: c01c sw a5,0(s0)
|
||
7776: 03e41783 lh a5,62(s0)
|
||
777a: 01979463 bne a5,s9,7782 <tcp_output+0x1ce>
|
||
777e: 02041f23 sh zero,62(s0)
|
||
7782: 407c lw a5,68(s0)
|
||
7784: e395 bnez a5,77a8 <tcp_output+0x1f4>
|
||
7786: 9141a783 lw a5,-1772(gp) # 20000134 <tcp_ticks>
|
||
778a: 4898 lw a4,16(s1)
|
||
778c: c07c sw a5,68(s0)
|
||
778e: 3348 lbu a0,5(a4)
|
||
7790: 235c lbu a5,4(a4)
|
||
7792: 0522 slli a0,a0,0x8
|
||
7794: 8d5d or a0,a0,a5
|
||
7796: 237c lbu a5,6(a4)
|
||
7798: 07c2 slli a5,a5,0x10
|
||
779a: 8fc9 or a5,a5,a0
|
||
779c: 3368 lbu a0,7(a4)
|
||
779e: 0562 slli a0,a0,0x18
|
||
77a0: 8d5d or a0,a0,a5
|
||
77a2: 85cfc0ef jal ra,37fe <ntohl>
|
||
77a6: c428 sw a0,72(s0)
|
||
77a8: 40c8 lw a0,4(s1)
|
||
77aa: 0104a903 lw s2,16(s1)
|
||
77ae: 4699 li a3,6
|
||
77b0: 4158 lw a4,4(a0)
|
||
77b2: 01252223 sw s2,4(a0)
|
||
77b6: 865a mv a2,s6
|
||
77b8: 40e90733 sub a4,s2,a4
|
||
77bc: 01071793 slli a5,a4,0x10
|
||
77c0: 253a lhu a4,10(a0)
|
||
77c2: 83c1 srli a5,a5,0x10
|
||
77c4: 85a2 mv a1,s0
|
||
77c6: 8f1d sub a4,a4,a5
|
||
77c8: a53a sh a4,10(a0)
|
||
77ca: 251a lhu a4,8(a0)
|
||
77cc: 8f1d sub a4,a4,a5
|
||
77ce: 0742 slli a4,a4,0x10
|
||
77d0: 8341 srli a4,a4,0x10
|
||
77d2: a51a sh a4,8(a0)
|
||
77d4: 00090823 sb zero,16(s2)
|
||
77d8: 000908a3 sb zero,17(s2)
|
||
77dc: 489000ef jal ra,8464 <inet_chksum_pseudo>
|
||
77e0: 00a90823 sb a0,16(s2)
|
||
77e4: 8121 srli a0,a0,0x8
|
||
77e6: 00a908a3 sb a0,17(s2)
|
||
77ea: 2438 lbu a4,10(s0)
|
||
77ec: 3434 lbu a3,11(s0)
|
||
77ee: 40c8 lw a0,4(s1)
|
||
77f0: 4799 li a5,6
|
||
77f2: 865a mv a2,s6
|
||
77f4: 85a2 mv a1,s0
|
||
77f6: c54fc0ef jal ra,3c4a <ip_output>
|
||
77fa: 020403a3 sb zero,39(s0)
|
||
77fe: 4898 lw a4,16(s1)
|
||
7800: 3348 lbu a0,5(a4)
|
||
7802: 235c lbu a5,4(a4)
|
||
7804: 0522 slli a0,a0,0x8
|
||
7806: 8d5d or a0,a0,a5
|
||
7808: 237c lbu a5,6(a4)
|
||
780a: 07c2 slli a5,a5,0x10
|
||
780c: 8fc9 or a5,a5,a0
|
||
780e: 3368 lbu a0,7(a4)
|
||
7810: 0562 slli a0,a0,0x18
|
||
7812: 8d5d or a0,a0,a5
|
||
7814: febfb0ef jal ra,37fe <ntohl>
|
||
7818: 489c lw a5,16(s1)
|
||
781a: 892a mv s2,a0
|
||
781c: 00c4dd83 lhu s11,12(s1)
|
||
7820: 27c8 lbu a0,12(a5)
|
||
7822: 37dc lbu a5,13(a5)
|
||
7824: 07a2 slli a5,a5,0x8
|
||
7826: 8d5d or a0,a0,a5
|
||
7828: fa5fb0ef jal ra,37cc <ntohs>
|
||
782c: 890d andi a0,a0,3
|
||
782e: 00a03533 snez a0,a0
|
||
7832: 503c lw a5,96(s0)
|
||
7834: 956e add a0,a0,s11
|
||
7836: 954a add a0,a0,s2
|
||
7838: 8f89 sub a5,a5,a0
|
||
783a: 0007d363 bgez a5,7840 <tcp_output+0x28c>
|
||
783e: d028 sw a0,96(s0)
|
||
7840: 489c lw a5,16(s1)
|
||
7842: 00c4d903 lhu s2,12(s1)
|
||
7846: 27c8 lbu a0,12(a5)
|
||
7848: 37dc lbu a5,13(a5)
|
||
784a: 07a2 slli a5,a5,0x8
|
||
784c: 8d5d or a0,a0,a5
|
||
784e: f7ffb0ef jal ra,37cc <ntohs>
|
||
7852: 890d andi a0,a0,3
|
||
7854: 00a03533 snez a0,a0
|
||
7858: 954a add a0,a0,s2
|
||
785a: c95d beqz a0,7910 <tcp_output+0x35c>
|
||
785c: 08042783 lw a5,128(s0)
|
||
7860: 0004a023 sw zero,0(s1)
|
||
7864: e789 bnez a5,786e <tcp_output+0x2ba>
|
||
7866: 08942023 sw s1,128(s0)
|
||
786a: 89a6 mv s3,s1
|
||
786c: a899 j 78c2 <tcp_output+0x30e>
|
||
786e: 4898 lw a4,16(s1)
|
||
7870: 3348 lbu a0,5(a4)
|
||
7872: 235c lbu a5,4(a4)
|
||
7874: 0522 slli a0,a0,0x8
|
||
7876: 8d5d or a0,a0,a5
|
||
7878: 237c lbu a5,6(a4)
|
||
787a: 07c2 slli a5,a5,0x10
|
||
787c: 8fc9 or a5,a5,a0
|
||
787e: 3368 lbu a0,7(a4)
|
||
7880: 0562 slli a0,a0,0x18
|
||
7882: 8d5d or a0,a0,a5
|
||
7884: f7bfb0ef jal ra,37fe <ntohl>
|
||
7888: 0109a703 lw a4,16(s3)
|
||
788c: 892a mv s2,a0
|
||
788e: 3348 lbu a0,5(a4)
|
||
7890: 235c lbu a5,4(a4)
|
||
7892: 0522 slli a0,a0,0x8
|
||
7894: 8d5d or a0,a0,a5
|
||
7896: 237c lbu a5,6(a4)
|
||
7898: 07c2 slli a5,a5,0x10
|
||
789a: 8fc9 or a5,a5,a0
|
||
789c: 3368 lbu a0,7(a4)
|
||
789e: 0562 slli a0,a0,0x18
|
||
78a0: 8d5d or a0,a0,a5
|
||
78a2: f5dfb0ef jal ra,37fe <ntohl>
|
||
78a6: 40a90533 sub a0,s2,a0
|
||
78aa: 06055063 bgez a0,790a <tcp_output+0x356>
|
||
78ae: 08040913 addi s2,s0,128
|
||
78b2: 00092783 lw a5,0(s2)
|
||
78b6: eb81 bnez a5,78c6 <tcp_output+0x312>
|
||
78b8: 00092783 lw a5,0(s2)
|
||
78bc: c09c sw a5,0(s1)
|
||
78be: 00992023 sw s1,0(s2)
|
||
78c2: 5c64 lw s1,124(s0)
|
||
78c4: b3ad j 762e <tcp_output+0x7a>
|
||
78c6: 4b98 lw a4,16(a5)
|
||
78c8: 3348 lbu a0,5(a4)
|
||
78ca: 235c lbu a5,4(a4)
|
||
78cc: 0522 slli a0,a0,0x8
|
||
78ce: 8d5d or a0,a0,a5
|
||
78d0: 237c lbu a5,6(a4)
|
||
78d2: 07c2 slli a5,a5,0x10
|
||
78d4: 8fc9 or a5,a5,a0
|
||
78d6: 3368 lbu a0,7(a4)
|
||
78d8: 0562 slli a0,a0,0x18
|
||
78da: 8d5d or a0,a0,a5
|
||
78dc: f23fb0ef jal ra,37fe <ntohl>
|
||
78e0: 4898 lw a4,16(s1)
|
||
78e2: 8daa mv s11,a0
|
||
78e4: 3348 lbu a0,5(a4)
|
||
78e6: 235c lbu a5,4(a4)
|
||
78e8: 0522 slli a0,a0,0x8
|
||
78ea: 8d5d or a0,a0,a5
|
||
78ec: 237c lbu a5,6(a4)
|
||
78ee: 07c2 slli a5,a5,0x10
|
||
78f0: 8fc9 or a5,a5,a0
|
||
78f2: 3368 lbu a0,7(a4)
|
||
78f4: 0562 slli a0,a0,0x18
|
||
78f6: 8d5d or a0,a0,a5
|
||
78f8: f07fb0ef jal ra,37fe <ntohl>
|
||
78fc: 40ad8533 sub a0,s11,a0
|
||
7900: fa055ce3 bgez a0,78b8 <tcp_output+0x304>
|
||
7904: 00092903 lw s2,0(s2)
|
||
7908: b76d j 78b2 <tcp_output+0x2fe>
|
||
790a: 0099a023 sw s1,0(s3)
|
||
790e: bfb1 j 786a <tcp_output+0x2b6>
|
||
7910: 8526 mv a0,s1
|
||
7912: 8c9fd0ef jal ra,51da <tcp_seg_free>
|
||
7916: b775 j 78c2 <tcp_output+0x30e>
|
||
7918: 4501 li a0,0
|
||
791a: 8082 ret
|
||
|
||
0000791c <tcp_rst>:
|
||
tcp_rst():
|
||
791c: 8bbf82ef jal t0,1d6 <__riscv_save_4>
|
||
7920: 1141 addi sp,sp,-16
|
||
7922: 8aaa mv s5,a0
|
||
7924: 84ae mv s1,a1
|
||
7926: 89b2 mv s3,a2
|
||
7928: 45d1 li a1,20
|
||
792a: 4601 li a2,0
|
||
792c: 4505 li a0,1
|
||
792e: 8a36 mv s4,a3
|
||
7930: c63a sw a4,12(sp)
|
||
7932: 8b3e mv s6,a5
|
||
7934: ac8fd0ef jal ra,4bfc <pbuf_alloc>
|
||
7938: 0e050363 beqz a0,7a1e <tcp_rst+0x102>
|
||
793c: 4732 lw a4,12(sp)
|
||
793e: 4140 lw s0,4(a0)
|
||
7940: 892a mv s2,a0
|
||
7942: 853a mv a0,a4
|
||
7944: e7bfb0ef jal ra,37be <htons>
|
||
7948: a008 sb a0,0(s0)
|
||
794a: 8121 srli a0,a0,0x8
|
||
794c: b008 sb a0,1(s0)
|
||
794e: 855a mv a0,s6
|
||
7950: e6ffb0ef jal ra,37be <htons>
|
||
7954: a028 sb a0,2(s0)
|
||
7956: 8121 srli a0,a0,0x8
|
||
7958: b028 sb a0,3(s0)
|
||
795a: 8556 mv a0,s5
|
||
795c: e7ffb0ef jal ra,37da <htonl>
|
||
7960: 00855793 srli a5,a0,0x8
|
||
7964: a048 sb a0,4(s0)
|
||
7966: b05c sb a5,5(s0)
|
||
7968: 01055793 srli a5,a0,0x10
|
||
796c: 8161 srli a0,a0,0x18
|
||
796e: a07c sb a5,6(s0)
|
||
7970: b068 sb a0,7(s0)
|
||
7972: 8526 mv a0,s1
|
||
7974: e67fb0ef jal ra,37da <htonl>
|
||
7978: 00855793 srli a5,a0,0x8
|
||
797c: a408 sb a0,8(s0)
|
||
797e: b41c sb a5,9(s0)
|
||
7980: 3444 lbu s1,13(s0)
|
||
7982: 01055793 srli a5,a0,0x10
|
||
7986: 8161 srli a0,a0,0x18
|
||
7988: b428 sb a0,11(s0)
|
||
798a: 2448 lbu a0,12(s0)
|
||
798c: 04a2 slli s1,s1,0x8
|
||
798e: a43c sb a5,10(s0)
|
||
7990: 8cc9 or s1,s1,a0
|
||
7992: 6541 lui a0,0x10
|
||
7994: fc050513 addi a0,a0,-64 # ffc0 <_data_lma+0x712c>
|
||
7998: e27fb0ef jal ra,37be <htons>
|
||
799c: 8ce9 and s1,s1,a0
|
||
799e: 4551 li a0,20
|
||
79a0: e1ffb0ef jal ra,37be <htons>
|
||
79a4: 8d45 or a0,a0,s1
|
||
79a6: 0542 slli a0,a0,0x10
|
||
79a8: 8141 srli a0,a0,0x10
|
||
79aa: 200087b7 lui a5,0x20008
|
||
79ae: a448 sb a0,12(s0)
|
||
79b0: 8121 srli a0,a0,0x8
|
||
79b2: b448 sb a0,13(s0)
|
||
79b4: 8407d503 lhu a0,-1984(a5) # 20007840 <WCHCfg+0x4>
|
||
79b8: e07fb0ef jal ra,37be <htons>
|
||
79bc: a468 sb a0,14(s0)
|
||
79be: 345c lbu a5,13(s0)
|
||
79c0: 8121 srli a0,a0,0x8
|
||
79c2: b468 sb a0,15(s0)
|
||
79c4: 2448 lbu a0,12(s0)
|
||
79c6: 07a2 slli a5,a5,0x8
|
||
79c8: 00040923 sb zero,18(s0)
|
||
79cc: 8d5d or a0,a0,a5
|
||
79ce: 000409a3 sb zero,19(s0)
|
||
79d2: dfbfb0ef jal ra,37cc <ntohs>
|
||
79d6: 6795 lui a5,0x5
|
||
79d8: 03f57513 andi a0,a0,63
|
||
79dc: 8d5d or a0,a0,a5
|
||
79de: de1fb0ef jal ra,37be <htons>
|
||
79e2: 00895703 lhu a4,8(s2)
|
||
79e6: a448 sb a0,12(s0)
|
||
79e8: 8121 srli a0,a0,0x8
|
||
79ea: b448 sb a0,13(s0)
|
||
79ec: 4699 li a3,6
|
||
79ee: 8652 mv a2,s4
|
||
79f0: 85ce mv a1,s3
|
||
79f2: 00040823 sb zero,16(s0)
|
||
79f6: 000408a3 sb zero,17(s0)
|
||
79fa: 854a mv a0,s2
|
||
79fc: 269000ef jal ra,8464 <inet_chksum_pseudo>
|
||
7a00: a808 sb a0,16(s0)
|
||
7a02: 8121 srli a0,a0,0x8
|
||
7a04: b808 sb a0,17(s0)
|
||
7a06: 4799 li a5,6
|
||
7a08: 4701 li a4,0
|
||
7a0a: 08000693 li a3,128
|
||
7a0e: 8652 mv a2,s4
|
||
7a10: 85ce mv a1,s3
|
||
7a12: 854a mv a0,s2
|
||
7a14: a36fc0ef jal ra,3c4a <ip_output>
|
||
7a18: 854a mv a0,s2
|
||
7a1a: 994fd0ef jal ra,4bae <pbuf_free>
|
||
7a1e: 0141 addi sp,sp,16
|
||
7a20: feaf806f j 20a <__riscv_restore_4>
|
||
|
||
00007a24 <tcp_rexmit_rto>:
|
||
tcp_rexmit_rto():
|
||
7a24: 08052783 lw a5,128(a0)
|
||
7a28: cb85 beqz a5,7a58 <tcp_rexmit_rto+0x34>
|
||
7a2a: fc6f82ef jal t0,1f0 <__riscv_save_0>
|
||
7a2e: 873e mv a4,a5
|
||
7a30: 4314 lw a3,0(a4)
|
||
7a32: e28d bnez a3,7a54 <tcp_rexmit_rto+0x30>
|
||
7a34: 5d74 lw a3,124(a0)
|
||
7a36: c314 sw a3,0(a4)
|
||
7a38: dd7c sw a5,124(a0)
|
||
7a3a: 05254783 lbu a5,82(a0)
|
||
7a3e: 08052023 sw zero,128(a0)
|
||
7a42: 04052223 sw zero,68(a0)
|
||
7a46: 0785 addi a5,a5,1
|
||
7a48: 04f50923 sb a5,82(a0)
|
||
7a4c: b69ff0ef jal ra,75b4 <tcp_output>
|
||
7a50: fc4f806f j 214 <__riscv_restore_0>
|
||
7a54: 8736 mv a4,a3
|
||
7a56: bfe9 j 7a30 <tcp_rexmit_rto+0xc>
|
||
7a58: 8082 ret
|
||
|
||
00007a5a <tcp_rexmit>:
|
||
tcp_rexmit():
|
||
7a5a: f7cf82ef jal t0,1d6 <__riscv_save_4>
|
||
7a5e: 08052483 lw s1,128(a0)
|
||
7a62: c495 beqz s1,7a8e <tcp_rexmit+0x34>
|
||
7a64: 409c lw a5,0(s1)
|
||
7a66: 842a mv s0,a0
|
||
7a68: 07c50913 addi s2,a0,124
|
||
7a6c: 08f52023 sw a5,128(a0)
|
||
7a70: 00092783 lw a5,0(s2)
|
||
7a74: ef99 bnez a5,7a92 <tcp_rexmit+0x38>
|
||
7a76: 00092783 lw a5,0(s2)
|
||
7a7a: c09c sw a5,0(s1)
|
||
7a7c: 00992023 sw s1,0(s2)
|
||
7a80: 05244783 lbu a5,82(s0)
|
||
7a84: 04042223 sw zero,68(s0)
|
||
7a88: 0785 addi a5,a5,1
|
||
7a8a: 04f40923 sb a5,82(s0)
|
||
7a8e: f7cf806f j 20a <__riscv_restore_4>
|
||
7a92: 4b98 lw a4,16(a5)
|
||
7a94: 3348 lbu a0,5(a4)
|
||
7a96: 235c lbu a5,4(a4)
|
||
7a98: 0522 slli a0,a0,0x8
|
||
7a9a: 8d5d or a0,a0,a5
|
||
7a9c: 237c lbu a5,6(a4)
|
||
7a9e: 07c2 slli a5,a5,0x10
|
||
7aa0: 8fc9 or a5,a5,a0
|
||
7aa2: 3368 lbu a0,7(a4)
|
||
7aa4: 0562 slli a0,a0,0x18
|
||
7aa6: 8d5d or a0,a0,a5
|
||
7aa8: d57fb0ef jal ra,37fe <ntohl>
|
||
7aac: 4898 lw a4,16(s1)
|
||
7aae: 89aa mv s3,a0
|
||
7ab0: 3348 lbu a0,5(a4)
|
||
7ab2: 235c lbu a5,4(a4)
|
||
7ab4: 0522 slli a0,a0,0x8
|
||
7ab6: 8d5d or a0,a0,a5
|
||
7ab8: 237c lbu a5,6(a4)
|
||
7aba: 07c2 slli a5,a5,0x10
|
||
7abc: 8fc9 or a5,a5,a0
|
||
7abe: 3368 lbu a0,7(a4)
|
||
7ac0: 0562 slli a0,a0,0x18
|
||
7ac2: 8d5d or a0,a0,a5
|
||
7ac4: d3bfb0ef jal ra,37fe <ntohl>
|
||
7ac8: 40a98533 sub a0,s3,a0
|
||
7acc: fa0555e3 bgez a0,7a76 <tcp_rexmit+0x1c>
|
||
7ad0: 00092903 lw s2,0(s2)
|
||
7ad4: bf71 j 7a70 <tcp_rexmit+0x16>
|
||
|
||
00007ad6 <tcp_rexmit_fast>:
|
||
tcp_rexmit_fast():
|
||
7ad6: 08052783 lw a5,128(a0)
|
||
7ada: cfb1 beqz a5,7b36 <tcp_rexmit_fast+0x60>
|
||
7adc: f14f82ef jal t0,1f0 <__riscv_save_0>
|
||
7ae0: 02654783 lbu a5,38(a0)
|
||
7ae4: 842a mv s0,a0
|
||
7ae6: 8b91 andi a5,a5,4
|
||
7ae8: e7a9 bnez a5,7b32 <tcp_rexmit_fast+0x5c>
|
||
7aea: f71ff0ef jal ra,7a5a <tcp_rexmit>
|
||
7aee: 05a45683 lhu a3,90(s0)
|
||
7af2: 06445783 lhu a5,100(s0)
|
||
7af6: 0016d713 srli a4,a3,0x1
|
||
7afa: 00d7f463 bgeu a5,a3,7b02 <tcp_rexmit_fast+0x2c>
|
||
7afe: 0017d713 srli a4,a5,0x1
|
||
7b02: 04045783 lhu a5,64(s0)
|
||
7b06: 04e41e23 sh a4,92(s0)
|
||
7b0a: 00179693 slli a3,a5,0x1
|
||
7b0e: 00d75463 bge a4,a3,7b16 <tcp_rexmit_fast+0x40>
|
||
7b12: 04d41e23 sh a3,92(s0)
|
||
7b16: 470d li a4,3
|
||
7b18: 02e787b3 mul a5,a5,a4
|
||
7b1c: 05c45703 lhu a4,92(s0)
|
||
7b20: 97ba add a5,a5,a4
|
||
7b22: 04f41d23 sh a5,90(s0)
|
||
7b26: 02644783 lbu a5,38(s0)
|
||
7b2a: 0047e793 ori a5,a5,4
|
||
7b2e: 02f40323 sb a5,38(s0)
|
||
7b32: ee2f806f j 214 <__riscv_restore_0>
|
||
7b36: 8082 ret
|
||
|
||
00007b38 <tcp_keepalive>:
|
||
tcp_keepalive():
|
||
7b38: e9ef82ef jal t0,1d6 <__riscv_save_4>
|
||
7b3c: 84aa mv s1,a0
|
||
7b3e: 4601 li a2,0
|
||
7b40: 45d1 li a1,20
|
||
7b42: 4505 li a0,1
|
||
7b44: 8b8fd0ef jal ra,4bfc <pbuf_alloc>
|
||
7b48: c529 beqz a0,7b92 <tcp_keepalive+0x5a>
|
||
7b4a: 842a mv s0,a0
|
||
7b4c: 50a8 lw a0,96(s1)
|
||
7b4e: 00448913 addi s2,s1,4
|
||
7b52: 157d addi a0,a0,-1
|
||
7b54: c87fb0ef jal ra,37da <htonl>
|
||
7b58: 404c lw a1,4(s0)
|
||
7b5a: 862a mv a2,a0
|
||
7b5c: 8526 mv a0,s1
|
||
7b5e: c84ff0ef jal ra,6fe2 <tcp_output_set_header.isra.0.constprop.1>
|
||
7b62: 241a lhu a4,8(s0)
|
||
7b64: 89aa mv s3,a0
|
||
7b66: 4699 li a3,6
|
||
7b68: 864a mv a2,s2
|
||
7b6a: 85a6 mv a1,s1
|
||
7b6c: 8522 mv a0,s0
|
||
7b6e: 0f7000ef jal ra,8464 <inet_chksum_pseudo>
|
||
7b72: 00a98823 sb a0,16(s3)
|
||
7b76: 8121 srli a0,a0,0x8
|
||
7b78: 00a988a3 sb a0,17(s3)
|
||
7b7c: 34b4 lbu a3,11(s1)
|
||
7b7e: 4799 li a5,6
|
||
7b80: 4701 li a4,0
|
||
7b82: 864a mv a2,s2
|
||
7b84: 85a6 mv a1,s1
|
||
7b86: 8522 mv a0,s0
|
||
7b88: 8c2fc0ef jal ra,3c4a <ip_output>
|
||
7b8c: 8522 mv a0,s0
|
||
7b8e: 820fd0ef jal ra,4bae <pbuf_free>
|
||
7b92: e78f806f j 20a <__riscv_restore_4>
|
||
|
||
00007b96 <tcp_zero_window_probe>:
|
||
tcp_zero_window_probe():
|
||
7b96: e40f82ef jal t0,1d6 <__riscv_save_4>
|
||
7b9a: 08052403 lw s0,128(a0)
|
||
7b9e: e019 bnez s0,7ba4 <tcp_zero_window_probe+0xe>
|
||
7ba0: 5d60 lw s0,124(a0)
|
||
7ba2: c45d beqz s0,7c50 <tcp_zero_window_probe+0xba>
|
||
7ba4: 481c lw a5,16(s0)
|
||
7ba6: 84aa mv s1,a0
|
||
7ba8: 27c8 lbu a0,12(a5)
|
||
7baa: 37dc lbu a5,13(a5)
|
||
7bac: 07a2 slli a5,a5,0x8
|
||
7bae: 8d5d or a0,a0,a5
|
||
7bb0: c1dfb0ef jal ra,37cc <ntohs>
|
||
7bb4: 8905 andi a0,a0,1
|
||
7bb6: cd59 beqz a0,7c54 <tcp_zero_window_probe+0xbe>
|
||
7bb8: 245e lhu a5,12(s0)
|
||
7bba: efc9 bnez a5,7c54 <tcp_zero_window_probe+0xbe>
|
||
7bbc: 4a05 li s4,1
|
||
7bbe: 45d1 li a1,20
|
||
7bc0: 4601 li a2,0
|
||
7bc2: 4505 li a0,1
|
||
7bc4: 838fd0ef jal ra,4bfc <pbuf_alloc>
|
||
7bc8: 892a mv s2,a0
|
||
7bca: c159 beqz a0,7c50 <tcp_zero_window_probe+0xba>
|
||
7bcc: 4818 lw a4,16(s0)
|
||
7bce: 414c lw a1,4(a0)
|
||
7bd0: 8526 mv a0,s1
|
||
7bd2: 3350 lbu a2,5(a4)
|
||
7bd4: 235c lbu a5,4(a4)
|
||
7bd6: 0622 slli a2,a2,0x8
|
||
7bd8: 8e5d or a2,a2,a5
|
||
7bda: 237c lbu a5,6(a4)
|
||
7bdc: 07c2 slli a5,a5,0x10
|
||
7bde: 8fd1 or a5,a5,a2
|
||
7be0: 3370 lbu a2,7(a4)
|
||
7be2: 0662 slli a2,a2,0x18
|
||
7be4: 8e5d or a2,a2,a5
|
||
7be6: bfcff0ef jal ra,6fe2 <tcp_output_set_header.isra.0.constprop.1>
|
||
7bea: 89aa mv s3,a0
|
||
7bec: 060a0763 beqz s4,7c5a <tcp_zero_window_probe+0xc4>
|
||
7bf0: 3540 lbu s0,13(a0)
|
||
7bf2: 255c lbu a5,12(a0)
|
||
7bf4: 6541 lui a0,0x10
|
||
7bf6: 0422 slli s0,s0,0x8
|
||
7bf8: fc050513 addi a0,a0,-64 # ffc0 <_data_lma+0x712c>
|
||
7bfc: 8c5d or s0,s0,a5
|
||
7bfe: bc1fb0ef jal ra,37be <htons>
|
||
7c02: 8c69 and s0,s0,a0
|
||
7c04: 4545 li a0,17
|
||
7c06: bb9fb0ef jal ra,37be <htons>
|
||
7c0a: 8c49 or s0,s0,a0
|
||
7c0c: 01041793 slli a5,s0,0x10
|
||
7c10: 83c1 srli a5,a5,0x10
|
||
7c12: 00f98623 sb a5,12(s3)
|
||
7c16: 83a1 srli a5,a5,0x8
|
||
7c18: 00f986a3 sb a5,13(s3)
|
||
7c1c: 00895703 lhu a4,8(s2)
|
||
7c20: 00448413 addi s0,s1,4
|
||
7c24: 4699 li a3,6
|
||
7c26: 8622 mv a2,s0
|
||
7c28: 85a6 mv a1,s1
|
||
7c2a: 854a mv a0,s2
|
||
7c2c: 039000ef jal ra,8464 <inet_chksum_pseudo>
|
||
7c30: 00a98823 sb a0,16(s3)
|
||
7c34: 8121 srli a0,a0,0x8
|
||
7c36: 00a988a3 sb a0,17(s3)
|
||
7c3a: 34b4 lbu a3,11(s1)
|
||
7c3c: 4799 li a5,6
|
||
7c3e: 4701 li a4,0
|
||
7c40: 8622 mv a2,s0
|
||
7c42: 85a6 mv a1,s1
|
||
7c44: 854a mv a0,s2
|
||
7c46: 804fc0ef jal ra,3c4a <ip_output>
|
||
7c4a: 854a mv a0,s2
|
||
7c4c: f63fc0ef jal ra,4bae <pbuf_free>
|
||
7c50: dbaf806f j 20a <__riscv_restore_4>
|
||
7c54: 4a01 li s4,0
|
||
7c56: 45d5 li a1,21
|
||
7c58: b7a5 j 7bc0 <tcp_zero_window_probe+0x2a>
|
||
7c5a: 4418 lw a4,8(s0)
|
||
7c5c: 00492783 lw a5,4(s2)
|
||
7c60: 00070703 lb a4,0(a4)
|
||
7c64: abd8 sb a4,20(a5)
|
||
7c66: bf5d j 7c1c <tcp_zero_window_probe+0x86>
|
||
|
||
00007c68 <udp_input>:
|
||
udp_input():
|
||
7c68: d58f82ef jal t0,1c0 <__riscv_save_12>
|
||
7c6c: 4140 lw s0,4(a0)
|
||
7c6e: 2506 lhu s1,8(a0)
|
||
7c70: 892a mv s2,a0
|
||
7c72: 301c lbu a5,1(s0)
|
||
7c74: 2008 lbu a0,0(s0)
|
||
7c76: 1141 addi sp,sp,-16
|
||
7c78: 07a2 slli a5,a5,0x8
|
||
7c7a: 8d5d or a0,a0,a5
|
||
7c7c: 8a2e mv s4,a1
|
||
7c7e: b4ffb0ef jal ra,37cc <ntohs>
|
||
7c82: 8121 srli a0,a0,0x8
|
||
7c84: 893d andi a0,a0,15
|
||
7c86: 0509 addi a0,a0,2
|
||
7c88: 050a slli a0,a0,0x2
|
||
7c8a: 02a4c263 blt s1,a0,7cae <udp_input+0x46>
|
||
7c8e: 301c lbu a5,1(s0)
|
||
7c90: 2008 lbu a0,0(s0)
|
||
7c92: 07a2 slli a5,a5,0x8
|
||
7c94: 8d5d or a0,a0,a5
|
||
7c96: b37fb0ef jal ra,37cc <ntohs>
|
||
7c9a: 00655593 srli a1,a0,0x6
|
||
7c9e: 03c5f593 andi a1,a1,60
|
||
7ca2: 40b005b3 neg a1,a1
|
||
7ca6: 854a mv a0,s2
|
||
7ca8: e99fc0ef jal ra,4b40 <pbuf_header>
|
||
7cac: c519 beqz a0,7cba <udp_input+0x52>
|
||
7cae: 854a mv a0,s2
|
||
7cb0: efffc0ef jal ra,4bae <pbuf_free>
|
||
7cb4: 0141 addi sp,sp,16
|
||
7cb6: d46f806f j 1fc <__riscv_restore_12>
|
||
7cba: 00492a83 lw s5,4(s2)
|
||
7cbe: 01040c13 addi s8,s0,16
|
||
7cc2: 85d2 mv a1,s4
|
||
7cc4: 8562 mv a0,s8
|
||
7cc6: fbbfb0ef jal ra,3c80 <ip_addr_isbroadcast>
|
||
7cca: 001ac783 lbu a5,1(s5)
|
||
7cce: 8b2a mv s6,a0
|
||
7cd0: 000ac503 lbu a0,0(s5)
|
||
7cd4: 07a2 slli a5,a5,0x8
|
||
7cd6: 8d5d or a0,a0,a5
|
||
7cd8: af5fb0ef jal ra,37cc <ntohs>
|
||
7cdc: 003ac783 lbu a5,3(s5)
|
||
7ce0: 8baa mv s7,a0
|
||
7ce2: 002ac503 lbu a0,2(s5)
|
||
7ce6: 07a2 slli a5,a5,0x8
|
||
7ce8: 8d5d or a0,a0,a5
|
||
7cea: ae3fb0ef jal ra,37cc <ntohs>
|
||
7cee: 04400793 li a5,68
|
||
7cf2: 86aa mv a3,a0
|
||
7cf4: 06f51d63 bne a0,a5,7d6e <udp_input+0x106>
|
||
7cf8: 04300793 li a5,67
|
||
7cfc: 12fb9963 bne s7,a5,7e2e <udp_input+0x1c6>
|
||
7d00: 020a2783 lw a5,32(s4)
|
||
7d04: 12078563 beqz a5,7e2e <udp_input+0x1c6>
|
||
7d08: 43c4 lw s1,4(a5)
|
||
7d0a: 12048263 beqz s1,7e2e <udp_input+0x1c6>
|
||
7d0e: 40d4 lw a3,4(s1)
|
||
7d10: ce89 beqz a3,7d2a <udp_input+0xc2>
|
||
7d12: 3458 lbu a4,13(s0)
|
||
7d14: 245c lbu a5,12(s0)
|
||
7d16: 0722 slli a4,a4,0x8
|
||
7d18: 8f5d or a4,a4,a5
|
||
7d1a: 247c lbu a5,14(s0)
|
||
7d1c: 07c2 slli a5,a5,0x10
|
||
7d1e: 8f5d or a4,a4,a5
|
||
7d20: 347c lbu a5,15(s0)
|
||
7d22: 07e2 slli a5,a5,0x18
|
||
7d24: 8fd9 or a5,a5,a4
|
||
7d26: 10f69463 bne a3,a5,7e2e <udp_input+0x1c6>
|
||
7d2a: 007ac783 lbu a5,7(s5)
|
||
7d2e: 006ac703 lbu a4,6(s5)
|
||
7d32: 07a2 slli a5,a5,0x8
|
||
7d34: 8fd9 or a5,a5,a4
|
||
7d36: cb99 beqz a5,7d4c <udp_input+0xe4>
|
||
7d38: 00895703 lhu a4,8(s2)
|
||
7d3c: 46c5 li a3,17
|
||
7d3e: 8662 mv a2,s8
|
||
7d40: 00c40593 addi a1,s0,12
|
||
7d44: 854a mv a0,s2
|
||
7d46: 71e000ef jal ra,8464 <inet_chksum_pseudo>
|
||
7d4a: f135 bnez a0,7cae <udp_input+0x46>
|
||
7d4c: 55e1 li a1,-8
|
||
7d4e: 854a mv a0,s2
|
||
7d50: df1fc0ef jal ra,4b40 <pbuf_header>
|
||
7d54: fd29 bnez a0,7cae <udp_input+0x46>
|
||
7d56: 0e048c63 beqz s1,7e4e <udp_input+0x1e6>
|
||
7d5a: 4c9c lw a5,24(s1)
|
||
7d5c: dba9 beqz a5,7cae <udp_input+0x46>
|
||
7d5e: 4cc8 lw a0,28(s1)
|
||
7d60: 875e mv a4,s7
|
||
7d62: 00c40693 addi a3,s0,12
|
||
7d66: 864a mv a2,s2
|
||
7d68: 85a6 mv a1,s1
|
||
7d6a: 9782 jalr a5
|
||
7d6c: b7a1 j 7cb4 <udp_input+0x4c>
|
||
7d6e: 9481a483 lw s1,-1720(gp) # 20000168 <udp_pcbs>
|
||
7d72: 4d01 li s10,0
|
||
7d74: 4d81 li s11,0
|
||
7d76: 94818c93 addi s9,gp,-1720 # 20000168 <udp_pcbs>
|
||
7d7a: 76c00613 li a2,1900
|
||
7d7e: e489 bnez s1,7d88 <udp_input+0x120>
|
||
7d80: 0a0d0763 beqz s10,7e2e <udp_input+0x1c6>
|
||
7d84: 84ea mv s1,s10
|
||
7d86: b755 j 7d2a <udp_input+0xc2>
|
||
7d88: 28be lhu a5,18(s1)
|
||
7d8a: 08d79c63 bne a5,a3,7e22 <udp_input+0x1ba>
|
||
7d8e: 4098 lw a4,0(s1)
|
||
7d90: 040b1563 bnez s6,7dda <udp_input+0x172>
|
||
7d94: e339 bnez a4,7dda <udp_input+0x172>
|
||
7d96: 000d1663 bnez s10,7da2 <udp_input+0x13a>
|
||
7d9a: 289c lbu a5,16(s1)
|
||
7d9c: 8b91 andi a5,a5,4
|
||
7d9e: e391 bnez a5,7da2 <udp_input+0x13a>
|
||
7da0: 8d26 mv s10,s1
|
||
7da2: 28de lhu a5,20(s1)
|
||
7da4: 09779263 bne a5,s7,7e28 <udp_input+0x1c0>
|
||
7da8: 40cc lw a1,4(s1)
|
||
7daa: cd89 beqz a1,7dc4 <udp_input+0x15c>
|
||
7dac: 3458 lbu a4,13(s0)
|
||
7dae: 245c lbu a5,12(s0)
|
||
7db0: 0722 slli a4,a4,0x8
|
||
7db2: 8f5d or a4,a4,a5
|
||
7db4: 247c lbu a5,14(s0)
|
||
7db6: 07c2 slli a5,a5,0x10
|
||
7db8: 8f5d or a4,a4,a5
|
||
7dba: 347c lbu a5,15(s0)
|
||
7dbc: 07e2 slli a5,a5,0x18
|
||
7dbe: 8fd9 or a5,a5,a4
|
||
7dc0: 06f59463 bne a1,a5,7e28 <udp_input+0x1c0>
|
||
7dc4: f60d83e3 beqz s11,7d2a <udp_input+0xc2>
|
||
7dc8: 44dc lw a5,12(s1)
|
||
7dca: 00fda623 sw a5,12(s11)
|
||
7dce: 000ca783 lw a5,0(s9)
|
||
7dd2: 009ca023 sw s1,0(s9)
|
||
7dd6: c4dc sw a5,12(s1)
|
||
7dd8: bf89 j 7d2a <udp_input+0xc2>
|
||
7dda: 381c lbu a5,17(s0)
|
||
7ddc: 01044983 lbu s3,16(s0)
|
||
7de0: 07a2 slli a5,a5,0x8
|
||
7de2: 0137e7b3 or a5,a5,s3
|
||
7de6: 01244983 lbu s3,18(s0)
|
||
7dea: 09c2 slli s3,s3,0x10
|
||
7dec: 00f9e7b3 or a5,s3,a5
|
||
7df0: 01344983 lbu s3,19(s0)
|
||
7df4: 09e2 slli s3,s3,0x18
|
||
7df6: 00f9e9b3 or s3,s3,a5
|
||
7dfa: f8e98ee3 beq s3,a4,7d96 <udp_input+0x12e>
|
||
7dfe: f0000537 lui a0,0xf0000
|
||
7e02: c636 sw a3,12(sp)
|
||
7e04: 9fbfb0ef jal ra,37fe <ntohl>
|
||
7e08: 00a9f9b3 and s3,s3,a0
|
||
7e0c: e0000537 lui a0,0xe0000
|
||
7e10: 9effb0ef jal ra,37fe <ntohl>
|
||
7e14: 46b2 lw a3,12(sp)
|
||
7e16: 76c00613 li a2,1900
|
||
7e1a: f6a98ee3 beq s3,a0,7d96 <udp_input+0x12e>
|
||
7e1e: f60b1ce3 bnez s6,7d96 <udp_input+0x12e>
|
||
7e22: 8da6 mv s11,s1
|
||
7e24: 44c4 lw s1,12(s1)
|
||
7e26: bfa1 j 7d7e <udp_input+0x116>
|
||
7e28: fec69de3 bne a3,a2,7e22 <udp_input+0x1ba>
|
||
7e2c: bdfd j 7d2a <udp_input+0xc2>
|
||
7e2e: 3818 lbu a4,17(s0)
|
||
7e30: 281c lbu a5,16(s0)
|
||
7e32: 0722 slli a4,a4,0x8
|
||
7e34: 8f5d or a4,a4,a5
|
||
7e36: 283c lbu a5,18(s0)
|
||
7e38: 07c2 slli a5,a5,0x10
|
||
7e3a: 8f5d or a4,a4,a5
|
||
7e3c: 383c lbu a5,19(s0)
|
||
7e3e: 07e2 slli a5,a5,0x18
|
||
7e40: 8fd9 or a5,a5,a4
|
||
7e42: 004a2703 lw a4,4(s4)
|
||
7e46: e6f714e3 bne a4,a5,7cae <udp_input+0x46>
|
||
7e4a: 4481 li s1,0
|
||
7e4c: bdf9 j 7d2a <udp_input+0xc2>
|
||
7e4e: e60b10e3 bnez s6,7cae <udp_input+0x46>
|
||
7e52: 381c lbu a5,17(s0)
|
||
7e54: 2804 lbu s1,16(s0)
|
||
7e56: f0000537 lui a0,0xf0000
|
||
7e5a: 07a2 slli a5,a5,0x8
|
||
7e5c: 8fc5 or a5,a5,s1
|
||
7e5e: 2824 lbu s1,18(s0)
|
||
7e60: 04c2 slli s1,s1,0x10
|
||
7e62: 8fc5 or a5,a5,s1
|
||
7e64: 3824 lbu s1,19(s0)
|
||
7e66: 04e2 slli s1,s1,0x18
|
||
7e68: 8cdd or s1,s1,a5
|
||
7e6a: 995fb0ef jal ra,37fe <ntohl>
|
||
7e6e: 8ce9 and s1,s1,a0
|
||
7e70: e0000537 lui a0,0xe0000
|
||
7e74: 98bfb0ef jal ra,37fe <ntohl>
|
||
7e78: e2a48be3 beq s1,a0,7cae <udp_input+0x46>
|
||
7e7c: 301c lbu a5,1(s0)
|
||
7e7e: 2008 lbu a0,0(s0)
|
||
7e80: 07a2 slli a5,a5,0x8
|
||
7e82: 8d5d or a0,a0,a5
|
||
7e84: 949fb0ef jal ra,37cc <ntohs>
|
||
7e88: 00855593 srli a1,a0,0x8
|
||
7e8c: 89bd andi a1,a1,15
|
||
7e8e: 0589 addi a1,a1,2
|
||
7e90: 058a slli a1,a1,0x2
|
||
7e92: 854a mv a0,s2
|
||
7e94: cadfc0ef jal ra,4b40 <pbuf_header>
|
||
7e98: 458d li a1,3
|
||
7e9a: 854a mv a0,s2
|
||
7e9c: 230d jal 83be <icmp_dest_unreach>
|
||
7e9e: bd01 j 7cae <udp_input+0x46>
|
||
|
||
00007ea0 <udp_bind>:
|
||
udp_bind():
|
||
7ea0: 9481a883 lw a7,-1720(gp) # 20000168 <udp_pcbs>
|
||
7ea4: 86aa mv a3,a0
|
||
7ea6: 4301 li t1,0
|
||
7ea8: 87c6 mv a5,a7
|
||
7eaa: 94818813 addi a6,gp,-1720 # 20000168 <udp_pcbs>
|
||
7eae: e79d bnez a5,7edc <udp_bind+0x3c>
|
||
7eb0: c999 beqz a1,7ec6 <udp_bind+0x26>
|
||
7eb2: 3198 lbu a4,1(a1)
|
||
7eb4: 219c lbu a5,0(a1)
|
||
7eb6: 0722 slli a4,a4,0x8
|
||
7eb8: 8f5d or a4,a4,a5
|
||
7eba: 21bc lbu a5,2(a1)
|
||
7ebc: 07c2 slli a5,a5,0x10
|
||
7ebe: 8f5d or a4,a4,a5
|
||
7ec0: 31bc lbu a5,3(a1)
|
||
7ec2: 07e2 slli a5,a5,0x18
|
||
7ec4: 8fd9 or a5,a5,a4
|
||
7ec6: c29c sw a5,0(a3)
|
||
7ec8: c625 beqz a2,7f30 <udp_bind+0x90>
|
||
7eca: aab2 sh a2,18(a3)
|
||
7ecc: 4501 li a0,0
|
||
7ece: 00031663 bnez t1,7eda <udp_bind+0x3a>
|
||
7ed2: 0116a623 sw a7,12(a3)
|
||
7ed6: 00d82023 sw a3,0(a6)
|
||
7eda: 8082 ret
|
||
7edc: 02d78b63 beq a5,a3,7f12 <udp_bind+0x72>
|
||
7ee0: 2bba lhu a4,18(a5)
|
||
7ee2: 02c71663 bne a4,a2,7f0e <udp_bind+0x6e>
|
||
7ee6: 0007ae03 lw t3,0(a5) # 5000 <tcp_new_port+0x1c>
|
||
7eea: 000e1463 bnez t3,7ef2 <udp_bind+0x52>
|
||
7eee: 5555 li a0,-11
|
||
7ef0: 8082 ret
|
||
7ef2: ddf5 beqz a1,7eee <udp_bind+0x4e>
|
||
7ef4: 3188 lbu a0,1(a1)
|
||
7ef6: 2198 lbu a4,0(a1)
|
||
7ef8: 0522 slli a0,a0,0x8
|
||
7efa: 8d59 or a0,a0,a4
|
||
7efc: 21b8 lbu a4,2(a1)
|
||
7efe: 0742 slli a4,a4,0x10
|
||
7f00: 8d59 or a0,a0,a4
|
||
7f02: 31b8 lbu a4,3(a1)
|
||
7f04: 0762 slli a4,a4,0x18
|
||
7f06: 8f49 or a4,a4,a0
|
||
7f08: d37d beqz a4,7eee <udp_bind+0x4e>
|
||
7f0a: feee02e3 beq t3,a4,7eee <udp_bind+0x4e>
|
||
7f0e: 47dc lw a5,12(a5)
|
||
7f10: bf79 j 7eae <udp_bind+0xe>
|
||
7f12: 4305 li t1,1
|
||
7f14: bfed j 7f0e <udp_bind+0x6e>
|
||
7f16: 2bae lhu a1,18(a5)
|
||
7f18: 00c59a63 bne a1,a2,7f2c <udp_bind+0x8c>
|
||
7f1c: 0605 addi a2,a2,1
|
||
7f1e: 0642 slli a2,a2,0x10
|
||
7f20: 8241 srli a2,a2,0x10
|
||
7f22: 87c6 mv a5,a7
|
||
7f24: d3dd beqz a5,7eca <udp_bind+0x2a>
|
||
7f26: fee618e3 bne a2,a4,7f16 <udp_bind+0x76>
|
||
7f2a: b7d1 j 7eee <udp_bind+0x4e>
|
||
7f2c: 47dc lw a5,12(a5)
|
||
7f2e: bfdd j 7f24 <udp_bind+0x84>
|
||
7f30: 6721 lui a4,0x8
|
||
7f32: 87c6 mv a5,a7
|
||
7f34: 6605 lui a2,0x1
|
||
7f36: 177d addi a4,a4,-1
|
||
7f38: b7f5 j 7f24 <udp_bind+0x84>
|
||
|
||
00007f3a <udp_sendto_if>:
|
||
udp_sendto_if():
|
||
7f3a: a9cf82ef jal t0,1d6 <__riscv_save_4>
|
||
7f3e: 293e lhu a5,18(a0)
|
||
7f40: 892a mv s2,a0
|
||
7f42: 89ae mv s3,a1
|
||
7f44: 8ab2 mv s5,a2
|
||
7f46: 8b36 mv s6,a3
|
||
7f48: 8a3a mv s4,a4
|
||
7f4a: c7ad beqz a5,7fb4 <udp_sendto_if+0x7a>
|
||
7f4c: 45a1 li a1,8
|
||
7f4e: 854e mv a0,s3
|
||
7f50: bf1fc0ef jal ra,4b40 <pbuf_header>
|
||
7f54: 84ce mv s1,s3
|
||
7f56: cd01 beqz a0,7f6e <udp_sendto_if+0x34>
|
||
7f58: 4601 li a2,0
|
||
7f5a: 45a1 li a1,8
|
||
7f5c: 4505 li a0,1
|
||
7f5e: c9ffc0ef jal ra,4bfc <pbuf_alloc>
|
||
7f62: 84aa mv s1,a0
|
||
7f64: 547d li s0,-1
|
||
7f66: cd29 beqz a0,7fc0 <udp_sendto_if+0x86>
|
||
7f68: 85ce mv a1,s3
|
||
7f6a: e63fc0ef jal ra,4dcc <pbuf_chain>
|
||
7f6e: 01295503 lhu a0,18(s2)
|
||
7f72: 40c0 lw s0,4(s1)
|
||
7f74: 84bfb0ef jal ra,37be <htons>
|
||
7f78: a008 sb a0,0(s0)
|
||
7f7a: 8121 srli a0,a0,0x8
|
||
7f7c: b008 sb a0,1(s0)
|
||
7f7e: 855a mv a0,s6
|
||
7f80: 83ffb0ef jal ra,37be <htons>
|
||
7f84: 00092783 lw a5,0(s2)
|
||
7f88: a028 sb a0,2(s0)
|
||
7f8a: 8121 srli a0,a0,0x8
|
||
7f8c: b028 sb a0,3(s0)
|
||
7f8e: 00040323 sb zero,6(s0)
|
||
7f92: 000403a3 sb zero,7(s0)
|
||
7f96: 004a0b13 addi s6,s4,4
|
||
7f9a: c795 beqz a5,7fc6 <udp_sendto_if+0x8c>
|
||
7f9c: 004a2703 lw a4,4(s4)
|
||
7fa0: 8b4a mv s6,s2
|
||
7fa2: 02e78263 beq a5,a4,7fc6 <udp_sendto_if+0x8c>
|
||
7fa6: 545d li s0,-9
|
||
7fa8: 01348c63 beq s1,s3,7fc0 <udp_sendto_if+0x86>
|
||
7fac: 8526 mv a0,s1
|
||
7fae: c01fc0ef jal ra,4bae <pbuf_free>
|
||
7fb2: a039 j 7fc0 <udp_sendto_if+0x86>
|
||
7fb4: 4601 li a2,0
|
||
7fb6: 85aa mv a1,a0
|
||
7fb8: ee9ff0ef jal ra,7ea0 <udp_bind>
|
||
7fbc: 842a mv s0,a0
|
||
7fbe: d559 beqz a0,7f4c <udp_sendto_if+0x12>
|
||
7fc0: 8522 mv a0,s0
|
||
7fc2: a48f806f j 20a <__riscv_restore_4>
|
||
7fc6: 248a lhu a0,8(s1)
|
||
7fc8: ff6fb0ef jal ra,37be <htons>
|
||
7fcc: a048 sb a0,4(s0)
|
||
7fce: 8121 srli a0,a0,0x8
|
||
7fd0: b048 sb a0,5(s0)
|
||
7fd2: 01094783 lbu a5,16(s2)
|
||
7fd6: 8b85 andi a5,a5,1
|
||
7fd8: eb99 bnez a5,7fee <udp_sendto_if+0xb4>
|
||
7fda: 249a lhu a4,8(s1)
|
||
7fdc: 46c5 li a3,17
|
||
7fde: 8656 mv a2,s5
|
||
7fe0: 85da mv a1,s6
|
||
7fe2: 8526 mv a0,s1
|
||
7fe4: 2141 jal 8464 <inet_chksum_pseudo>
|
||
7fe6: c10d beqz a0,8008 <udp_sendto_if+0xce>
|
||
7fe8: a068 sb a0,6(s0)
|
||
7fea: 8121 srli a0,a0,0x8
|
||
7fec: b068 sb a0,7(s0)
|
||
7fee: 00a94703 lbu a4,10(s2)
|
||
7ff2: 00b94683 lbu a3,11(s2)
|
||
7ff6: 8852 mv a6,s4
|
||
7ff8: 47c5 li a5,17
|
||
7ffa: 8656 mv a2,s5
|
||
7ffc: 85da mv a1,s6
|
||
7ffe: 8526 mv a0,s1
|
||
8000: af1fb0ef jal ra,3af0 <ip_output_if>
|
||
8004: 842a mv s0,a0
|
||
8006: b74d j 7fa8 <udp_sendto_if+0x6e>
|
||
8008: 57fd li a5,-1
|
||
800a: a07c sb a5,6(s0)
|
||
800c: b07c sb a5,7(s0)
|
||
800e: b7c5 j 7fee <udp_sendto_if+0xb4>
|
||
|
||
00008010 <udp_sendto>:
|
||
udp_sendto():
|
||
8010: 9e0f82ef jal t0,1f0 <__riscv_save_0>
|
||
8014: 1141 addi sp,sp,-16
|
||
8016: 842a mv s0,a0
|
||
8018: 8532 mv a0,a2
|
||
801a: c62e sw a1,12(sp)
|
||
801c: c436 sw a3,8(sp)
|
||
801e: c232 sw a2,4(sp)
|
||
8020: feafb0ef jal ra,380a <ip_route>
|
||
8024: c919 beqz a0,803a <udp_sendto+0x2a>
|
||
8026: 46a2 lw a3,8(sp)
|
||
8028: 4612 lw a2,4(sp)
|
||
802a: 45b2 lw a1,12(sp)
|
||
802c: 872a mv a4,a0
|
||
802e: 8522 mv a0,s0
|
||
8030: f0bff0ef jal ra,7f3a <udp_sendto_if>
|
||
8034: 0141 addi sp,sp,16
|
||
8036: 9def806f j 214 <__riscv_restore_0>
|
||
803a: 5571 li a0,-4
|
||
803c: bfe5 j 8034 <udp_sendto+0x24>
|
||
|
||
0000803e <udp_send>:
|
||
udp_send():
|
||
803e: 9b2f82ef jal t0,1f0 <__riscv_save_0>
|
||
8042: 2956 lhu a3,20(a0)
|
||
8044: 00450613 addi a2,a0,4 # e0000004 <_eusrstack+0xbffe0004>
|
||
8048: fc9ff0ef jal ra,8010 <udp_sendto>
|
||
804c: 9c8f806f j 214 <__riscv_restore_0>
|
||
|
||
00008050 <udp_connect>:
|
||
udp_connect():
|
||
8050: 9a0f82ef jal t0,1f0 <__riscv_save_0>
|
||
8054: 293e lhu a5,18(a0)
|
||
8056: 842a mv s0,a0
|
||
8058: 84ae mv s1,a1
|
||
805a: 8932 mv s2,a2
|
||
805c: cbb1 beqz a5,80b0 <udp_connect+0x60>
|
||
805e: 4781 li a5,0
|
||
8060: c899 beqz s1,8076 <udp_connect+0x26>
|
||
8062: 3098 lbu a4,1(s1)
|
||
8064: 209c lbu a5,0(s1)
|
||
8066: 0722 slli a4,a4,0x8
|
||
8068: 8f5d or a4,a4,a5
|
||
806a: 20bc lbu a5,2(s1)
|
||
806c: 07c2 slli a5,a5,0x10
|
||
806e: 8f5d or a4,a4,a5
|
||
8070: 30bc lbu a5,3(s1)
|
||
8072: 07e2 slli a5,a5,0x18
|
||
8074: 8fd9 or a5,a5,a4
|
||
8076: 2818 lbu a4,16(s0)
|
||
8078: c05c sw a5,4(s0)
|
||
807a: 01241a23 sh s2,20(s0)
|
||
807e: 00476713 ori a4,a4,4
|
||
8082: a818 sb a4,16(s0)
|
||
8084: 4018 lw a4,0(s0)
|
||
8086: ef05 bnez a4,80be <udp_connect+0x6e>
|
||
8088: cf85 beqz a5,80c0 <udp_connect+0x70>
|
||
808a: 00440513 addi a0,s0,4
|
||
808e: f7cfb0ef jal ra,380a <ip_route>
|
||
8092: 87aa mv a5,a0
|
||
8094: 5571 li a0,-4
|
||
8096: c395 beqz a5,80ba <udp_connect+0x6a>
|
||
8098: 43dc lw a5,4(a5)
|
||
809a: c01c sw a5,0(s0)
|
||
809c: 9481a683 lw a3,-1720(gp) # 20000168 <udp_pcbs>
|
||
80a0: 94818793 addi a5,gp,-1720 # 20000168 <udp_pcbs>
|
||
80a4: 8736 mv a4,a3
|
||
80a6: e305 bnez a4,80c6 <udp_connect+0x76>
|
||
80a8: c454 sw a3,12(s0)
|
||
80aa: c380 sw s0,0(a5)
|
||
80ac: 4501 li a0,0
|
||
80ae: a031 j 80ba <udp_connect+0x6a>
|
||
80b0: 4601 li a2,0
|
||
80b2: 85aa mv a1,a0
|
||
80b4: dedff0ef jal ra,7ea0 <udp_bind>
|
||
80b8: d15d beqz a0,805e <udp_connect+0xe>
|
||
80ba: 95af806f j 214 <__riscv_restore_0>
|
||
80be: fff9 bnez a5,809c <udp_connect+0x4c>
|
||
80c0: 00042023 sw zero,0(s0)
|
||
80c4: bfe1 j 809c <udp_connect+0x4c>
|
||
80c6: fe8703e3 beq a4,s0,80ac <udp_connect+0x5c>
|
||
80ca: 4758 lw a4,12(a4)
|
||
80cc: bfe9 j 80a6 <udp_connect+0x56>
|
||
|
||
000080ce <udp_recv>:
|
||
udp_recv():
|
||
80ce: cd0c sw a1,24(a0)
|
||
80d0: cd50 sw a2,28(a0)
|
||
80d2: 8082 ret
|
||
|
||
000080d4 <udp_new>:
|
||
udp_new():
|
||
80d4: 91cf82ef jal t0,1f0 <__riscv_save_0>
|
||
80d8: 4505 li a0,1
|
||
80da: 8e3fc0ef jal ra,49bc <memp_malloc>
|
||
80de: 842a mv s0,a0
|
||
80e0: c909 beqz a0,80f2 <udp_new+0x1e>
|
||
80e2: 02000613 li a2,32
|
||
80e6: 4581 li a1,0
|
||
80e8: 938f80ef jal ra,220 <memset>
|
||
80ec: f8000793 li a5,-128
|
||
80f0: b43c sb a5,11(s0)
|
||
80f2: 8522 mv a0,s0
|
||
80f4: 920f806f j 214 <__riscv_restore_0>
|
||
|
||
000080f8 <icmp_send_response.isra.0>:
|
||
icmp_send_response.isra.0():
|
||
80f8: 8def82ef jal t0,1d6 <__riscv_save_4>
|
||
80fc: 842a mv s0,a0
|
||
80fe: 8a2e mv s4,a1
|
||
8100: 89b2 mv s3,a2
|
||
8102: 02400593 li a1,36
|
||
8106: 4601 li a2,0
|
||
8108: 4505 li a0,1
|
||
810a: af3fc0ef jal ra,4bfc <pbuf_alloc>
|
||
810e: cd31 beqz a0,816a <icmp_send_response.isra.0+0x72>
|
||
8110: 00042903 lw s2,0(s0)
|
||
8114: 4140 lw s0,4(a0)
|
||
8116: 84aa mv s1,a0
|
||
8118: 4671 li a2,28
|
||
811a: 85ca mv a1,s2
|
||
811c: 01440023 sb s4,0(s0)
|
||
8120: 013400a3 sb s3,1(s0)
|
||
8124: 00040223 sb zero,4(s0)
|
||
8128: 000402a3 sb zero,5(s0)
|
||
812c: 00040323 sb zero,6(s0)
|
||
8130: 000403a3 sb zero,7(s0)
|
||
8134: 00840513 addi a0,s0,8
|
||
8138: 27f000ef jal ra,8bb6 <memcpy>
|
||
813c: 24ae lhu a1,10(s1)
|
||
813e: 00040123 sb zero,2(s0)
|
||
8142: 000401a3 sb zero,3(s0)
|
||
8146: 8522 mv a0,s0
|
||
8148: 211d jal 856e <inet_chksum>
|
||
814a: a028 sb a0,2(s0)
|
||
814c: 8121 srli a0,a0,0x8
|
||
814e: b028 sb a0,3(s0)
|
||
8150: 4785 li a5,1
|
||
8152: 4701 li a4,0
|
||
8154: 08000693 li a3,128
|
||
8158: 00c90613 addi a2,s2,12
|
||
815c: 4581 li a1,0
|
||
815e: 8526 mv a0,s1
|
||
8160: aebfb0ef jal ra,3c4a <ip_output>
|
||
8164: 8526 mv a0,s1
|
||
8166: a49fc0ef jal ra,4bae <pbuf_free>
|
||
816a: 8a0f806f j 20a <__riscv_restore_4>
|
||
|
||
0000816e <icmp_input>:
|
||
icmp_input():
|
||
816e: 85af82ef jal t0,1c8 <__riscv_save_10>
|
||
8172: 4140 lw s0,4(a0)
|
||
8174: 84aa mv s1,a0
|
||
8176: 1141 addi sp,sp,-16
|
||
8178: 301c lbu a5,1(s0)
|
||
817a: 2008 lbu a0,0(s0)
|
||
817c: 89ae mv s3,a1
|
||
817e: 07a2 slli a5,a5,0x8
|
||
8180: 8d5d or a0,a0,a5
|
||
8182: e4afb0ef jal ra,37cc <ntohs>
|
||
8186: 00655913 srli s2,a0,0x6
|
||
818a: 03c97913 andi s2,s2,60
|
||
818e: 41200ab3 neg s5,s2
|
||
8192: 0ac2 slli s5,s5,0x10
|
||
8194: 410ada93 srai s5,s5,0x10
|
||
8198: 85d6 mv a1,s5
|
||
819a: 8526 mv a0,s1
|
||
819c: 9a5fc0ef jal ra,4b40 <pbuf_header>
|
||
81a0: e139 bnez a0,81e6 <icmp_input+0x78>
|
||
81a2: 249e lhu a5,8(s1)
|
||
81a4: 468d li a3,3
|
||
81a6: 04f6f063 bgeu a3,a5,81e6 <icmp_input+0x78>
|
||
81aa: 40dc lw a5,4(s1)
|
||
81ac: 2398 lbu a4,0(a5)
|
||
81ae: 04d71263 bne a4,a3,81f2 <icmp_input+0x84>
|
||
81b2: 2798 lbu a4,8(a5)
|
||
81b4: 00878693 addi a3,a5,8
|
||
81b8: 3f88 lbu a0,25(a5)
|
||
81ba: 8b3d andi a4,a4,15
|
||
81bc: 070a slli a4,a4,0x2
|
||
81be: 9736 add a4,a4,a3
|
||
81c0: 232c lbu a1,2(a4)
|
||
81c2: 00374803 lbu a6,3(a4) # 8003 <udp_sendto_if+0xc9>
|
||
81c6: 2f98 lbu a4,24(a5)
|
||
81c8: 0522 slli a0,a0,0x8
|
||
81ca: 3394 lbu a3,1(a5)
|
||
81cc: 8d59 or a0,a0,a4
|
||
81ce: 2fb8 lbu a4,26(a5)
|
||
81d0: 3b90 lbu a2,17(a5)
|
||
81d2: 05a2 slli a1,a1,0x8
|
||
81d4: 0742 slli a4,a4,0x10
|
||
81d6: 8f49 or a4,a4,a0
|
||
81d8: 3fa8 lbu a0,27(a5)
|
||
81da: 0105e5b3 or a1,a1,a6
|
||
81de: 0562 slli a0,a0,0x18
|
||
81e0: 8d59 or a0,a0,a4
|
||
81e2: c03fa0ef jal ra,2de4 <LwipUnreachPort>
|
||
81e6: 8526 mv a0,s1
|
||
81e8: 9c7fc0ef jal ra,4bae <pbuf_free>
|
||
81ec: 0141 addi sp,sp,16
|
||
81ee: 812f806f j 200 <__riscv_restore_10>
|
||
81f2: 47a1 li a5,8
|
||
81f4: fef719e3 bne a4,a5,81e6 <icmp_input+0x78>
|
||
81f8: 381c lbu a5,17(s0)
|
||
81fa: 01044a03 lbu s4,16(s0)
|
||
81fe: f0000537 lui a0,0xf0000
|
||
8202: 07a2 slli a5,a5,0x8
|
||
8204: 0147e7b3 or a5,a5,s4
|
||
8208: 01244a03 lbu s4,18(s0)
|
||
820c: 4b01 li s6,0
|
||
820e: 0a42 slli s4,s4,0x10
|
||
8210: 00fa67b3 or a5,s4,a5
|
||
8214: 01344a03 lbu s4,19(s0)
|
||
8218: 0a62 slli s4,s4,0x18
|
||
821a: 00fa6a33 or s4,s4,a5
|
||
821e: de0fb0ef jal ra,37fe <ntohl>
|
||
8222: 8c2a mv s8,a0
|
||
8224: e0000537 lui a0,0xe0000
|
||
8228: dd6fb0ef jal ra,37fe <ntohl>
|
||
822c: 8baa mv s7,a0
|
||
822e: 85ce mv a1,s3
|
||
8230: 01040513 addi a0,s0,16
|
||
8234: a4dfb0ef jal ra,3c80 <ip_addr_isbroadcast>
|
||
8238: e519 bnez a0,8246 <icmp_input+0xd8>
|
||
823a: 018a7533 and a0,s4,s8
|
||
823e: 41750533 sub a0,a0,s7
|
||
8242: 00a03b33 snez s6,a0
|
||
8246: b91fa0ef jal ra,2dd6 <QueryPingEnable>
|
||
824a: dd51 beqz a0,81e6 <icmp_input+0x78>
|
||
824c: f80b0de3 beqz s6,81e6 <icmp_input+0x78>
|
||
8250: 249a lhu a4,8(s1)
|
||
8252: 479d li a5,7
|
||
8254: f8e7f9e3 bgeu a5,a4,81e6 <icmp_input+0x78>
|
||
8258: 8526 mv a0,s1
|
||
825a: 2625 jal 8582 <inet_chksum_pbuf>
|
||
825c: f549 bnez a0,81e6 <icmp_input+0x78>
|
||
825e: 0942 slli s2,s2,0x10
|
||
8260: 02200593 li a1,34
|
||
8264: 8526 mv a0,s1
|
||
8266: 41095913 srai s2,s2,0x10
|
||
826a: 8d7fc0ef jal ra,4b40 <pbuf_header>
|
||
826e: 12050463 beqz a0,8396 <icmp_input+0x228>
|
||
8272: 85ca mv a1,s2
|
||
8274: 8526 mv a0,s1
|
||
8276: 8cbfc0ef jal ra,4b40 <pbuf_header>
|
||
827a: f535 bnez a0,81e6 <icmp_input+0x78>
|
||
827c: 248e lhu a1,8(s1)
|
||
827e: 4601 li a2,0
|
||
8280: 4509 li a0,2
|
||
8282: 97bfc0ef jal ra,4bfc <pbuf_alloc>
|
||
8286: 8a2a mv s4,a0
|
||
8288: dd39 beqz a0,81e6 <icmp_input+0x78>
|
||
828a: 85a6 mv a1,s1
|
||
828c: b55fc0ef jal ra,4de0 <pbuf_copy>
|
||
8290: f939 bnez a0,81e6 <icmp_input+0x78>
|
||
8292: 85d6 mv a1,s5
|
||
8294: 8552 mv a0,s4
|
||
8296: 004a2403 lw s0,4(s4)
|
||
829a: 8a7fc0ef jal ra,4b40 <pbuf_header>
|
||
829e: f521 bnez a0,81e6 <icmp_input+0x78>
|
||
82a0: 8526 mv a0,s1
|
||
82a2: 90dfc0ef jal ra,4bae <pbuf_free>
|
||
82a6: 84d2 mv s1,s4
|
||
82a8: 3458 lbu a4,13(s0)
|
||
82aa: 245c lbu a5,12(s0)
|
||
82ac: 3814 lbu a3,17(s0)
|
||
82ae: 0722 slli a4,a4,0x8
|
||
82b0: 8f5d or a4,a4,a5
|
||
82b2: 247c lbu a5,14(s0)
|
||
82b4: 06a2 slli a3,a3,0x8
|
||
82b6: 0044aa03 lw s4,4(s1)
|
||
82ba: 07c2 slli a5,a5,0x10
|
||
82bc: 8f5d or a4,a4,a5
|
||
82be: 347c lbu a5,15(s0)
|
||
82c0: 653d lui a0,0xf
|
||
82c2: 7ff50513 addi a0,a0,2047 # f7ff <_data_lma+0x696b>
|
||
82c6: 07e2 slli a5,a5,0x18
|
||
82c8: 8fd9 or a5,a5,a4
|
||
82ca: 2818 lbu a4,16(s0)
|
||
82cc: a81c sb a5,16(s0)
|
||
82ce: 8ed9 or a3,a3,a4
|
||
82d0: 2838 lbu a4,18(s0)
|
||
82d2: 0742 slli a4,a4,0x10
|
||
82d4: 8ed9 or a3,a3,a4
|
||
82d6: 3838 lbu a4,19(s0)
|
||
82d8: 0762 slli a4,a4,0x18
|
||
82da: 8f55 or a4,a4,a3
|
||
82dc: 00875693 srli a3,a4,0x8
|
||
82e0: a458 sb a4,12(s0)
|
||
82e2: b454 sb a3,13(s0)
|
||
82e4: 01075693 srli a3,a4,0x10
|
||
82e8: 8361 srli a4,a4,0x18
|
||
82ea: b478 sb a4,15(s0)
|
||
82ec: 0087d713 srli a4,a5,0x8
|
||
82f0: b818 sb a4,17(s0)
|
||
82f2: 0107d713 srli a4,a5,0x10
|
||
82f6: 83e1 srli a5,a5,0x18
|
||
82f8: a474 sb a3,14(s0)
|
||
82fa: a838 sb a4,18(s0)
|
||
82fc: b83c sb a5,19(s0)
|
||
82fe: 003a4a83 lbu s5,3(s4)
|
||
8302: 002a4783 lbu a5,2(s4)
|
||
8306: 000a0023 sb zero,0(s4)
|
||
830a: 0aa2 slli s5,s5,0x8
|
||
830c: 00faeab3 or s5,s5,a5
|
||
8310: caefb0ef jal ra,37be <htons>
|
||
8314: 08aae963 bltu s5,a0,83a6 <icmp_input+0x238>
|
||
8318: 6505 lui a0,0x1
|
||
831a: 80050513 addi a0,a0,-2048 # 800 <__stack_size>
|
||
831e: ca0fb0ef jal ra,37be <htons>
|
||
8322: 003a4783 lbu a5,3(s4)
|
||
8326: 002a4703 lbu a4,2(s4)
|
||
832a: 07a2 slli a5,a5,0x8
|
||
832c: 8fd9 or a5,a5,a4
|
||
832e: 0785 addi a5,a5,1
|
||
8330: 953e add a0,a0,a5
|
||
8332: 0542 slli a0,a0,0x10
|
||
8334: 8141 srli a0,a0,0x10
|
||
8336: 00aa0123 sb a0,2(s4)
|
||
833a: 8121 srli a0,a0,0x8
|
||
833c: 00aa01a3 sb a0,3(s4)
|
||
8340: 341c lbu a5,9(s0)
|
||
8342: 2408 lbu a0,8(s0)
|
||
8344: 07a2 slli a5,a5,0x8
|
||
8346: 8d5d or a0,a0,a5
|
||
8348: c84fb0ef jal ra,37cc <ntohs>
|
||
834c: 67a1 lui a5,0x8
|
||
834e: 0ff57513 andi a0,a0,255
|
||
8352: 8d5d or a0,a0,a5
|
||
8354: c6afb0ef jal ra,37be <htons>
|
||
8358: a408 sb a0,8(s0)
|
||
835a: 8121 srli a0,a0,0x8
|
||
835c: b408 sb a0,9(s0)
|
||
835e: 45d1 li a1,20
|
||
8360: 00040523 sb zero,10(s0)
|
||
8364: 000405a3 sb zero,11(s0)
|
||
8368: 8522 mv a0,s0
|
||
836a: 2411 jal 856e <inet_chksum>
|
||
836c: a428 sb a0,10(s0)
|
||
836e: 8121 srli a0,a0,0x8
|
||
8370: b428 sb a0,11(s0)
|
||
8372: 85ca mv a1,s2
|
||
8374: 8526 mv a0,s1
|
||
8376: fcafc0ef jal ra,4b40 <pbuf_header>
|
||
837a: e60516e3 bnez a0,81e6 <icmp_input+0x78>
|
||
837e: 884e mv a6,s3
|
||
8380: 4785 li a5,1
|
||
8382: 4701 li a4,0
|
||
8384: 08000693 li a3,128
|
||
8388: 4601 li a2,0
|
||
838a: 00c40593 addi a1,s0,12
|
||
838e: 8526 mv a0,s1
|
||
8390: f60fb0ef jal ra,3af0 <ip_output_if>
|
||
8394: bd89 j 81e6 <icmp_input+0x78>
|
||
8396: fde00593 li a1,-34
|
||
839a: 8526 mv a0,s1
|
||
839c: fa4fc0ef jal ra,4b40 <pbuf_header>
|
||
83a0: f00504e3 beqz a0,82a8 <icmp_input+0x13a>
|
||
83a4: b589 j 81e6 <icmp_input+0x78>
|
||
83a6: 6505 lui a0,0x1
|
||
83a8: 80050513 addi a0,a0,-2048 # 800 <__stack_size>
|
||
83ac: c12fb0ef jal ra,37be <htons>
|
||
83b0: 003a4783 lbu a5,3(s4)
|
||
83b4: 002a4703 lbu a4,2(s4)
|
||
83b8: 07a2 slli a5,a5,0x8
|
||
83ba: 8fd9 or a5,a5,a4
|
||
83bc: bf95 j 8330 <icmp_input+0x1c2>
|
||
|
||
000083be <icmp_dest_unreach>:
|
||
icmp_dest_unreach():
|
||
83be: e33f72ef jal t0,1f0 <__riscv_save_0>
|
||
83c2: 0ff5f613 andi a2,a1,255
|
||
83c6: 0511 addi a0,a0,4
|
||
83c8: 458d li a1,3
|
||
83ca: d2fff0ef jal ra,80f8 <icmp_send_response.isra.0>
|
||
83ce: e47f706f j 214 <__riscv_restore_0>
|
||
|
||
000083d2 <icmp_time_exceeded>:
|
||
icmp_time_exceeded():
|
||
83d2: e1ff72ef jal t0,1f0 <__riscv_save_0>
|
||
83d6: 0ff5f613 andi a2,a1,255
|
||
83da: 0511 addi a0,a0,4
|
||
83dc: 45ad li a1,11
|
||
83de: d1bff0ef jal ra,80f8 <icmp_send_response.isra.0>
|
||
83e2: e33f706f j 214 <__riscv_restore_0>
|
||
|
||
000083e6 <lwip_standard_chksum>:
|
||
lwip_standard_chksum():
|
||
83e6: e0bf72ef jal t0,1f0 <__riscv_save_0>
|
||
83ea: 00b50833 add a6,a0,a1
|
||
83ee: 0842 slli a6,a6,0x10
|
||
83f0: 86aa mv a3,a0
|
||
83f2: 4701 li a4,0
|
||
83f4: 01085813 srli a6,a6,0x10
|
||
83f8: 4885 li a7,1
|
||
83fa: 40d807b3 sub a5,a6,a3
|
||
83fe: 07c2 slli a5,a5,0x10
|
||
8400: 83c1 srli a5,a5,0x10
|
||
8402: 04f8e463 bltu a7,a5,844a <lwip_standard_chksum+0x64>
|
||
8406: 0015d793 srli a5,a1,0x1
|
||
840a: 00179693 slli a3,a5,0x1
|
||
840e: 9536 add a0,a0,a3
|
||
8410: 56f9 li a3,-2
|
||
8412: 02d787b3 mul a5,a5,a3
|
||
8416: 95be add a1,a1,a5
|
||
8418: 05c2 slli a1,a1,0x10
|
||
841a: 81c1 srli a1,a1,0x10
|
||
841c: c581 beqz a1,8424 <lwip_standard_chksum+0x3e>
|
||
841e: 211c lbu a5,0(a0)
|
||
8420: 07a2 slli a5,a5,0x8
|
||
8422: 973e add a4,a4,a5
|
||
8424: 6541 lui a0,0x10
|
||
8426: fff50693 addi a3,a0,-1 # ffff <_data_lma+0x716b>
|
||
842a: 01075793 srli a5,a4,0x10
|
||
842e: 8f75 and a4,a4,a3
|
||
8430: 00e78533 add a0,a5,a4
|
||
8434: 77c1 lui a5,0xffff0
|
||
8436: 8fe9 and a5,a5,a0
|
||
8438: c399 beqz a5,843e <lwip_standard_chksum+0x58>
|
||
843a: 8d75 and a0,a0,a3
|
||
843c: 0505 addi a0,a0,1
|
||
843e: 0542 slli a0,a0,0x10
|
||
8440: 8141 srli a0,a0,0x10
|
||
8442: b7cfb0ef jal ra,37be <htons>
|
||
8446: dcff706f j 214 <__riscv_restore_0>
|
||
844a: 329c lbu a5,1(a3)
|
||
844c: 2290 lbu a2,0(a3)
|
||
844e: 0689 addi a3,a3,2
|
||
8450: 07a2 slli a5,a5,0x8
|
||
8452: 8fd1 or a5,a5,a2
|
||
8454: 00879613 slli a2,a5,0x8
|
||
8458: 83a1 srli a5,a5,0x8
|
||
845a: 8fd1 or a5,a5,a2
|
||
845c: 07c2 slli a5,a5,0x10
|
||
845e: 83c1 srli a5,a5,0x10
|
||
8460: 973e add a4,a4,a5
|
||
8462: bf61 j 83fa <lwip_standard_chksum+0x14>
|
||
|
||
00008464 <inet_chksum_pseudo>:
|
||
inet_chksum_pseudo():
|
||
8464: d65f72ef jal t0,1c8 <__riscv_save_10>
|
||
8468: 200087b7 lui a5,0x20008
|
||
846c: 8507a783 lw a5,-1968(a5) # 20007850 <WCHCfg+0x14>
|
||
8470: 84ba mv s1,a4
|
||
8472: 1141 addi sp,sp,-16
|
||
8474: 00579713 slli a4,a5,0x5
|
||
8478: 0e074963 bltz a4,856a <inet_chksum_pseudo+0x106>
|
||
847c: 6b41 lui s6,0x10
|
||
847e: 892a mv s2,a0
|
||
8480: 8aae mv s5,a1
|
||
8482: 8a32 mv s4,a2
|
||
8484: 4981 li s3,0
|
||
8486: 4401 li s0,0
|
||
8488: 1b7d addi s6,s6,-1
|
||
848a: 4b85 li s7,1
|
||
848c: 08091e63 bnez s2,8528 <inet_chksum_pseudo+0xc4>
|
||
8490: 00098b63 beqz s3,84a6 <inet_chksum_pseudo+0x42>
|
||
8494: 6741 lui a4,0x10
|
||
8496: 00841793 slli a5,s0,0x8
|
||
849a: 177d addi a4,a4,-1
|
||
849c: 8021 srli s0,s0,0x8
|
||
849e: 8ff9 and a5,a5,a4
|
||
84a0: 0ff47413 andi s0,s0,255
|
||
84a4: 8c5d or s0,s0,a5
|
||
84a6: 001ac503 lbu a0,1(s5)
|
||
84aa: 000ac783 lbu a5,0(s5)
|
||
84ae: 000a4703 lbu a4,0(s4)
|
||
84b2: 0522 slli a0,a0,0x8
|
||
84b4: 8d5d or a0,a0,a5
|
||
84b6: 002ac783 lbu a5,2(s5)
|
||
84ba: 003a4603 lbu a2,3(s4)
|
||
84be: 6941 lui s2,0x10
|
||
84c0: 07c2 slli a5,a5,0x10
|
||
84c2: 8d5d or a0,a0,a5
|
||
84c4: 003ac783 lbu a5,3(s5)
|
||
84c8: 0662 slli a2,a2,0x18
|
||
84ca: 197d addi s2,s2,-1
|
||
84cc: 07e2 slli a5,a5,0x18
|
||
84ce: 8fc9 or a5,a5,a0
|
||
84d0: 001a4503 lbu a0,1(s4)
|
||
84d4: 0522 slli a0,a0,0x8
|
||
84d6: 8f49 or a4,a4,a0
|
||
84d8: 002a4503 lbu a0,2(s4)
|
||
84dc: 0542 slli a0,a0,0x10
|
||
84de: 8d59 or a0,a0,a4
|
||
84e0: 8e49 or a2,a2,a0
|
||
84e2: 01267533 and a0,a2,s2
|
||
84e6: 8241 srli a2,a2,0x10
|
||
84e8: 0127f733 and a4,a5,s2
|
||
84ec: 9532 add a0,a0,a2
|
||
84ee: 953a add a0,a0,a4
|
||
84f0: 83c1 srli a5,a5,0x10
|
||
84f2: 953e add a0,a0,a5
|
||
84f4: 942a add s0,s0,a0
|
||
84f6: 8536 mv a0,a3
|
||
84f8: ac6fb0ef jal ra,37be <htons>
|
||
84fc: 942a add s0,s0,a0
|
||
84fe: 8526 mv a0,s1
|
||
8500: abefb0ef jal ra,37be <htons>
|
||
8504: 9522 add a0,a0,s0
|
||
8506: 01055413 srli s0,a0,0x10
|
||
850a: 01257533 and a0,a0,s2
|
||
850e: 942a add s0,s0,a0
|
||
8510: 01045513 srli a0,s0,0x10
|
||
8514: 01247433 and s0,s0,s2
|
||
8518: 9522 add a0,a0,s0
|
||
851a: fff54513 not a0,a0
|
||
851e: 0542 slli a0,a0,0x10
|
||
8520: 8141 srli a0,a0,0x10
|
||
8522: 0141 addi sp,sp,16
|
||
8524: cddf706f j 200 <__riscv_restore_10>
|
||
8528: 00a95583 lhu a1,10(s2) # 1000a <_data_lma+0x7176>
|
||
852c: 00492503 lw a0,4(s2)
|
||
8530: c636 sw a3,12(sp)
|
||
8532: eb5ff0ef jal ra,83e6 <lwip_standard_chksum>
|
||
8536: 942a add s0,s0,a0
|
||
8538: 01045793 srli a5,s0,0x10
|
||
853c: 01647433 and s0,s0,s6
|
||
8540: 943e add s0,s0,a5
|
||
8542: 00a95783 lhu a5,10(s2)
|
||
8546: 46b2 lw a3,12(sp)
|
||
8548: 8b85 andi a5,a5,1
|
||
854a: cf89 beqz a5,8564 <inet_chksum_pseudo+0x100>
|
||
854c: 00841793 slli a5,s0,0x8
|
||
8550: 8021 srli s0,s0,0x8
|
||
8552: 413b89b3 sub s3,s7,s3
|
||
8556: 0167f7b3 and a5,a5,s6
|
||
855a: 0ff47413 andi s0,s0,255
|
||
855e: 0ff9f993 andi s3,s3,255
|
||
8562: 8c5d or s0,s0,a5
|
||
8564: 00092903 lw s2,0(s2)
|
||
8568: b715 j 848c <inet_chksum_pseudo+0x28>
|
||
856a: 4501 li a0,0
|
||
856c: bf5d j 8522 <inet_chksum_pseudo+0xbe>
|
||
|
||
0000856e <inet_chksum>:
|
||
inet_chksum():
|
||
856e: c83f72ef jal t0,1f0 <__riscv_save_0>
|
||
8572: e75ff0ef jal ra,83e6 <lwip_standard_chksum>
|
||
8576: fff54513 not a0,a0
|
||
857a: 0542 slli a0,a0,0x10
|
||
857c: 8141 srli a0,a0,0x10
|
||
857e: c97f706f j 214 <__riscv_restore_0>
|
||
|
||
00008582 <inet_chksum_pbuf>:
|
||
inet_chksum_pbuf():
|
||
8582: c55f72ef jal t0,1d6 <__riscv_save_4>
|
||
8586: 69c1 lui s3,0x10
|
||
8588: 84aa mv s1,a0
|
||
858a: 4901 li s2,0
|
||
858c: 4401 li s0,0
|
||
858e: 19fd addi s3,s3,-1
|
||
8590: 4a05 li s4,1
|
||
8592: e095 bnez s1,85b6 <inet_chksum_pbuf+0x34>
|
||
8594: 00090b63 beqz s2,85aa <inet_chksum_pbuf+0x28>
|
||
8598: 6741 lui a4,0x10
|
||
859a: 00841793 slli a5,s0,0x8
|
||
859e: 177d addi a4,a4,-1
|
||
85a0: 8021 srli s0,s0,0x8
|
||
85a2: 8ff9 and a5,a5,a4
|
||
85a4: 0ff47413 andi s0,s0,255
|
||
85a8: 8c5d or s0,s0,a5
|
||
85aa: fff44513 not a0,s0
|
||
85ae: 0542 slli a0,a0,0x10
|
||
85b0: 8141 srli a0,a0,0x10
|
||
85b2: c59f706f j 20a <__riscv_restore_4>
|
||
85b6: 24ae lhu a1,10(s1)
|
||
85b8: 40c8 lw a0,4(s1)
|
||
85ba: e2dff0ef jal ra,83e6 <lwip_standard_chksum>
|
||
85be: 942a add s0,s0,a0
|
||
85c0: 01045793 srli a5,s0,0x10
|
||
85c4: 01347433 and s0,s0,s3
|
||
85c8: 943e add s0,s0,a5
|
||
85ca: 24be lhu a5,10(s1)
|
||
85cc: 8b85 andi a5,a5,1
|
||
85ce: cf89 beqz a5,85e8 <inet_chksum_pbuf+0x66>
|
||
85d0: 00841793 slli a5,s0,0x8
|
||
85d4: 8021 srli s0,s0,0x8
|
||
85d6: 412a0933 sub s2,s4,s2
|
||
85da: 0137f7b3 and a5,a5,s3
|
||
85de: 0ff47413 andi s0,s0,255
|
||
85e2: 0ff97913 andi s2,s2,255
|
||
85e6: 8c5d or s0,s0,a5
|
||
85e8: 4084 lw s1,0(s1)
|
||
85ea: b765 j 8592 <inet_chksum_pbuf+0x10>
|
||
|
||
000085ec <printchar>:
|
||
printchar():
|
||
85ec: 1101 addi sp,sp,-32
|
||
85ee: ce06 sw ra,28(sp)
|
||
85f0: c62e sw a1,12(sp)
|
||
85f2: cd0d beqz a0,862c <printchar+0x40>
|
||
85f4: 4118 lw a4,0(a0)
|
||
85f6: 87aa mv a5,a0
|
||
85f8: c305 beqz a4,8618 <printchar+0x2c>
|
||
85fa: 4158 lw a4,4(a0)
|
||
85fc: 557d li a0,-1
|
||
85fe: cb11 beqz a4,8612 <printchar+0x26>
|
||
8600: 4685 li a3,1
|
||
8602: 00d71b63 bne a4,a3,8618 <printchar+0x2c>
|
||
8606: 4798 lw a4,8(a5)
|
||
8608: 00070023 sb zero,0(a4) # 10000 <_data_lma+0x716c>
|
||
860c: 0007a223 sw zero,4(a5)
|
||
8610: 4505 li a0,1
|
||
8612: 40f2 lw ra,28(sp)
|
||
8614: 6105 addi sp,sp,32
|
||
8616: 8082 ret
|
||
8618: 4798 lw a4,8(a5)
|
||
861a: 46b2 lw a3,12(sp)
|
||
861c: a314 sb a3,0(a4)
|
||
861e: 4798 lw a4,8(a5)
|
||
8620: 0705 addi a4,a4,1
|
||
8622: c798 sw a4,8(a5)
|
||
8624: 43d8 lw a4,4(a5)
|
||
8626: 177d addi a4,a4,-1
|
||
8628: c3d8 sw a4,4(a5)
|
||
862a: b7dd j 8610 <printchar+0x24>
|
||
862c: 4605 li a2,1
|
||
862e: 006c addi a1,sp,12
|
||
8630: b3cf90ef jal ra,196c <_write>
|
||
8634: bff1 j 8610 <printchar+0x24>
|
||
|
||
00008636 <prints>:
|
||
prints():
|
||
8636: 7179 addi sp,sp,-48
|
||
8638: d422 sw s0,40(sp)
|
||
863a: d226 sw s1,36(sp)
|
||
863c: ce4e sw s3,28(sp)
|
||
863e: cc52 sw s4,24(sp)
|
||
8640: ca56 sw s5,20(sp)
|
||
8642: d606 sw ra,44(sp)
|
||
8644: d04a sw s2,32(sp)
|
||
8646: c85a sw s6,16(sp)
|
||
8648: 8a2a mv s4,a0
|
||
864a: 8aae mv s5,a1
|
||
864c: 8432 mv s0,a2
|
||
864e: 4481 li s1,0
|
||
8650: 02000993 li s3,32
|
||
8654: 02064463 bltz a2,867c <prints+0x46>
|
||
8658: 009a87b3 add a5,s5,s1
|
||
865c: 00078783 lb a5,0(a5)
|
||
8660: e39d bnez a5,8686 <prints+0x50>
|
||
8662: 0284d663 bge s1,s0,868e <prints+0x58>
|
||
8666: 02e4d263 bge s1,a4,868a <prints+0x54>
|
||
866a: 8c19 sub s0,s0,a4
|
||
866c: 0026f793 andi a5,a3,2
|
||
8670: 02000993 li s3,32
|
||
8674: c781 beqz a5,867c <prints+0x46>
|
||
8676: e319 bnez a4,867c <prints+0x46>
|
||
8678: 03000993 li s3,48
|
||
867c: 8a85 andi a3,a3,1
|
||
867e: 4901 li s2,0
|
||
8680: ea85 bnez a3,86b0 <prints+0x7a>
|
||
8682: 8922 mv s2,s0
|
||
8684: a831 j 86a0 <prints+0x6a>
|
||
8686: 0485 addi s1,s1,1
|
||
8688: bfc1 j 8658 <prints+0x22>
|
||
868a: 8c05 sub s0,s0,s1
|
||
868c: b7c5 j 866c <prints+0x36>
|
||
868e: 4401 li s0,0
|
||
8690: bff1 j 866c <prints+0x36>
|
||
8692: 85ce mv a1,s3
|
||
8694: 8552 mv a0,s4
|
||
8696: c63a sw a4,12(sp)
|
||
8698: f55ff0ef jal ra,85ec <printchar>
|
||
869c: 4732 lw a4,12(sp)
|
||
869e: 197d addi s2,s2,-1
|
||
86a0: ff2049e3 bgtz s2,8692 <prints+0x5c>
|
||
86a4: 8922 mv s2,s0
|
||
86a6: 00045363 bgez s0,86ac <prints+0x76>
|
||
86aa: 4901 li s2,0
|
||
86ac: 41240433 sub s0,s0,s2
|
||
86b0: 02e4cb63 blt s1,a4,86e6 <prints+0xb0>
|
||
86b4: 84ca mv s1,s2
|
||
86b6: 412487b3 sub a5,s1,s2
|
||
86ba: 97d6 add a5,a5,s5
|
||
86bc: 00078583 lb a1,0(a5)
|
||
86c0: e1a1 bnez a1,8700 <prints+0xca>
|
||
86c2: 8922 mv s2,s0
|
||
86c4: 05204363 bgtz s2,870a <prints+0xd4>
|
||
86c8: 00045363 bgez s0,86ce <prints+0x98>
|
||
86cc: 4401 li s0,0
|
||
86ce: 00940533 add a0,s0,s1
|
||
86d2: 50b2 lw ra,44(sp)
|
||
86d4: 5422 lw s0,40(sp)
|
||
86d6: 5492 lw s1,36(sp)
|
||
86d8: 5902 lw s2,32(sp)
|
||
86da: 49f2 lw s3,28(sp)
|
||
86dc: 4a62 lw s4,24(sp)
|
||
86de: 4ad2 lw s5,20(sp)
|
||
86e0: 4b42 lw s6,16(sp)
|
||
86e2: 6145 addi sp,sp,48
|
||
86e4: 8082 ret
|
||
86e6: 409704b3 sub s1,a4,s1
|
||
86ea: 8b26 mv s6,s1
|
||
86ec: 03000593 li a1,48
|
||
86f0: 8552 mv a0,s4
|
||
86f2: 1b7d addi s6,s6,-1
|
||
86f4: ef9ff0ef jal ra,85ec <printchar>
|
||
86f8: fe0b1ae3 bnez s6,86ec <prints+0xb6>
|
||
86fc: 9926 add s2,s2,s1
|
||
86fe: bf5d j 86b4 <prints+0x7e>
|
||
8700: 8552 mv a0,s4
|
||
8702: eebff0ef jal ra,85ec <printchar>
|
||
8706: 0485 addi s1,s1,1
|
||
8708: b77d j 86b6 <prints+0x80>
|
||
870a: 85ce mv a1,s3
|
||
870c: 8552 mv a0,s4
|
||
870e: edfff0ef jal ra,85ec <printchar>
|
||
8712: 197d addi s2,s2,-1
|
||
8714: bf45 j 86c4 <prints+0x8e>
|
||
|
||
00008716 <printInt>:
|
||
printInt():
|
||
8716: 715d addi sp,sp,-80
|
||
8718: c2a6 sw s1,68(sp)
|
||
871a: dc52 sw s4,56(sp)
|
||
871c: c686 sw ra,76(sp)
|
||
871e: c4a2 sw s0,72(sp)
|
||
8720: c0ca sw s2,64(sp)
|
||
8722: de4e sw s3,60(sp)
|
||
8724: da56 sw s5,52(sp)
|
||
8726: 84ba mv s1,a4
|
||
8728: 8a3e mv s4,a5
|
||
872a: e19d bnez a1,8750 <printInt+0x3a>
|
||
872c: 03000793 li a5,48
|
||
8730: 4701 li a4,0
|
||
8732: 86d2 mv a3,s4
|
||
8734: 8626 mv a2,s1
|
||
8736: 082c addi a1,sp,24
|
||
8738: 84fc sh a5,24(sp)
|
||
873a: efdff0ef jal ra,8636 <prints>
|
||
873e: 40b6 lw ra,76(sp)
|
||
8740: 4426 lw s0,72(sp)
|
||
8742: 4496 lw s1,68(sp)
|
||
8744: 4906 lw s2,64(sp)
|
||
8746: 59f2 lw s3,60(sp)
|
||
8748: 5a62 lw s4,56(sp)
|
||
874a: 5ad2 lw s5,52(sp)
|
||
874c: 6161 addi sp,sp,80
|
||
874e: 8082 ret
|
||
8750: 892a mv s2,a0
|
||
8752: 8436 mv s0,a3
|
||
8754: 8ac6 mv s5,a7
|
||
8756: ca91 beqz a3,876a <printInt+0x54>
|
||
8758: 47a9 li a5,10
|
||
875a: 4401 li s0,0
|
||
875c: 00f61763 bne a2,a5,876a <printInt+0x54>
|
||
8760: 0005d563 bgez a1,876a <printInt+0x54>
|
||
8764: 40b005b3 neg a1,a1
|
||
8768: 4405 li s0,1
|
||
876a: 020107a3 sb zero,47(sp)
|
||
876e: 02f10793 addi a5,sp,47
|
||
8772: 46a5 li a3,9
|
||
8774: fc680513 addi a0,a6,-58
|
||
8778: 02c5f733 remu a4,a1,a2
|
||
877c: 00e6d363 bge a3,a4,8782 <printInt+0x6c>
|
||
8780: 972a add a4,a4,a0
|
||
8782: 03070713 addi a4,a4,48
|
||
8786: fee78fa3 sb a4,-1(a5)
|
||
878a: fff78993 addi s3,a5,-1
|
||
878e: 02c5d733 divu a4,a1,a2
|
||
8792: 04c5fb63 bgeu a1,a2,87e8 <printInt+0xd2>
|
||
8796: cc09 beqz s0,87b0 <printInt+0x9a>
|
||
8798: c8b9 beqz s1,87ee <printInt+0xd8>
|
||
879a: 002a7713 andi a4,s4,2
|
||
879e: cb21 beqz a4,87ee <printInt+0xd8>
|
||
87a0: 02d00593 li a1,45
|
||
87a4: 854a mv a0,s2
|
||
87a6: c642 sw a6,12(sp)
|
||
87a8: e45ff0ef jal ra,85ec <printchar>
|
||
87ac: 4832 lw a6,12(sp)
|
||
87ae: 14fd addi s1,s1,-1
|
||
87b0: 004a7793 andi a5,s4,4
|
||
87b4: c38d beqz a5,87d6 <printInt+0xc0>
|
||
87b6: 06100793 li a5,97
|
||
87ba: 03000593 li a1,48
|
||
87be: 854a mv a0,s2
|
||
87c0: 02f81f63 bne a6,a5,87fe <printInt+0xe8>
|
||
87c4: e29ff0ef jal ra,85ec <printchar>
|
||
87c8: 07800593 li a1,120
|
||
87cc: 854a mv a0,s2
|
||
87ce: e1fff0ef jal ra,85ec <printchar>
|
||
87d2: 0409 addi s0,s0,2
|
||
87d4: 14f9 addi s1,s1,-2
|
||
87d6: 8756 mv a4,s5
|
||
87d8: 86d2 mv a3,s4
|
||
87da: 8626 mv a2,s1
|
||
87dc: 85ce mv a1,s3
|
||
87de: 854a mv a0,s2
|
||
87e0: e57ff0ef jal ra,8636 <prints>
|
||
87e4: 9522 add a0,a0,s0
|
||
87e6: bfa1 j 873e <printInt+0x28>
|
||
87e8: 85ba mv a1,a4
|
||
87ea: 87ce mv a5,s3
|
||
87ec: b771 j 8778 <printInt+0x62>
|
||
87ee: 02d00713 li a4,45
|
||
87f2: fee98fa3 sb a4,-1(s3) # ffff <_data_lma+0x716b>
|
||
87f6: 4401 li s0,0
|
||
87f8: ffe78993 addi s3,a5,-2
|
||
87fc: bf55 j 87b0 <printInt+0x9a>
|
||
87fe: defff0ef jal ra,85ec <printchar>
|
||
8802: 05800593 li a1,88
|
||
8806: b7d9 j 87cc <printInt+0xb6>
|
||
|
||
00008808 <printLongLongInt>:
|
||
printLongLongInt():
|
||
8808: 4501 li a0,0
|
||
880a: 8082 ret
|
||
|
||
0000880c <printDouble>:
|
||
printDouble():
|
||
880c: 4501 li a0,0
|
||
880e: 8082 ret
|
||
|
||
00008810 <print>:
|
||
print():
|
||
8810: 7139 addi sp,sp,-64
|
||
8812: d05a sw s6,32(sp)
|
||
8814: 00009b37 lui s6,0x9
|
||
8818: dc22 sw s0,56(sp)
|
||
881a: da26 sw s1,52(sp)
|
||
881c: d84a sw s2,48(sp)
|
||
881e: d64e sw s3,44(sp)
|
||
8820: d452 sw s4,40(sp)
|
||
8822: d256 sw s5,36(sp)
|
||
8824: ce5e sw s7,28(sp)
|
||
8826: cc62 sw s8,24(sp)
|
||
8828: de06 sw ra,60(sp)
|
||
882a: ca66 sw s9,20(sp)
|
||
882c: 89aa mv s3,a0
|
||
882e: 892e mv s2,a1
|
||
8830: 8432 mv s0,a2
|
||
8832: 4a01 li s4,0
|
||
8834: 4481 li s1,0
|
||
8836: 02500b93 li s7,37
|
||
883a: 02b00a93 li s5,43
|
||
883e: 4c29 li s8,10
|
||
8840: e8cb0b13 addi s6,s6,-372 # 8e8c <tcp_backoff+0x30>
|
||
8844: 00090583 lb a1,0(s2)
|
||
8848: e58d bnez a1,8872 <print+0x62>
|
||
884a: 00098663 beqz s3,8856 <print+0x46>
|
||
884e: 4581 li a1,0
|
||
8850: 854e mv a0,s3
|
||
8852: d9bff0ef jal ra,85ec <printchar>
|
||
8856: 50f2 lw ra,60(sp)
|
||
8858: 5462 lw s0,56(sp)
|
||
885a: 8526 mv a0,s1
|
||
885c: 5942 lw s2,48(sp)
|
||
885e: 54d2 lw s1,52(sp)
|
||
8860: 59b2 lw s3,44(sp)
|
||
8862: 5a22 lw s4,40(sp)
|
||
8864: 5a92 lw s5,36(sp)
|
||
8866: 5b02 lw s6,32(sp)
|
||
8868: 4bf2 lw s7,28(sp)
|
||
886a: 4c62 lw s8,24(sp)
|
||
886c: 4cd2 lw s9,20(sp)
|
||
886e: 6121 addi sp,sp,64
|
||
8870: 8082 ret
|
||
8872: 01758863 beq a1,s7,8882 <print+0x72>
|
||
8876: 854e mv a0,s3
|
||
8878: d75ff0ef jal ra,85ec <printchar>
|
||
887c: 0485 addi s1,s1,1
|
||
887e: 0905 addi s2,s2,1
|
||
8880: b7d1 j 8844 <print+0x34>
|
||
8882: 00190783 lb a5,1(s2)
|
||
8886: 00190c93 addi s9,s2,1
|
||
888a: 01779a63 bne a5,s7,889e <print+0x8e>
|
||
888e: 02500593 li a1,37
|
||
8892: 854e mv a0,s3
|
||
8894: d59ff0ef jal ra,85ec <printchar>
|
||
8898: 0485 addi s1,s1,1
|
||
889a: 8966 mv s2,s9
|
||
889c: b7cd j 887e <print+0x6e>
|
||
889e: d7d5 beqz a5,884a <print+0x3a>
|
||
88a0: 05578763 beq a5,s5,88ee <print+0xde>
|
||
88a4: 00fac863 blt s5,a5,88b4 <print+0xa4>
|
||
88a8: 02300713 li a4,35
|
||
88ac: 04e78463 beq a5,a4,88f4 <print+0xe4>
|
||
88b0: 4781 li a5,0
|
||
88b2: a005 j 88d2 <print+0xc2>
|
||
88b4: 02d00713 li a4,45
|
||
88b8: 00e78a63 beq a5,a4,88cc <print+0xbc>
|
||
88bc: 03000713 li a4,48
|
||
88c0: fee798e3 bne a5,a4,88b0 <print+0xa0>
|
||
88c4: 00290c93 addi s9,s2,2
|
||
88c8: 4789 li a5,2
|
||
88ca: a021 j 88d2 <print+0xc2>
|
||
88cc: 00290c93 addi s9,s2,2
|
||
88d0: 4785 li a5,1
|
||
88d2: 000c8703 lb a4,0(s9)
|
||
88d6: 05570363 beq a4,s5,891c <print+0x10c>
|
||
88da: 02eac163 blt s5,a4,88fc <print+0xec>
|
||
88de: 02300693 li a3,35
|
||
88e2: 02d70b63 beq a4,a3,8918 <print+0x108>
|
||
88e6: 8966 mv s2,s9
|
||
88e8: 4601 li a2,0
|
||
88ea: 45a5 li a1,9
|
||
88ec: a835 j 8928 <print+0x118>
|
||
88ee: 00290c93 addi s9,s2,2
|
||
88f2: bf7d j 88b0 <print+0xa0>
|
||
88f4: 00290c93 addi s9,s2,2
|
||
88f8: 4791 li a5,4
|
||
88fa: bfe1 j 88d2 <print+0xc2>
|
||
88fc: 02d00693 li a3,45
|
||
8900: 00d70963 beq a4,a3,8912 <print+0x102>
|
||
8904: 03000693 li a3,48
|
||
8908: fcd71fe3 bne a4,a3,88e6 <print+0xd6>
|
||
890c: 0027e793 ori a5,a5,2
|
||
8910: a031 j 891c <print+0x10c>
|
||
8912: 0c85 addi s9,s9,1
|
||
8914: 4785 li a5,1
|
||
8916: bfc1 j 88e6 <print+0xd6>
|
||
8918: 0047e793 ori a5,a5,4
|
||
891c: 0c85 addi s9,s9,1
|
||
891e: b7e1 j 88e6 <print+0xd6>
|
||
8920: 03860633 mul a2,a2,s8
|
||
8924: 0905 addi s2,s2,1
|
||
8926: 9636 add a2,a2,a3
|
||
8928: 00090703 lb a4,0(s2)
|
||
892c: fd070693 addi a3,a4,-48
|
||
8930: 0ff6f513 andi a0,a3,255
|
||
8934: fea5f6e3 bgeu a1,a0,8920 <print+0x110>
|
||
8938: 02e00593 li a1,46
|
||
893c: 4699 li a3,6
|
||
893e: 00b71e63 bne a4,a1,895a <print+0x14a>
|
||
8942: 0905 addi s2,s2,1
|
||
8944: 4681 li a3,0
|
||
8946: 45a5 li a1,9
|
||
8948: 00090703 lb a4,0(s2)
|
||
894c: fd070713 addi a4,a4,-48
|
||
8950: 0ff77513 andi a0,a4,255
|
||
8954: 02a5f563 bgeu a1,a0,897e <print+0x16e>
|
||
8958: 8a36 mv s4,a3
|
||
895a: 00090703 lb a4,0(s2)
|
||
895e: 06a00593 li a1,106
|
||
8962: 0ab70163 beq a4,a1,8a04 <print+0x1f4>
|
||
8966: 02e5c163 blt a1,a4,8988 <print+0x178>
|
||
896a: 04c00593 li a1,76
|
||
896e: 08b70b63 beq a4,a1,8a04 <print+0x1f4>
|
||
8972: 06800593 li a1,104
|
||
8976: 08b70063 beq a4,a1,89f6 <print+0x1e6>
|
||
897a: 4581 li a1,0
|
||
897c: a02d j 89a6 <print+0x196>
|
||
897e: 038686b3 mul a3,a3,s8
|
||
8982: 0905 addi s2,s2,1
|
||
8984: 96ba add a3,a3,a4
|
||
8986: b7c9 j 8948 <print+0x138>
|
||
8988: 07400593 li a1,116
|
||
898c: 06b70c63 beq a4,a1,8a04 <print+0x1f4>
|
||
8990: 07a00593 li a1,122
|
||
8994: 06b70863 beq a4,a1,8a04 <print+0x1f4>
|
||
8998: 06c00513 li a0,108
|
||
899c: 4581 li a1,0
|
||
899e: 00a71463 bne a4,a0,89a6 <print+0x196>
|
||
89a2: 0905 addi s2,s2,1
|
||
89a4: 4591 li a1,4
|
||
89a6: 00090703 lb a4,0(s2)
|
||
89aa: 06000513 li a0,96
|
||
89ae: 06100813 li a6,97
|
||
89b2: 00e54463 blt a0,a4,89ba <print+0x1aa>
|
||
89b6: 04100813 li a6,65
|
||
89ba: 06700513 li a0,103
|
||
89be: 06e54063 blt a0,a4,8a1e <print+0x20e>
|
||
89c2: 06500513 li a0,101
|
||
89c6: 14a75563 bge a4,a0,8b10 <print+0x300>
|
||
89ca: 04700513 li a0,71
|
||
89ce: 02e54d63 blt a0,a4,8a08 <print+0x1f8>
|
||
89d2: 04500593 li a1,69
|
||
89d6: 12b75d63 bge a4,a1,8b10 <print+0x300>
|
||
89da: 04300693 li a3,67
|
||
89de: ead710e3 bne a4,a3,887e <print+0x6e>
|
||
89e2: 4018 lw a4,0(s0)
|
||
89e4: 00440c93 addi s9,s0,4
|
||
89e8: 000106a3 sb zero,13(sp)
|
||
89ec: 8658 sb a4,12(sp)
|
||
89ee: 86be mv a3,a5
|
||
89f0: 4701 li a4,0
|
||
89f2: 006c addi a1,sp,12
|
||
89f4: a041 j 8a74 <print+0x264>
|
||
89f6: 00190503 lb a0,1(s2)
|
||
89fa: 4581 li a1,0
|
||
89fc: fae515e3 bne a0,a4,89a6 <print+0x196>
|
||
8a00: 0909 addi s2,s2,2
|
||
8a02: b755 j 89a6 <print+0x196>
|
||
8a04: 0905 addi s2,s2,1
|
||
8a06: bf95 j 897a <print+0x16a>
|
||
8a08: 06300693 li a3,99
|
||
8a0c: fcd70be3 beq a4,a3,89e2 <print+0x1d2>
|
||
8a10: 06e6c663 blt a3,a4,8a7c <print+0x26c>
|
||
8a14: 05800693 li a3,88
|
||
8a18: 02d70363 beq a4,a3,8a3e <print+0x22e>
|
||
8a1c: b58d j 887e <print+0x6e>
|
||
8a1e: 07300693 li a3,115
|
||
8a22: 04d70163 beq a4,a3,8a64 <print+0x254>
|
||
8a26: 02e6c863 blt a3,a4,8a56 <print+0x246>
|
||
8a2a: 06f00693 li a3,111
|
||
8a2e: 0ad70e63 beq a4,a3,8aea <print+0x2da>
|
||
8a32: 07000693 li a3,112
|
||
8a36: 0047e793 ori a5,a5,4
|
||
8a3a: e4d712e3 bne a4,a3,887e <print+0x6e>
|
||
8a3e: cdd9 beqz a1,8adc <print+0x2cc>
|
||
8a40: 041d addi s0,s0,7
|
||
8a42: ff847593 andi a1,s0,-8
|
||
8a46: 88c2 mv a7,a6
|
||
8a48: 00858413 addi s0,a1,8
|
||
8a4c: 883e mv a6,a5
|
||
8a4e: 4701 li a4,0
|
||
8a50: 87b2 mv a5,a2
|
||
8a52: 46c1 li a3,16
|
||
8a54: a83d j 8a92 <print+0x282>
|
||
8a56: 07500693 li a3,117
|
||
8a5a: 06d70063 beq a4,a3,8aba <print+0x2aa>
|
||
8a5e: 07800693 li a3,120
|
||
8a62: bf5d j 8a18 <print+0x208>
|
||
8a64: 4018 lw a4,0(s0)
|
||
8a66: 00440c93 addi s9,s0,4
|
||
8a6a: 85da mv a1,s6
|
||
8a6c: c311 beqz a4,8a70 <print+0x260>
|
||
8a6e: 85ba mv a1,a4
|
||
8a70: 8752 mv a4,s4
|
||
8a72: 86be mv a3,a5
|
||
8a74: 854e mv a0,s3
|
||
8a76: bc1ff0ef jal ra,8636 <prints>
|
||
8a7a: a82d j 8ab4 <print+0x2a4>
|
||
8a7c: c195 beqz a1,8aa0 <print+0x290>
|
||
8a7e: 041d addi s0,s0,7
|
||
8a80: ff847593 andi a1,s0,-8
|
||
8a84: 88c2 mv a7,a6
|
||
8a86: 00858413 addi s0,a1,8
|
||
8a8a: 883e mv a6,a5
|
||
8a8c: 4705 li a4,1
|
||
8a8e: 87b2 mv a5,a2
|
||
8a90: 46a9 li a3,10
|
||
8a92: 41d0 lw a2,4(a1)
|
||
8a94: 418c lw a1,0(a1)
|
||
8a96: 854e mv a0,s3
|
||
8a98: d71ff0ef jal ra,8808 <printLongLongInt>
|
||
8a9c: 94aa add s1,s1,a0
|
||
8a9e: b3c5 j 887e <print+0x6e>
|
||
8aa0: 00440c93 addi s9,s0,4
|
||
8aa4: 88d2 mv a7,s4
|
||
8aa6: 8732 mv a4,a2
|
||
8aa8: 4685 li a3,1
|
||
8aaa: 4629 li a2,10
|
||
8aac: 400c lw a1,0(s0)
|
||
8aae: 854e mv a0,s3
|
||
8ab0: c67ff0ef jal ra,8716 <printInt>
|
||
8ab4: 94aa add s1,s1,a0
|
||
8ab6: 8466 mv s0,s9
|
||
8ab8: b3d9 j 887e <print+0x6e>
|
||
8aba: c999 beqz a1,8ad0 <print+0x2c0>
|
||
8abc: 041d addi s0,s0,7
|
||
8abe: ff847593 andi a1,s0,-8
|
||
8ac2: 88c2 mv a7,a6
|
||
8ac4: 00858413 addi s0,a1,8
|
||
8ac8: 883e mv a6,a5
|
||
8aca: 4701 li a4,0
|
||
8acc: 87b2 mv a5,a2
|
||
8ace: b7c9 j 8a90 <print+0x280>
|
||
8ad0: 00440c93 addi s9,s0,4
|
||
8ad4: 88d2 mv a7,s4
|
||
8ad6: 8732 mv a4,a2
|
||
8ad8: 4681 li a3,0
|
||
8ada: bfc1 j 8aaa <print+0x29a>
|
||
8adc: 8732 mv a4,a2
|
||
8ade: 00440c93 addi s9,s0,4
|
||
8ae2: 88d2 mv a7,s4
|
||
8ae4: 4681 li a3,0
|
||
8ae6: 4641 li a2,16
|
||
8ae8: b7d1 j 8aac <print+0x29c>
|
||
8aea: cd81 beqz a1,8b02 <print+0x2f2>
|
||
8aec: 041d addi s0,s0,7
|
||
8aee: ff847593 andi a1,s0,-8
|
||
8af2: 88c2 mv a7,a6
|
||
8af4: 00858413 addi s0,a1,8
|
||
8af8: 883e mv a6,a5
|
||
8afa: 4701 li a4,0
|
||
8afc: 87b2 mv a5,a2
|
||
8afe: 46a1 li a3,8
|
||
8b00: bf49 j 8a92 <print+0x282>
|
||
8b02: 8732 mv a4,a2
|
||
8b04: 00440c93 addi s9,s0,4
|
||
8b08: 88d2 mv a7,s4
|
||
8b0a: 4681 li a3,0
|
||
8b0c: 4621 li a2,8
|
||
8b0e: bf79 j 8aac <print+0x29c>
|
||
8b10: 041d addi s0,s0,7
|
||
8b12: ff847593 andi a1,s0,-8
|
||
8b16: 00858413 addi s0,a1,8
|
||
8b1a: 8732 mv a4,a2
|
||
8b1c: 41d0 lw a2,4(a1)
|
||
8b1e: 418c lw a1,0(a1)
|
||
8b20: 88c2 mv a7,a6
|
||
8b22: 854e mv a0,s3
|
||
8b24: 883e mv a6,a5
|
||
8b26: 87b6 mv a5,a3
|
||
8b28: 46a9 li a3,10
|
||
8b2a: ce3ff0ef jal ra,880c <printDouble>
|
||
8b2e: b7bd j 8a9c <print+0x28c>
|
||
|
||
00008b30 <printf>:
|
||
printf():
|
||
8b30: 7139 addi sp,sp,-64
|
||
8b32: d22e sw a1,36(sp)
|
||
8b34: d432 sw a2,40(sp)
|
||
8b36: 85aa mv a1,a0
|
||
8b38: 1050 addi a2,sp,36
|
||
8b3a: 4501 li a0,0
|
||
8b3c: ce06 sw ra,28(sp)
|
||
8b3e: d636 sw a3,44(sp)
|
||
8b40: d83a sw a4,48(sp)
|
||
8b42: da3e sw a5,52(sp)
|
||
8b44: dc42 sw a6,56(sp)
|
||
8b46: de46 sw a7,60(sp)
|
||
8b48: c632 sw a2,12(sp)
|
||
8b4a: cc7ff0ef jal ra,8810 <print>
|
||
8b4e: 40f2 lw ra,28(sp)
|
||
8b50: 6121 addi sp,sp,64
|
||
8b52: 8082 ret
|
||
|
||
00008b54 <puts>:
|
||
puts():
|
||
8b54: 1101 addi sp,sp,-32
|
||
8b56: cc22 sw s0,24(sp)
|
||
8b58: ca26 sw s1,20(sp)
|
||
8b5a: ce06 sw ra,28(sp)
|
||
8b5c: 211c lbu a5,0(a0)
|
||
8b5e: 84aa mv s1,a0
|
||
8b60: 4401 li s0,0
|
||
8b62: 87dc sb a5,15(sp)
|
||
8b64: 00f10783 lb a5,15(sp)
|
||
8b68: 0405 addi s0,s0,1
|
||
8b6a: ef99 bnez a5,8b88 <puts+0x34>
|
||
8b6c: 47a9 li a5,10
|
||
8b6e: 00f10593 addi a1,sp,15
|
||
8b72: 4605 li a2,1
|
||
8b74: 4501 li a0,0
|
||
8b76: 87dc sb a5,15(sp)
|
||
8b78: df5f80ef jal ra,196c <_write>
|
||
8b7c: 8522 mv a0,s0
|
||
8b7e: 40f2 lw ra,28(sp)
|
||
8b80: 4462 lw s0,24(sp)
|
||
8b82: 44d2 lw s1,20(sp)
|
||
8b84: 6105 addi sp,sp,32
|
||
8b86: 8082 ret
|
||
8b88: 4605 li a2,1
|
||
8b8a: 00f10593 addi a1,sp,15
|
||
8b8e: 4501 li a0,0
|
||
8b90: dddf80ef jal ra,196c <_write>
|
||
8b94: 008487b3 add a5,s1,s0
|
||
8b98: 239c lbu a5,0(a5)
|
||
8b9a: 87dc sb a5,15(sp)
|
||
8b9c: b7e1 j 8b64 <puts+0x10>
|
||
|
||
00008b9e <putchar>:
|
||
putchar():
|
||
8b9e: 1101 addi sp,sp,-32
|
||
8ba0: c62a sw a0,12(sp)
|
||
8ba2: 006c addi a1,sp,12
|
||
8ba4: 4605 li a2,1
|
||
8ba6: 4501 li a0,0
|
||
8ba8: ce06 sw ra,28(sp)
|
||
8baa: dc3f80ef jal ra,196c <_write>
|
||
8bae: 40f2 lw ra,28(sp)
|
||
8bb0: 4505 li a0,1
|
||
8bb2: 6105 addi sp,sp,32
|
||
8bb4: 8082 ret
|
||
|
||
00008bb6 <memcpy>:
|
||
memcpy():
|
||
8bb6: 00a5c7b3 xor a5,a1,a0
|
||
8bba: 8b8d andi a5,a5,3
|
||
8bbc: 00c50733 add a4,a0,a2
|
||
8bc0: e781 bnez a5,8bc8 <memcpy+0x12>
|
||
8bc2: 478d li a5,3
|
||
8bc4: 00c7ed63 bltu a5,a2,8bde <memcpy+0x28>
|
||
8bc8: 87aa mv a5,a0
|
||
8bca: 08e57e63 bgeu a0,a4,8c66 <memcpy+0xb0>
|
||
8bce: 2194 lbu a3,0(a1)
|
||
8bd0: 0785 addi a5,a5,1
|
||
8bd2: 0585 addi a1,a1,1
|
||
8bd4: fed78fa3 sb a3,-1(a5)
|
||
8bd8: fee7ebe3 bltu a5,a4,8bce <memcpy+0x18>
|
||
8bdc: 8082 ret
|
||
8bde: 00357693 andi a3,a0,3
|
||
8be2: 87aa mv a5,a0
|
||
8be4: ca89 beqz a3,8bf6 <memcpy+0x40>
|
||
8be6: 2194 lbu a3,0(a1)
|
||
8be8: 0785 addi a5,a5,1
|
||
8bea: 0585 addi a1,a1,1
|
||
8bec: fed78fa3 sb a3,-1(a5)
|
||
8bf0: 0037f693 andi a3,a5,3
|
||
8bf4: bfc5 j 8be4 <memcpy+0x2e>
|
||
8bf6: ffc77693 andi a3,a4,-4
|
||
8bfa: fe068613 addi a2,a3,-32
|
||
8bfe: 06c7f063 bgeu a5,a2,8c5e <memcpy+0xa8>
|
||
8c02: 0005a383 lw t2,0(a1)
|
||
8c06: 0045a283 lw t0,4(a1)
|
||
8c0a: 0085af83 lw t6,8(a1)
|
||
8c0e: 00c5af03 lw t5,12(a1)
|
||
8c12: 0105ae83 lw t4,16(a1)
|
||
8c16: 0145ae03 lw t3,20(a1)
|
||
8c1a: 0185a303 lw t1,24(a1)
|
||
8c1e: 01c5a883 lw a7,28(a1)
|
||
8c22: 02458593 addi a1,a1,36
|
||
8c26: 0077a023 sw t2,0(a5)
|
||
8c2a: ffc5a803 lw a6,-4(a1)
|
||
8c2e: 0057a223 sw t0,4(a5)
|
||
8c32: 01f7a423 sw t6,8(a5)
|
||
8c36: 01e7a623 sw t5,12(a5)
|
||
8c3a: 01d7a823 sw t4,16(a5)
|
||
8c3e: 01c7aa23 sw t3,20(a5)
|
||
8c42: 0067ac23 sw t1,24(a5)
|
||
8c46: 0117ae23 sw a7,28(a5)
|
||
8c4a: 02478793 addi a5,a5,36
|
||
8c4e: ff07ae23 sw a6,-4(a5)
|
||
8c52: b775 j 8bfe <memcpy+0x48>
|
||
8c54: 4190 lw a2,0(a1)
|
||
8c56: 0791 addi a5,a5,4
|
||
8c58: 0591 addi a1,a1,4
|
||
8c5a: fec7ae23 sw a2,-4(a5)
|
||
8c5e: fed7ebe3 bltu a5,a3,8c54 <memcpy+0x9e>
|
||
8c62: f6e7e6e3 bltu a5,a4,8bce <memcpy+0x18>
|
||
8c66: 8082 ret
|
||
8c68: 4e20 lw s0,88(a2)
|
||
8c6a: 0000 unimp
|
||
8c6c: 3a98 lbu a4,17(a3)
|
||
8c6e: 0000 unimp
|
||
8c70: 0009 c.nop 2
|
||
8c72: 0000 unimp
|
||
8c74: 6148 flw fa0,4(a0)
|
||
8c76: 6472 flw fs0,28(sp)
|
||
8c78: 6146 flw ft2,80(sp)
|
||
8c7a: 6c75 lui s8,0x1d
|
||
8c7c: 5f74 lw a3,124(a4)
|
||
8c7e: 6148 flw fa0,4(a0)
|
||
8c80: 646e flw fs0,216(sp)
|
||
8c82: 656c flw fa1,76(a0)
|
||
8c84: 0d72 slli s10,s10,0x1c
|
||
8c86: 0000 unimp
|
||
8c88: 656d lui a0,0x1b
|
||
8c8a: 6370 flw fa2,68(a4)
|
||
8c8c: 2020 lbu s0,2(s0)
|
||
8c8e: 253a lhu a4,10(a0)
|
||
8c90: 3830 lbu a2,19(s0)
|
||
8c92: 0d78 addi a4,sp,668
|
||
8c94: 000a c.slli zero,0x2
|
||
8c96: 0000 unimp
|
||
8c98: 636d lui t1,0x1b
|
||
8c9a: 7561 lui a0,0xffff8
|
||
8c9c: 253a6573 csrrsi a0,0x253,20
|
||
8ca0: 3830 lbu a2,19(s0)
|
||
8ca2: 0d78 addi a4,sp,668
|
||
8ca4: 000a c.slli zero,0x2
|
||
8ca6: 0000 unimp
|
||
8ca8: 746d lui s0,0xffffb
|
||
8caa: 6176 flw ft2,92(sp)
|
||
8cac: 206c lbu a1,6(s0)
|
||
8cae: 253a lhu a4,10(a0)
|
||
8cb0: 3830 lbu a2,19(s0)
|
||
8cb2: 0d78 addi a4,sp,668
|
||
8cb4: 000a c.slli zero,0x2
|
||
8cb6: 0000 unimp
|
||
8cb8: 6b636f53 0x6b636f53
|
||
8cbc: 7465 lui s0,0xffff9
|
||
8cbe: 6449 lui s0,0x12
|
||
8cc0: 2520 lbu s0,10(a0)
|
||
8cc2: 0d64 addi s1,sp,668
|
||
8cc4: 000a c.slli zero,0x2
|
||
8cc6: 0000 unimp
|
||
8cc8: 544e4947 0x544e4947
|
||
8ccc: 535f 4154 5f54 0x5f544154535f
|
||
8cd2: 4e55 li t3,21
|
||
8cd4: 4552 lw a0,20(sp)
|
||
8cd6: 4341 li t1,16
|
||
8cd8: 0d48 addi a0,sp,660
|
||
8cda: 0000 unimp
|
||
8cdc: 544e4947 0x544e4947
|
||
8ce0: 535f 4154 5f54 0x5f544154535f
|
||
8ce6: 5049 c.li zero,-14
|
||
8ce8: 435f 4e4f 4c46 0x4c464e4f435f
|
||
8cee: 0d49 addi s10,s10,18
|
||
8cf0: 0000 unimp
|
||
8cf2: 0000 unimp
|
||
8cf4: 4850 lw a2,20(s0)
|
||
8cf6: 2059 jal 8d7c <memcpy+0x1c6>
|
||
8cf8: 694c flw fa1,20(a0)
|
||
8cfa: 6b6e flw fs6,216(sp)
|
||
8cfc: 5320 lw s0,96(a4)
|
||
8cfe: 6375 lui t1,0x1d
|
||
8d00: 73736563 bltu t1,s7,942a <_data_lma+0x596>
|
||
8d04: 000d c.nop 3
|
||
8d06: 0000 unimp
|
||
8d08: 4354 lw a3,4(a4)
|
||
8d0a: 2050 lbu a2,4(s0)
|
||
8d0c: 6e6e6f43 fmadd.q ft10,ft8,ft6,fa3,unknown
|
||
8d10: 6365 lui t1,0x19
|
||
8d12: 2074 lbu a3,6(s0)
|
||
8d14: 63637553 0x63637553
|
||
8d18: 7365 lui t1,0xffff9
|
||
8d1a: 73202c73 csrr s8,0x732
|
||
8d1e: 656b636f jal t1,bf374 <_data_lma+0xb64e0>
|
||
8d22: 2074 lbu a3,6(s0)
|
||
8d24: 6469 lui s0,0x1a
|
||
8d26: 203a lhu a4,2(s0)
|
||
8d28: 6425 lui s0,0x9
|
||
8d2a: 0a0d addi s4,s4,3
|
||
8d2c: 0000 unimp
|
||
8d2e: 0000 unimp
|
||
8d30: 4354 lw a3,4(a4)
|
||
8d32: 2050 lbu a2,4(s0)
|
||
8d34: 6944 flw fs1,20(a0)
|
||
8d36: 6e6f6373 csrrsi t1,0x6e6,30
|
||
8d3a: 656e flw fa0,216(sp)
|
||
8d3c: 000d7463 bgeu s10,zero,8d44 <memcpy+0x18e>
|
||
8d40: 4354 lw a3,4(a4)
|
||
8d42: 2050 lbu a2,4(s0)
|
||
8d44: 6954 flw fa3,20(a0)
|
||
8d46: 656d lui a0,0x1b
|
||
8d48: 0d74756f jal a0,5061e <_data_lma+0x4778a>
|
||
8d4c: 0000 unimp
|
||
8d4e: 0000 unimp
|
||
8d50: 7245 lui tp,0xffff1
|
||
8d52: 6f72 flw ft10,28(sp)
|
||
8d54: 3a72 lhu a2,54(a2)
|
||
8d56: 2520 lbu s0,10(a0)
|
||
8d58: 3230 lbu a2,3(a2)
|
||
8d5a: 0d58 addi a4,sp,660
|
||
8d5c: 000a c.slli zero,0x2
|
||
8d5e: 0000 unimp
|
||
8d60: 4354 lw a3,4(a4)
|
||
8d62: 4350 lw a2,4(a4)
|
||
8d64: 696c flw fa1,84(a0)
|
||
8d66: 6e65 lui t3,0x19
|
||
8d68: 2074 lbu a3,6(s0)
|
||
8d6a: 6554 flw fa3,12(a0)
|
||
8d6c: 0a0d7473 csrrci s0,0xa0,26
|
||
8d70: 74737953 0x74737953
|
||
8d74: 6d65 lui s10,0x19
|
||
8d76: 3a6b6c43 fmadd.d fs8,fs6,ft6,ft7,unknown
|
||
8d7a: 6425 lui s0,0x9
|
||
8d7c: 0a0d addi s4,s4,3
|
||
8d7e: 0000 unimp
|
||
8d80: 656e flw fa0,216(sp)
|
||
8d82: 2074 lbu a3,6(s0)
|
||
8d84: 6576 flw fa0,92(sp)
|
||
8d86: 7372 flw ft6,60(sp)
|
||
8d88: 6f69 lui t5,0x1a
|
||
8d8a: 3a6e lhu a1,54(a2)
|
||
8d8c: 7825 lui a6,0xfffe9
|
||
8d8e: 000a c.slli zero,0x2
|
||
8d90: 6576 flw fa0,92(sp)
|
||
8d92: 7372 flw ft6,60(sp)
|
||
8d94: 6f69 lui t5,0x1a
|
||
8d96: 206e lhu a1,6(s0)
|
||
8d98: 7265 lui tp,0xffff9
|
||
8d9a: 6f72 flw ft10,28(sp)
|
||
8d9c: 2e72 lhu a2,30(a2)
|
||
8d9e: 0000 unimp
|
||
8da0: 616d addi sp,sp,240
|
||
8da2: 64612063 0x64612063
|
||
8da6: 7264 flw fs1,100(a2)
|
||
8da8: 003a c.slli zero,0xe
|
||
8daa: 0000 unimp
|
||
8dac: 7825 lui a6,0xfffe9
|
||
8dae: 0020 addi s0,sp,8
|
||
8db0: 4e484357 0x4e484357
|
||
8db4: 5445 li s0,-15
|
||
8db6: 4c5f 6269 6e49 0x6e4962694c5f
|
||
8dbc: 7469 lui s0,0xffffa
|
||
8dbe: 5320 lw s0,96(a4)
|
||
8dc0: 6375 lui t1,0x1d
|
||
8dc2: 73736563 bltu t1,s7,94ec <_data_lma+0x658>
|
||
8dc6: 000d c.nop 3
|
||
|
||
00008dc8 <MemNum>:
|
||
8dc8: 0000 0000 0001 0000 0002 0000 0004 0004 ................
|
||
|
||
00008dd8 <MemSize>:
|
||
8dd8: 001c 0020 00b4 0024 0014 0020 0010 0600 .. ...$... .....
|
||
8de8: 445b 5056 205d 7266 6d61 3d65 6c25 2075 [DVP] frame=%lu
|
||
8df8: 6f73 6b63 7465 253d 0d64 000a 445b 5056 socket=%d...[DVP
|
||
8e08: 205d 7266 6d61 3d65 6c25 2075 6177 7469 ] frame=%lu wait
|
||
8e18: 6e69 2067 6f66 2072 4354 2e50 2e2e 0a0d ing for TCP.....
|
||
8e28: 0000 0000 ....
|
||
|
||
00008e2c <ErrTable>:
|
||
8e2c: 1100 1312 1514 1716 1918 1b1a 1d1c 1f1e ................
|
||
8e3c: 5600 0000 5646 0000 5660 0000 5670 0000 .V..FV..`V..pV..
|
||
8e4c: 5670 0000 565c 0000 565c 0000 567e 0000 pV..\V..\V..~V..
|
||
|
||
00008e5c <tcp_backoff>:
|
||
8e5c: 0201 0403 0605 0707 0707 0707 0007 0000 ................
|
||
8e6c: 6bf0 0000 6cfe 0000 6dea 0000 6df2 0000 .k...l...m...m..
|
||
8e7c: 6e98 0000 6dea 0000 6ede 0000 6f1a 0000 .n...m...n...o..
|
||
8e8c: 6e28 6c75 296c 0000 (null)..
|