📄 driver.cod
字号:
0004c 13a03000 movne r3, #0
00050 15823008 strne r3, [r2, #8]
00054 15903110 ldrne r3, [r0, #0x110]
00058 11a0e00f movne lr, pc
0005c 112fff13 bxne r3
00060 |$L35401|
; 413 : default:
; 414 : break;
; 415 : } // of switch
; 416 :
; 417 : }
00060 e49de004 ldr lr, [sp], #4
00064 e12fff1e bx lr
00068 |$M36260|
ENDP ; |?DriverIndication@NIC_DRIVER_OBJECT@@UAAXK@Z|, NIC_DRIVER_OBJECT::DriverIndication
EXPORT |?DriverIsr@NIC_DRIVER_OBJECT@@UAAXPAE0@Z| ; NIC_DRIVER_OBJECT::DriverIsr
00000 AREA |.text| { |?DriverIsr@NIC_DRIVER_OBJECT@@UAAXPAE0@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$?DriverIsr@NIC_DRIVER_OBJECT@@UAAXPAE0@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?DriverIsr@NIC_DRIVER_OBJECT@@UAAXPAE0@Z| } ; comdat associative
|$T36273| DCD |$L36272|
DCD 0x40002c01
; Function compile flags: /Ogsy
00000 AREA |.text| { |?DriverIsr@NIC_DRIVER_OBJECT@@UAAXPAE0@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |?DriverIsr@NIC_DRIVER_OBJECT@@UAAXPAE0@Z| PROC ; NIC_DRIVER_OBJECT::DriverIsr
; 422 : {
00000 |$L36272|
00000 e92d40f0 stmdb sp!, {r4 - r7, lr}
00004 |$M36270|
00004 e1a05002 mov r5, r2
00008 e1a06001 mov r6, r1
0000c e1a04000 mov r4, r0
; 423 : PERF_PROBE_ON(PROBE_ISR);
; 424 :
; 425 : #ifdef PERFORMANCE_LOG
; 426 : if(!_gnPerfLogPos)
; 427 : {
; 428 : DumpPerfmanceLogs();
; 429 : BREAK;
; 430 : }
; 431 : #endif
; 432 :
; 433 : m_pLower->DeviceDisableInterrupt();
00010 e594000c ldr r0, [r4, #0xC]
00014 e5903000 ldr r3, [r0]
00018 e593307c ldr r3, [r3, #0x7C]
0001c e1a0e00f mov lr, pc
00020 e12fff13 bx r3
; 434 :
; 435 : U32 intstat;
; 436 :
; 437 : if(!(intstat = m_pLower->DeviceGetInterruptStatus()))
00024 e594000c ldr r0, [r4, #0xC]
00028 e5903000 ldr r3, [r0]
0002c e5933090 ldr r3, [r3, #0x90]
00030 e1a0e00f mov lr, pc
00034 e12fff13 bx r3
00038 e1b07000 movs r7, r0
0003c 1a000009 bne |$L35411|
; 438 : {
; 439 : *InterruptRecognized =
; 440 : *QueueInterrupt = FALSE;
00040 e3a03000 mov r3, #0
00044 e5c53000 strb r3, [r5]
00048 e5c63000 strb r3, [r6]
; 441 : m_pLower->DeviceEnableInterrupt();
0004c e594000c ldr r0, [r4, #0xC]
00050 e5903000 ldr r3, [r0]
00054 e5933078 ldr r3, [r3, #0x78]
00058 e1a0e00f mov lr, pc
0005c e12fff13 bx r3
; 455 : #endif
; 456 :
; 457 : PERF_PROBE_OFF(PROBE_ISR);
; 458 : }
00060 e8bd40f0 ldmia sp!, {r4 - r7, lr}
00064 e12fff1e bx lr
00068 |$L35411|
; 442 : PERF_PROBE_OFF(PROBE_ISR);
; 443 : return;
; 444 : }
; 445 :
; 446 : /* clear it immediately */
; 447 : m_pLower->DeviceSetInterruptStatus(
; 448 : m_uRecentInterruptStatus = intstat);
00068 e594000c ldr r0, [r4, #0xC]
0006c e5847010 str r7, [r4, #0x10]
00070 e1a01007 mov r1, r7
00074 e5903000 ldr r3, [r0]
00078 e5933094 ldr r3, [r3, #0x94]
0007c e1a0e00f mov lr, pc
00080 e12fff13 bx r3
; 449 :
; 450 : *InterruptRecognized = TRUE;
00084 e3a03001 mov r3, #1
00088 e5c63000 strb r3, [r6]
; 451 : *QueueInterrupt = TRUE;
0008c e5c53000 strb r3, [r5]
; 452 :
; 453 : #ifdef IMPL_DEVICE_ISR
; 454 : m_pLower->DeviceIsr(intstat);
00090 e594000c ldr r0, [r4, #0xC]
00094 e1a01007 mov r1, r7
00098 e5903000 ldr r3, [r0]
0009c e59330b0 ldr r3, [r3, #0xB0]
000a0 e1a0e00f mov lr, pc
000a4 e12fff13 bx r3
; 455 : #endif
; 456 :
; 457 : PERF_PROBE_OFF(PROBE_ISR);
; 458 : }
000a8 e8bd40f0 ldmia sp!, {r4 - r7, lr}
000ac e12fff1e bx lr
000b0 |$M36271|
ENDP ; |?DriverIsr@NIC_DRIVER_OBJECT@@UAAXPAE0@Z|, NIC_DRIVER_OBJECT::DriverIsr
EXPORT |?DriverInterruptHandler@NIC_DRIVER_OBJECT@@UAAXXZ| ; NIC_DRIVER_OBJECT::DriverInterruptHandler
00000 AREA |.text| { |?DriverInterruptHandler@NIC_DRIVER_OBJECT@@UAAXXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$?DriverInterruptHandler@NIC_DRIVER_OBJECT@@UAAXXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?DriverInterruptHandler@NIC_DRIVER_OBJECT@@UAAXXZ| } ; comdat associative
|$T36281| DCD |$L36280|
DCD 0x40000f01
; Function compile flags: /Ogsy
00000 AREA |.text| { |?DriverInterruptHandler@NIC_DRIVER_OBJECT@@UAAXXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |?DriverInterruptHandler@NIC_DRIVER_OBJECT@@UAAXXZ| PROC ; NIC_DRIVER_OBJECT::DriverInterruptHandler
; 461 : {
00000 |$L36280|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 |$M36278|
00004 e1a04000 mov r4, r0
; 462 :
; 463 : PERF_PROBE_ON(PROBE_HANLDER);
; 464 :
; 465 : m_pLower->DeviceInterruptEventHandler(m_uRecentInterruptStatus);
00008 e594000c ldr r0, [r4, #0xC]
0000c e5941010 ldr r1, [r4, #0x10]
00010 e5903000 ldr r3, [r0]
00014 e593309c ldr r3, [r3, #0x9C]
00018 e1a0e00f mov lr, pc
0001c e12fff13 bx r3
; 466 :
; 467 : m_pLower->DeviceEnableInterrupt();
00020 e594000c ldr r0, [r4, #0xC]
00024 e5903000 ldr r3, [r0]
00028 e5933078 ldr r3, [r3, #0x78]
0002c e1a0e00f mov lr, pc
00030 e12fff13 bx r3
; 468 :
; 469 : PERF_PROBE_OFF(PROBE_HANLDER);
; 470 : }
00034 e8bd4010 ldmia sp!, {r4, lr}
00038 e12fff1e bx lr
0003c |$M36279|
ENDP ; |?DriverInterruptHandler@NIC_DRIVER_OBJECT@@UAAXXZ|, NIC_DRIVER_OBJECT::DriverInterruptHandler
EXPORT |?DriverQueryInformation@NIC_DRIVER_OBJECT@@UAAHKPAXKPAK1@Z| ; NIC_DRIVER_OBJECT::DriverQueryInformation
EXPORT |??_C@_0BL@BLOGHFBJ@Davicom?5Semiconductor?0?5Inc?$AA@| [ DATA ] ; `string'
IMPORT |memcpy|
00000 AREA |.text| { |?DriverQueryInformation@NIC_DRIVER_OBJECT@@UAAHKPAXKPAK1@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$?DriverQueryInformation@NIC_DRIVER_OBJECT@@UAAHKPAXKPAK1@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?DriverQueryInformation@NIC_DRIVER_OBJECT@@UAAHKPAXKPAK1@Z| } ; comdat associative
|$T36308| DCD |$L36307|
DCD 0x4001ce02
00000 AREA |.rdata| { |??_C@_0BL@BLOGHFBJ@Davicom?5Semiconductor?0?5Inc?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0BL@BLOGHFBJ@Davicom?5Semiconductor?0?5Inc?$AA@| DCB "Davicom Semi"
DCB "conductor, Inc", 0x0 ; `string'
; Function compile flags: /Ogsy
00000 AREA |.text| { |?DriverQueryInformation@NIC_DRIVER_OBJECT@@UAAHKPAXKPAK1@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |?DriverQueryInformation@NIC_DRIVER_OBJECT@@UAAHKPAXKPAK1@Z| PROC ; NIC_DRIVER_OBJECT::DriverQueryInformation
; 484 : {
00000 |$L36307|
00000 e92d47f0 stmdb sp!, {r4 - r10, lr}
00004 e24dd034 sub sp, sp, #0x34
00008 |$M36305|
00008 e1a06003 mov r6, r3
0000c e1a0a002 mov r10, r2
00010 e1a09001 mov r9, r1
00014 e1a08000 mov r8, r0
; 485 : NDIS_STATUS status = NDIS_STATUS_SUCCESS;
; 486 :
; 487 : PVOID panswer;
; 488 : U8 szbuffer[32];
; 489 : U32 tmp32;
; 490 :
; 491 : // pass to lower object, to see if it can handle this query,
; 492 : // if it can, return TRUE and set status.
; 493 : if(m_pLower->DeviceQueryInformation(
; 494 : &status,
; 495 : Oid,
; 496 : InfoBuffer,
; 497 : InfoBufferLength,
; 498 : BytesWritten,
; 499 : BytesNeeded)) return status;
00018 e598000c ldr r0, [r8, #0xC]
0001c e3a03000 mov r3, #0
00020 e59d7058 ldr r7, [sp, #0x58]
00024 e58d300c str r3, [sp, #0xC]
00028 e590e000 ldr lr, [r0]
0002c e59d5054 ldr r5, [sp, #0x54]
00030 e1a0300a mov r3, r10
00034 e59e4020 ldr r4, [lr, #0x20]
00038 e1a02009 mov r2, r9
0003c e28d100c add r1, sp, #0xC
00040 e58d7008 str r7, [sp, #8]
00044 e58d5004 str r5, [sp, #4]
00048 e58d6000 str r6, [sp]
0004c e1a0e00f mov lr, pc
00050 e12fff14 bx r4
00054 e3500000 cmp r0, #0
00058 159d400c ldrne r4, [sp, #0xC]
0005c 1a000199 bne |$L35683|
; 500 :
; 501 : switch (Oid) {
00060 e59f36cc ldr r3, [pc, #0x6CC]
00064 e1590003 cmp r9, r3
00068 8a0000bb bhi |$L36285|
0006c 0a0000b3 beq |$L35493|
00070 e59f36b8 ldr r3, [pc, #0x6B8]
00074 e0492003 sub r2, r9, r3
00078 e3520015 cmp r2, #0x15
0007c 8a00016b bhi |$L35679|
00080 e1a03082 mov r3, r2, lsl #1
00084 e083300f add r3, r3, pc
00088 e1d330b4 ldrh r3, [r3, #4]
0008c e08ff003 add pc, pc, r3
00090 |$L36304|
00090 |$L36303|
00090 0028 DCW 0x28
00092 0044 DCW 0x44
00094 007c DCW 0x7c
00096 0060 DCW 0x60
00098 00b4 DCW 0xb4
0009a 00d0 DCW 0xd0
0009c 0124 DCW 0x124
0009e 0178 DCW 0x178
000a0 0194 DCW 0x194
000a2 01b0 DCW 0x1b0
000a4 01cc DCW 0x1cc
000a6 01e8 DCW 0x1e8
000a8 0220 DCW 0x220
000aa 015c DCW 0x15c
000ac 023c DCW 0x23c
000ae 0258 DCW 0x258
000b0 00ec DCW 0xec
000b2 0290 DCW 0x290
000b4 0140 DCW 0x140
000b6 0098 DCW 0x98
000b8 0108 DCW 0x108
000ba 0274 DCW 0x274
000bc |$L35435|
; 502 : HANDLE_QUERY( OID_GEN_SUPPORTED_LIST,
; 503 : &gszNICSupportedOid,sizeof(gszNICSupportedOid));
000bc e3a030a4 mov r3, #0xA4
000c0 e5873000 str r3, [r7]
000c4 e35600a4 cmp r6, #0xA4
000c8 3a000173 bcc |$L36302|
000cc e59f0658 ldr r0, [pc, #0x658]
; 597 :
; 598 : HANDLE_QUERY( OID_GEN_VENDOR_DESCRIPTION,
; 599 : VENDOR_DESC,strlen(VENDOR_DESC));
000d0 e5853000 str r3, [r5]
000d4 ea000175 b |$L35432|
000d8 |$L35439|
; 504 :
; 505 : HANDLE_QUERY( OID_GEN_HARDWARE_STATUS,
; 506 : &m_pLower->m_szCurrentSettings[SID_HW_STATUS],sizeof(U32));
000d8 e3a04004 mov r4, #4
000dc e5874000 str r4, [r7]
000e0 e3560004 cmp r6, #4
000e4 3a00016c bcc |$L36302|
000e8 e598300c ldr r3, [r8, #0xC]
000ec e28300c8 add r0, r3, #0xC8
000f0 ea00016d b |$L36300|
000f4 |$L35445|
; 507 :
; 508 : HANDLE_QUERY( OID_GEN_MEDIA_IN_USE,
; 509 : &m_pLower->m_szCurrentSettings[SID_MEDIA_IN_USE],sizeof(U32));
000f4 e3a04004 mov r4, #4
000f8 e5874000 str r4, [r7]
000fc e3560004 cmp r6, #4
00100 3a000165 bcc |$L36302|
00104 e598300c ldr r3, [r8, #0xC]
00108 e28300e4 add r0, r3, #0xE4
0010c ea000166 b |$L36300|
00110 |$L35451|
; 510 :
; 511 : HANDLE_QUERY( OID_GEN_MEDIA_SUPPORTED,
; 512 : &m_pLower->m_szCurrentSettings[SID_MEDIA_SUPPORTED],sizeof(U32));
00110 e3a04004 mov r4, #4
00114 e5874000 str r4, [r7]
00118 e3560004 cmp r6, #4
0011c 3a00015e bcc |$L36302|
00120 e598300c ldr r3, [r8, #0xC]
00124 e28300e0 add r0, r3, #0xE0
00128 ea00015f b |$L36300|
0012c |$L35457|
; 513 :
; 514 : HANDLE_QUERY( OID_GEN_MEDIA_CONNECT_STATUS,
; 515 : &m_pLower->m_szCurrentSettings[SID_MEDIA_CONNECTION_STATUS],sizeof(U32));
0012c e3a04004 mov r4, #4
00130 e5874000 str r4, [r7]
00134 e3560004 cmp r6, #4
00138 3a000157 bcc |$L36302|
0013c e598300c ldr r3, [r8, #0xC]
00140 e28300e8 add r0, r3, #0xE8
00144 ea000158 b |$L36300|
00148 |$L35463|
; 516 :
; 517 : HANDLE_QUERY( OID_GEN_MAXIMUM_LOOKAHEAD,
; 518 : &m_pLower->m_szCurrentSettings[SID_MAXIMUM_LOOKAHEAD],sizeof(U32));
00148 e3a04004 mov r4, #4
0014c e5874000 str r4, [r7]
00150 e3560004 cmp r6, #4
00154 3a000150 bcc |$L36302|
00158 e598300c ldr r3, [r8, #0xC]
0015c e28300ec add r0, r3, #0xEC
00160 ea000151 b |$L36300|
00164 |$L35469|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -