⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 driver.cod

📁 PXA255/270平台的 DM9000AE网卡驱动程序
💻 COD
📖 第 1 页 / 共 5 页
字号:
  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 + -