?? ms2_usbfn.cod
字號:
; 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
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -