📄 ms2_ohci2.cod
字号:
0000c e5b13098 ldr r3, [r1, #0x98]!
00010 e59f2020 ldr r2, [pc, #0x20]
00014 e3530000 cmp r3, #0
; 52 : MmUnmapIoSpace((PVOID)m_pDCGPIOReg,0);
00018 15910000 ldrne r0, [r1]
0001c 13a01000 movne r1, #0
00020 e5842000 str r2, [r4]
00024 1b000000 blne MmUnmapIoSpace
; 53 : }
00028 e1a00004 mov r0, r4
0002c eb000000 bl |??1SOhcdPdd@@UAA@XZ|
00030 e8bd4010 ldmia sp!, {r4, lr}
00034 e12fff1e bx lr
00038 |$L30011|
00038 00000000 DCD |??_7MainStoneOhciPdd@@6B@|
0003c |$M30007|
ENDP ; |??1MainStoneOhciPdd@@UAA@XZ|, MainStoneOhciPdd::~MainStoneOhciPdd
IMPORT |XllpGpioSetDirectionIn|
IMPORT |XllpGpioSetAlternateFn|
00000 AREA |.text| { |?SetupUSBHostPWR@MainStoneOhciPdd@@UAAXH@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?SetupUSBHostPWR@MainStoneOhciPdd@@UAAXH@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?SetupUSBHostPWR@MainStoneOhciPdd@@UAAXH@Z| } ; comdat associative
|$T30018| DCD |$L30017|
DCD 0x40001502
; Function compile flags: /Ogsy
00000 AREA |.text| { |?SetupUSBHostPWR@MainStoneOhciPdd@@UAAXH@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?SetupUSBHostPWR@MainStoneOhciPdd@@UAAXH@Z| PROC ; MainStoneOhciPdd::SetupUSBHostPWR
; 83 : {
00000 |$L30017|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 e24dd01c sub sp, sp, #0x1C
00008 |$M30015|
00008 e1a04000 mov r4, r0
; 84 : unsigned long ulPinArrayParms[3];
; 85 : unsigned long ulAlternateFunctionParms[3];
; 86 :
; 87 : // Configure GPIO 88 according to the discussion above:
; 88 : // Direction: Input
; 89 : // Alternate function: 1
; 90 :
; 91 : // direction & alternate function gpio apis both use the same pin array
; 92 : ulPinArrayParms[0] = 1;
; 93 : ulPinArrayParms[1] = 88;
; 94 :
; 95 : XllpGpioSetDirectionIn( m_pDCGPIOReg, ulPinArrayParms );
0000c e5940098 ldr r0, [r4, #0x98]
00010 e3a03001 mov r3, #1
00014 e3a02058 mov r2, #0x58
00018 e28d1000 add r1, sp, #0
0001c e58d3000 str r3, [sp]
00020 e58d2004 str r2, [sp, #4]
00024 eb000000 bl XllpGpioSetDirectionIn
; 96 :
; 97 : ulAlternateFunctionParms[0] = 1;
; 98 : ulAlternateFunctionParms[1] = XLLP_GPIO_ALT_FN_1;
; 99 : XllpGpioSetAlternateFn( m_pDCGPIOReg, ulPinArrayParms, ulAlternateFunctionParms );
00028 e5940098 ldr r0, [r4, #0x98]
0002c e3a0e001 mov lr, #1
00030 e3a03001 mov r3, #1
00034 e28d2010 add r2, sp, #0x10
00038 e28d1000 add r1, sp, #0
0003c e58de014 str lr, [sp, #0x14]
00040 e58d3010 str r3, [sp, #0x10]
00044 eb000000 bl XllpGpioSetAlternateFn
; 100 :
; 101 : }
00048 e28dd01c add sp, sp, #0x1C
0004c e8bd4010 ldmia sp!, {r4, lr}
00050 e12fff1e bx lr
00054 |$M30016|
ENDP ; |?SetupUSBHostPWR@MainStoneOhciPdd@@UAAXH@Z|, MainStoneOhciPdd::SetupUSBHostPWR
IMPORT |XllpGpioSetDirectionOut|
IMPORT |XllpGpioSetOutputState1|
00000 AREA |.text| { |?SetupUSBHostPEN@MainStoneOhciPdd@@UAAXH@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?SetupUSBHostPEN@MainStoneOhciPdd@@UAAXH@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?SetupUSBHostPEN@MainStoneOhciPdd@@UAAXH@Z| } ; comdat associative
|$T30026| DCD |$L30025|
DCD 0x40001802
; Function compile flags: /Ogsy
00000 AREA |.text| { |?SetupUSBHostPEN@MainStoneOhciPdd@@UAAXH@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?SetupUSBHostPEN@MainStoneOhciPdd@@UAAXH@Z| PROC ; MainStoneOhciPdd::SetupUSBHostPEN
; 258 : {
00000 |$L30025|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 e24dd01c sub sp, sp, #0x1C
00008 |$M30023|
00008 e1a04000 mov r4, r0
; 259 : unsigned long ulPinArrayParms[3];
; 260 : unsigned long ulAlternateFunctionParms[3];
; 261 :
; 262 : // Configure GPIO 89 according to the discussion above:
; 263 : // Level: Low (enable)
; 264 : // Direction: Output
; 265 : // Alternate function: 2
; 266 :
; 267 : // level, direction & alternate function gpio apis all use the same pin array
; 268 : ulPinArrayParms[0] = 1;
; 269 : ulPinArrayParms[1] = 89;
; 270 : XllpGpioSetOutputState1( m_pDCGPIOReg, ulPinArrayParms ); //GPIO89 output "1" for sp2525-1EN
0000c e5940098 ldr r0, [r4, #0x98]
00010 e3a03001 mov r3, #1
00014 e3a02059 mov r2, #0x59
00018 e28d1000 add r1, sp, #0
0001c e58d3000 str r3, [sp]
00020 e58d2004 str r2, [sp, #4]
00024 eb000000 bl XllpGpioSetOutputState1
; 271 : // XllpGpioSetOutput0( m_pDCGPIOReg, ulPinArrayParms ); //GPIO89 output "0"
; 272 :
; 273 : XllpGpioSetDirectionOut( m_pDCGPIOReg, ulPinArrayParms );
00028 e5940098 ldr r0, [r4, #0x98]
0002c e28d1000 add r1, sp, #0
00030 eb000000 bl XllpGpioSetDirectionOut
; 274 :
; 275 : ulAlternateFunctionParms[0] = 1;
; 276 : ulAlternateFunctionParms[1] = XLLP_GPIO_ALT_FN_2;
; 277 : XllpGpioSetAlternateFn( m_pDCGPIOReg, ulPinArrayParms, ulAlternateFunctionParms );
00034 e5940098 ldr r0, [r4, #0x98]
00038 e3a0e002 mov lr, #2
0003c e3a03001 mov r3, #1
00040 e28d2010 add r2, sp, #0x10
00044 e28d1000 add r1, sp, #0
00048 e58de014 str lr, [sp, #0x14]
0004c e58d3010 str r3, [sp, #0x10]
00050 eb000000 bl XllpGpioSetAlternateFn
; 278 : }
00054 e28dd01c add sp, sp, #0x1C
00058 e8bd4010 ldmia sp!, {r4, lr}
0005c e12fff1e bx lr
00060 |$M30024|
ENDP ; |?SetupUSBHostPEN@MainStoneOhciPdd@@UAAXH@Z|, MainStoneOhciPdd::SetupUSBHostPEN
IMPORT |??3@YAXPAX@Z| ; operator delete
00000 AREA |.text| { |??_GMainStoneOhciPdd@@UAAPAXI@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$??_GMainStoneOhciPdd@@UAAPAXI@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |??_GMainStoneOhciPdd@@UAAPAXI@Z| } ; comdat associative
|$T30037| DCD |$L30036|
DCD 0x40000a01
; Function compile flags: /Ogsy
00000 AREA |.text| { |??_GMainStoneOhciPdd@@UAAPAXI@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |??_GMainStoneOhciPdd@@UAAPAXI@Z| PROC ; MainStoneOhciPdd::`scalar deleting destructor'
00000 |$L30036|
00000 e92d4030 stmdb sp!, {r4, r5, lr}
00004 |$M30034|
00004 e1a04001 mov r4, r1
00008 e1a05000 mov r5, r0
0000c eb000000 bl |??1MainStoneOhciPdd@@UAA@XZ|
00010 e3140001 tst r4, #1
00014 11a00005 movne r0, r5
00018 1b000000 blne |??3@YAXPAX@Z|
0001c e1a00005 mov r0, r5
00020 e8bd4030 ldmia sp!, {r4, r5, lr}
00024 e12fff1e bx lr
00028 |$M30035|
ENDP ; |??_GMainStoneOhciPdd@@UAAPAXI@Z|, MainStoneOhciPdd::`scalar deleting destructor'
EXPORT |?CreateBulverdeOhci@@YAPAVSOhcdPdd@@PBG@Z| ; CreateBulverdeOhci
IMPORT |??2@YAPAXI@Z| ; operator new
00000 AREA |.text| { |?CreateBulverdeOhci@@YAPAVSOhcdPdd@@PBG@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$?CreateBulverdeOhci@@YAPAVSOhcdPdd@@PBG@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?CreateBulverdeOhci@@YAPAVSOhcdPdd@@PBG@Z| } ; comdat associative
|$T30054| DCD |$L30053|
DCD 0x40001301
; Function compile flags: /Ogsy
00000 AREA |.text| { |?CreateBulverdeOhci@@YAPAVSOhcdPdd@@PBG@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |?CreateBulverdeOhci@@YAPAVSOhcdPdd@@PBG@Z| PROC ; CreateBulverdeOhci
; 283 : {
00000 |$L30053|
00000 e92d4030 stmdb sp!, {r4, r5, lr}
00004 |$M30051|
00004 e1a05000 mov r5, r0
; 284 : return new MainStoneOhciPdd(lpActiveRegistry);
00008 e3a000a0 mov r0, #0xA0
0000c eb000000 bl |??2@YAPAXI@Z|
00010 e1b04000 movs r4, r0
00014 0a000007 beq |$L30042|
00018 e1a01005 mov r1, r5
0001c e1a00004 mov r0, r4
00020 eb000000 bl |??0SOhcdPdd@@QAA@PBG@Z|
00024 e59f301c ldr r3, [pc, #0x1C]
00028 e3a02000 mov r2, #0
0002c e5842098 str r2, [r4, #0x98]
00030 e5843000 str r3, [r4]
00034 ea000000 b |$L30043|
00038 |$L30042|
00038 e3a04000 mov r4, #0
0003c |$L30043|
0003c e1a00004 mov r0, r4
; 285 : }
00040 e8bd4030 ldmia sp!, {r4, r5, lr}
00044 e12fff1e bx lr
00048 |$L30056|
00048 00000000 DCD |??_7MainStoneOhciPdd@@6B@|
0004c |$M30052|
ENDP ; |?CreateBulverdeOhci@@YAPAVSOhcdPdd@@PBG@Z|, CreateBulverdeOhci
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -