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

📄 ms2_usbfn.cod

📁 PXA270 平台 Windows Mobile 5。0 USB Host 驱动
💻 COD
📖 第 1 页 / 共 2 页
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 13.10.4345 

	TTL	C:\WM520\PLATFORM\AL270\Platform\MAINSTONEII\SRC\DRIVERS\USBFN\.\ms2_usbfn.cpp
	CODE32

  00000			 AREA	 |.drectve|, DRECTVE
	DCB	"-defaultlib:coredll.lib "
	DCB	"-defaultlib:corelibc.lib "

	EXPORT	|??0MS2UsbDevice@@QAA@PBG@Z|		; MS2UsbDevice::MS2UsbDevice
	EXPORT	|?Init@MS2UsbDevice@@UAAKPAXPAU_UFN_MDD_INTERFACE_INFO@@PAU_UFN_PDD_INTERFACE_INFO@@@Z| ; MS2UsbDevice::Init
	EXPORT	|?Start@MS2UsbDevice@@UAAKXZ|		; MS2UsbDevice::Start
	EXPORT	|?Stop@MS2UsbDevice@@UAAKXZ|		; MS2UsbDevice::Stop
	EXPORT	|?IsCableAttached@MS2UsbDevice@@UAAHXZ|	; MS2UsbDevice::IsCableAttached
	EXPORT	|??_7MS2UsbDevice@@6B@| [ DATA ]	; MS2UsbDevice::`vftable'
	EXPORT	|??_GMS2UsbDevice@@UAAPAXI@Z|		; MS2UsbDevice::`scalar deleting destructor'
	EXPORT	|?GetEndpointBy@BulUsbDevice@@MAAPAVBulEndpoint@@K@Z| ; BulUsbDevice::GetEndpointBy
	IMPORT	|??_EMS2UsbDevice@@UAAPAXI@Z|, WEAK |??_GMS2UsbDevice@@UAAPAXI@Z| ; MS2UsbDevice::`vector deleting destructor', MS2UsbDevice::`scalar deleting destructor'
	IMPORT	|??0BulUsbDevice@@QAA@PBG@Z|		; BulUsbDevice::BulUsbDevice
	IMPORT	|?DeleteAllEndpoint@BulUsbDevice@@UAAHXZ| ; BulUsbDevice::DeleteAllEndpoint
	IMPORT	|?IsEndpointSupportable@BulUsbDevice@@UAAKKW4_UFN_BUS_SPEED@@PAU_USB_ENDPOINT_DESCRIPTOR@@EEE@Z| ; BulUsbDevice::IsEndpointSupportable
	IMPORT	|?InitEndpoint@BulUsbDevice@@UAAKKW4_UFN_BUS_SPEED@@PAU_USB_ENDPOINT_DESCRIPTOR@@EEE@Z| ; BulUsbDevice::InitEndpoint
	IMPORT	|?DeinitEndpoint@BulUsbDevice@@UAAKK@Z|	; BulUsbDevice::DeinitEndpoint
	IMPORT	|?StallEndpoint@BulUsbDevice@@UAAKK@Z|	; BulUsbDevice::StallEndpoint
	IMPORT	|?ClearEndpointStall@BulUsbDevice@@UAAKK@Z| ; BulUsbDevice::ClearEndpointStall
	IMPORT	|?ResetEndpoint@BulUsbDevice@@UAAKK@Z|	; BulUsbDevice::ResetEndpoint
	IMPORT	|?IsEndpointHalted@BulUsbDevice@@UAAKKPAH@Z| ; BulUsbDevice::IsEndpointHalted
	IMPORT	|?IssueTransfer@BulUsbDevice@@UAAKKPAU_STransfer@@@Z| ; BulUsbDevice::IssueTransfer
	IMPORT	|?AbortTransfer@BulUsbDevice@@UAAKKPAU_STransfer@@@Z| ; BulUsbDevice::AbortTransfer
	IMPORT	|?SendControlStatusHandshake@BulUsbDevice@@UAAKK@Z| ; BulUsbDevice::SendControlStatusHandshake
	IMPORT	|?SetAddress@BulUsbDevice@@UAAKE@Z|	; BulUsbDevice::SetAddress
	IMPORT	|?PowerDown@BulUsbDevice@@UAAXXZ|	; BulUsbDevice::PowerDown
	IMPORT	|?PowerUp@BulUsbDevice@@UAAXXZ|		; BulUsbDevice::PowerUp
	IMPORT	|?SetPowerState@BulUsbDevice@@UAAXW4_CEDEVICE_POWER_STATE@@@Z| ; BulUsbDevice::SetPowerState
	IMPORT	|?IOControl@BulUsbDevice@@UAAKW4_IOCTL_SOURCE@@KPAEK1KPAK@Z| ; BulUsbDevice::IOControl
	IMPORT	|?PowerMgr@BulUsbDevice@@MAAXH@Z|	; BulUsbDevice::PowerMgr
	IMPORT	|?ThreadRun@BulUsbDevice@@EAAKXZ|	; BulUsbDevice::ThreadRun
; File c:\wm520\platform\al270\platform\mainstoneii\src\drivers\usbfn\ms2_usbfn.cpp

  00000			 AREA	 |.text| { |??0MS2UsbDevice@@QAA@PBG@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$??0MS2UsbDevice@@QAA@PBG@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |??0MS2UsbDevice@@QAA@PBG@Z| } ; comdat associative
|$T31143| DCD	|$L31142|
	DCD	0x40000b01

  00000			 AREA	 |.rdata| { |??_7MS2UsbDevice@@6B@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_7MS2UsbDevice@@6B@| DCD |?ThreadRun@BulUsbDevice@@EAAKXZ| ; MS2UsbDevice::`vftable'
	DCD	|??_EMS2UsbDevice@@UAAPAXI@Z|
	DCD	|?Init@MS2UsbDevice@@UAAKPAXPAU_UFN_MDD_INTERFACE_INFO@@PAU_UFN_PDD_INTERFACE_INFO@@@Z|
	DCD	|?DeleteAllEndpoint@BulUsbDevice@@UAAHXZ|
	DCD	|?IsEndpointSupportable@BulUsbDevice@@UAAKKW4_UFN_BUS_SPEED@@PAU_USB_ENDPOINT_DESCRIPTOR@@EEE@Z|
	DCD	|?InitEndpoint@BulUsbDevice@@UAAKKW4_UFN_BUS_SPEED@@PAU_USB_ENDPOINT_DESCRIPTOR@@EEE@Z|
	DCD	|?DeinitEndpoint@BulUsbDevice@@UAAKK@Z|
	DCD	|?StallEndpoint@BulUsbDevice@@UAAKK@Z|
	DCD	|?ClearEndpointStall@BulUsbDevice@@UAAKK@Z|
	DCD	|?ResetEndpoint@BulUsbDevice@@UAAKK@Z|
	DCD	|?IsEndpointHalted@BulUsbDevice@@UAAKKPAH@Z|
	DCD	|?IssueTransfer@BulUsbDevice@@UAAKKPAU_STransfer@@@Z|
	DCD	|?AbortTransfer@BulUsbDevice@@UAAKKPAU_STransfer@@@Z|
	DCD	|?SendControlStatusHandshake@BulUsbDevice@@UAAKK@Z|
	DCD	|?Start@MS2UsbDevice@@UAAKXZ|
	DCD	|?Stop@MS2UsbDevice@@UAAKXZ|
	DCD	|?IsCableAttached@MS2UsbDevice@@UAAHXZ|
	DCD	|?SetAddress@BulUsbDevice@@UAAKE@Z|
	DCD	|?PowerDown@BulUsbDevice@@UAAXXZ|
	DCD	|?PowerUp@BulUsbDevice@@UAAXXZ|
	DCD	|?SetPowerState@BulUsbDevice@@UAAXW4_CEDEVICE_POWER_STATE@@@Z|
	DCD	|?IOControl@BulUsbDevice@@UAAKW4_IOCTL_SOURCE@@KPAEK1KPAK@Z|
	DCD	|?GetEndpointBy@BulUsbDevice@@MAAPAVBulEndpoint@@K@Z|
	DCD	|?PowerMgr@BulUsbDevice@@MAAXH@Z|
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |??0MS2UsbDevice@@QAA@PBG@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |??0MS2UsbDevice@@QAA@PBG@Z| PROC	; MS2UsbDevice::MS2UsbDevice

; 45   :     {

  00000		 |$L31142|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004		 |$M31140|
  00004	e1a04000	 mov         r4, r0
  00008	eb000000	 bl          |??0BulUsbDevice@@QAA@PBG@Z|
  0000c	e59f3014	 ldr         r3, [pc, #0x14]

; 46   :         m_pBCRReg = NULL;    

  00010	e3a02000	 mov         r2, #0
  00014	e58420c4	 str         r2, [r4, #0xC4]
  00018	e5843000	 str         r3, [r4]

; 47   :     }

  0001c	e1a00004	 mov         r0, r4
  00020	e8bd4010	 ldmia       sp!, {r4, lr}
  00024	e12fff1e	 bx          lr
  00028		 |$L31145|
  00028	00000000	 DCD         |??_7MS2UsbDevice@@6B@|
  0002c		 |$M31141|

			 ENDP  ; |??0MS2UsbDevice@@QAA@PBG@Z|, MS2UsbDevice::MS2UsbDevice

; File c:\wm520\platform\al270\public\csp\arm\intel\pxa27x\inc\bul_usbfn.h

  00000			 AREA	 |.text| { |?GetEndpointBy@BulUsbDevice@@MAAPAVBulEndpoint@@K@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$?GetEndpointBy@BulUsbDevice@@MAAPAVBulEndpoint@@K@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?GetEndpointBy@BulUsbDevice@@MAAPAVBulEndpoint@@K@Z| } ; comdat associative
|$T31157| DCD	|$L31156|
	DCD	0x40000500
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?GetEndpointBy@BulUsbDevice@@MAAPAVBulEndpoint@@K@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |?GetEndpointBy@BulUsbDevice@@MAAPAVBulEndpoint@@K@Z| PROC ; BulUsbDevice::GetEndpointBy

; 160  :     virtual BulEndpoint * GetEndpointBy(DWORD dwEndpointIndex) {

  00000		 |$L31156|
  00000		 |$M31154|

; 161  :         return  (dwEndpointIndex<MAX_ENDPOINT_NUMBER ? m_EndpointArray[dwEndpointIndex]:NULL);

  00000	e3510018	 cmp         r1, #0x18
  00004	30803101	 addcc       r3, r0, r1, lsl #2
  00008	3593003c	 ldrcc       r0, [r3, #0x3C]
  0000c	23a00000	 movcs       r0, #0

; 162  :     }

  00010	e12fff1e	 bx          lr
  00014		 |$M31155|

			 ENDP  ; |?GetEndpointBy@BulUsbDevice@@MAAPAVBulEndpoint@@K@Z|, BulUsbDevice::GetEndpointBy

	EXPORT	|??1MS2UsbDevice@@UAA@XZ|		; MS2UsbDevice::~MS2UsbDevice
	IMPORT	|MmUnmapIoSpace|
	IMPORT	|??1BulUsbDevice@@UAA@XZ|		; BulUsbDevice::~BulUsbDevice
; File c:\wm520\platform\al270\platform\mainstoneii\src\drivers\usbfn\ms2_usbfn.cpp

  00000			 AREA	 |.text| { |??1MS2UsbDevice@@UAA@XZ| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$??1MS2UsbDevice@@UAA@XZ|, PDATA, SELECTION=5, ASSOC=|.text| { |??1MS2UsbDevice@@UAA@XZ| } ; comdat associative
|$T31165| DCD	|$L31164|
	DCD	0x40000f01
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |??1MS2UsbDevice@@UAA@XZ| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |??1MS2UsbDevice@@UAA@XZ| PROC		; MS2UsbDevice::~MS2UsbDevice

; 48   :     virtual ~MS2UsbDevice() {

  00000		 |$L31164|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004		 |$M31162|
  00004	e1a04000	 mov         r4, r0

; 49   :         if (m_pBCRReg)

  00008	e1a01004	 mov         r1, r4
  0000c	e5b130c4	 ldr         r3, [r1, #0xC4]!
  00010	e59f2020	 ldr         r2, [pc, #0x20]
  00014	e3530000	 cmp         r3, #0

; 50   :             MmUnmapIoSpace(m_pBCRReg,0);

  00018	15910000	 ldrne       r0, [r1]
  0001c	13a01000	 movne       r1, #0
  00020	e5842000	 str         r2, [r4]
  00024	1b000000	 blne        MmUnmapIoSpace

; 51   :     }

  00028	e1a00004	 mov         r0, r4
  0002c	eb000000	 bl          |??1BulUsbDevice@@UAA@XZ|
  00030	e8bd4010	 ldmia       sp!, {r4, lr}
  00034	e12fff1e	 bx          lr
  00038		 |$L31167|
  00038	00000000	 DCD         |??_7MS2UsbDevice@@6B@|
  0003c		 |$M31163|

			 ENDP  ; |??1MS2UsbDevice@@UAA@XZ|, MS2UsbDevice::~MS2UsbDevice

	EXPORT	|??_C@_1CG@ENNHPBMA@?$AA?$CL?$AA?$CL?$AA?5?$AAU?$AAS?$AAB?$AAF?$AAN?$AA?5?$AAI?$AAn?$AAi?$AAt?$AA?4?$AA?4?$AA?4?$AA?$AN?$AA?6?$AA?$AA@| [ DATA ] ; `string'
	IMPORT	|NKDbgPrintfW|
	IMPORT	|MmMapIoSpace|
	IMPORT	|?Init@BulUsbDevice@@UAAKPAXPAU_UFN_MDD_INTERFACE_INFO@@PAU_UFN_PDD_INTERFACE_INFO@@@Z| ; BulUsbDevice::Init

  00000			 AREA	 |.text| { |?Init@MS2UsbDevice@@UAAKPAXPAU_UFN_MDD_INTERFACE_INFO@@PAU_UFN_PDD_INTERFACE_INFO@@@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$?Init@MS2UsbDevice@@UAAKPAXPAU_UFN_MDD_INTERFACE_INFO@@PAU_UFN_PDD_INTERFACE_INFO@@@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?Init@MS2UsbDevice@@UAAKPAXPAU_UFN_MDD_INTERFACE_INFO@@PAU_UFN_PDD_INTERFACE_INFO@@@Z| } ; comdat associative
|$T31182| DCD	|$L31181|
	DCD	0x40001e01

  00000			 AREA	 |.rdata| { |??_C@_1CG@ENNHPBMA@?$AA?$CL?$AA?$CL?$AA?5?$AAU?$AAS?$AAB?$AAF?$AAN?$AA?5?$AAI?$AAn?$AAi?$AAt?$AA?4?$AA?4?$AA?4?$AA?$AN?$AA?6?$AA?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1CG@ENNHPBMA@?$AA?$CL?$AA?$CL?$AA?5?$AAU?$AAS?$AAB?$AAF?$AAN?$AA?5?$AAI?$AAn?$AAi?$AAt?$AA?4?$AA?4?$AA?4?$AA?$AN?$AA?6?$AA?$AA@| DCB "+"
	DCB	0x0, "+", 0x0, " ", 0x0, "U", 0x0, "S", 0x0, "B", 0x0, "F"
	DCB	0x0, "N", 0x0, " ", 0x0, "I", 0x0, "n", 0x0, "i", 0x0, "t"
	DCB	0x0, ".", 0x0, ".", 0x0, ".", 0x0, 0xd, 0x0, 0xa, 0x0, 0x0
	DCB	0x0					; `string'
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?Init@MS2UsbDevice@@UAAKPAXPAU_UFN_MDD_INTERFACE_INFO@@PAU_UFN_PDD_INTERFACE_INFO@@@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |?Init@MS2UsbDevice@@UAAKPAXPAU_UFN_MDD_INTERFACE_INFO@@PAU_UFN_PDD_INTERFACE_INFO@@@Z| PROC ; MS2UsbDevice::Init

; 53   :     {

  00000		 |$L31181|
  00000	e92d41f0	 stmdb       sp!, {r4 - r8, lr}
  00004		 |$M31179|
  00004	e1a06003	 mov         r6, r3
  00008	e1a07002	 mov         r7, r2
  0000c	e1a08001	 mov         r8, r1
  00010	e1a05000	 mov         r5, r0

; 54   :         DWORD dwReturn = ERROR_INVALID_DATA;
; 55   :         NKDbgPrintfW(TEXT("++ USBFN Init...\r\n"));

  00014	e59f0058	 ldr         r0, [pc, #0x58]
  00018	e3a0400d	 mov         r4, #0xD
  0001c	eb000000	 bl          NKDbgPrintfW

; 56   :         if (m_pBCRReg==NULL) {

  00020	e595e0c4	 ldr         lr, [r5, #0xC4]
  00024	e35e0000	 cmp         lr, #0
  00028	1a000005	 bne         |$L30998|

; 57   :             PHYSICAL_ADDRESS ioPhysicalBase = { MAINSTONEII_BASE_REG_PA_FPGA, 0 };

  0002c	e3a00302	 mov         r0, #2, 6
  00030	e3a01000	 mov         r1, #0

; 58   :             m_pBCRReg =(PMAINSTONEII_BLR_REGS) MmMapIoSpace(ioPhysicalBase, sizeof(MAINSTONEII_BLR_REGS),FALSE) ;

  00034	e3a03000	 mov         r3, #0
  00038	e3a02c01	 mov         r2, #1, 24

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -