?? sianospi.cod
字號:
; Listing generated by Microsoft (R) Optimizing Compiler Version 13.10.4345
TTL E:\WM604\PLATFORM\SEUICBSP\SRC\DRIVERS\DMBDRV\SpiDrv\.\SianoSPI.c
CODE32
00000 AREA |.drectve|, DRECTVE
DCB "-defaultlib:coredll.lib "
DCB "-defaultlib:corelibc.lib "
EXPORT |dpCurSettings| [ DATA ]
00000 AREA |.data|, DATA
COMMON |gt_ClntST|, 0x4
COMMON |gt_ClntET|, 0x4
COMMON |Li_Clnt|, 0x8
|preamble_pattern| DCB 0xa5
DCB 0x5a
DCB 0xe7
DCB 0x7e
% 4
|dpCurSettings| DCB "B", 0x0, "U", 0x0, "I", 0x0, "L", 0x0, "T", 0x0, "I", 0x0
DCB "N", 0x0, "T", 0x0, "E", 0x0, "S", 0x0, "T", 0x0, 0x0, 0x0
% 40
DCB "E", 0x0, "r", 0x0, "r", 0x0, "o", 0x0, "r", 0x0, "s", 0x0
DCB 0x0, 0x0
% 50
DCB "W", 0x0, "a", 0x0, "r", 0x0, "n", 0x0, "i", 0x0, "n", 0x0
DCB "g", 0x0, "s", 0x0, 0x0, 0x0
% 46
DCB "I", 0x0, "n", 0x0, "i", 0x0, "t", 0x0, 0x0, 0x0
% 54
DCB "T", 0x0, "r", 0x0, "a", 0x0, "c", 0x0, "e", 0x0, 0x0, 0x0
% 52
DCB "S", 0x0, "P", 0x0, "I", 0x0, "_", 0x0, "I", 0x0, "N", 0x0
DCB "I", 0x0, "T", 0x0, 0x0, 0x0
% 46
DCB "S", 0x0, "P", 0x0, "I", 0x0, "_", 0x0, "R", 0x0, "E", 0x0
DCB "A", 0x0, "D", 0x0, 0x0, 0x0
% 46
DCB "S", 0x0, "P", 0x0, "I", 0x0, "_", 0x0, "W", 0x0, "R", 0x0
DCB "I", 0x0, "T", 0x0, "E", 0x0, 0x0, 0x0
% 44
DCB "S", 0x0, "P", 0x0, "I", 0x0, "_", 0x0, "I", 0x0, "O", 0x0
DCB "C", 0x0, "T", 0x0, "L", 0x0, 0x0, 0x0
% 44
DCB "S", 0x0, "P", 0x0, "I", 0x0, "_", 0x0, "D", 0x0, "E", 0x0
DCB "I", 0x0, "N", 0x0, "I", 0x0, "T", 0x0, 0x0, 0x0
% 42
DCB "Z", 0x0, "O", 0x0, "N", 0x0, "E", 0x0, "_", 0x0, "F", 0x0
DCB "U", 0x0, "N", 0x0, "C", 0x0, "T", 0x0, "I", 0x0, "O", 0x0
DCB "N", 0x0, 0x0, 0x0
% 36
DCB "U", 0x0, "n", 0x0, "d", 0x0, "e", 0x0, "f", 0x0, "i", 0x0
DCB "n", 0x0, "e", 0x0, "d", 0x0, 0x0, 0x0
% 44
DCB "U", 0x0, "n", 0x0, "d", 0x0, "e", 0x0, "f", 0x0, "i", 0x0
DCB "n", 0x0, "e", 0x0, "d", 0x0, 0x0, 0x0
% 44
% 256
DCD 0xf
EXPORT |ResetEvent|
IMPORT |EventModify|
; File e:\wm604\public\common\sdk\inc\kfuncs.h
00000 AREA |.text| { |ResetEvent| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$ResetEvent|, PDATA, SELECTION=5, ASSOC=|.text| { |ResetEvent| } ; comdat associative
|$T38825| DCD |$L38824|
DCD 0x40000501
; Function compile flags: /Ogsy
00000 AREA |.text| { |ResetEvent| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |ResetEvent| PROC
; 174 : _inline BOOL ResetEvent(HANDLE h) {
00000 |$L38824|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M38822|
; 175 : return EventModify(h,EVENT_RESET);
00004 e3a01002 mov r1, #2
00008 eb000000 bl EventModify
; 176 : }
0000c e49de004 ldr lr, [sp], #4
00010 e12fff1e bx lr
00014 |$M38823|
ENDP ; |ResetEvent|
EXPORT |SetEvent|
00000 AREA |.text| { |SetEvent| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$SetEvent|, PDATA, SELECTION=5, ASSOC=|.text| { |SetEvent| } ; comdat associative
|$T38835| DCD |$L38834|
DCD 0x40000501
; Function compile flags: /Ogsy
00000 AREA |.text| { |SetEvent| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |SetEvent| PROC
; 186 : _inline BOOL SetEvent(HANDLE h) {
00000 |$L38834|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M38832|
; 187 : return EventModify(h,EVENT_SET);
00004 e3a01003 mov r1, #3
00008 eb000000 bl EventModify
; 188 : }
0000c e49de004 ldr lr, [sp], #4
00010 e12fff1e bx lr
00014 |$M38833|
ENDP ; |SetEvent|
; File e:\wm604\platform\seuicbsp\src\drivers\dmbdrv\spidrv\sianospi.c
00000 AREA |.text| { |MsgFound| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$MsgFound|, PDATA, SELECTION=5, ASSOC=|.text| { |MsgFound| } ; comdat associative
|$T38845| DCD |$L38844|
DCD 0x40000801
; Function compile flags: /Ogsy
00000 AREA |.text| { |MsgFound| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |MsgFound| PROC
; 66 : {
00000 |$L38844|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M38842|
; 67 : PSPIDEVICEEXTENSION pSpiDevExt = context;
; 68 : //DBGMSG(ZONE_INFO, (TEXT("SmsSpi: MsgFound().\r\n")));
; 69 : if (pSpiDevExt->pBD_ReadCBFunc)
00004 e590305c ldr r3, [r0, #0x5C]
00008 e3530000 cmp r3, #0
; 70 : {
; 71 : //DBGMSG(ZONE_INFO, (TEXT("SmsSpi: Calling back with message.\r\n")));
; 72 : pSpiDevExt->pBD_ReadCBFunc(pSpiDevExt->hBDContext, buf, (DWORD)len);
0000c 15900068 ldrne r0, [r0, #0x68]
00010 11a0e00f movne lr, pc
00014 112fff13 bxne r3
; 73 : }
; 74 : //DBGMSG(ZONE_INFO, (TEXT("SmsSpi: MsgFound end.\r\n")));
; 75 :
; 76 : }
00018 e49de004 ldr lr, [sp], #4
0001c e12fff1e bx lr
00020 |$M38843|
ENDP ; |MsgFound|
IMPORT |SetEventData|
; File e:\wm604\public\common\sdk\inc\kfuncs.h
00000 AREA |.text| { |smsspi_interruptHandler| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$smsspi_interruptHandler|, PDATA, SELECTION=5, ASSOC=|.text| { |smsspi_interruptHandler| } ; comdat associative
|$T38857| DCD |$L38856|
DCD 0x40000a01
; Function compile flags: /Ogsy
; File e:\wm604\platform\seuicbsp\src\drivers\dmbdrv\spidrv\sianospi.c
00000 AREA |.text| { |smsspi_interruptHandler| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |smsspi_interruptHandler| PROC
; 80 : {
00000 |$L38856|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 |$M38854|
00004 e1a04000 mov r4, r0
; 81 : PSPIDEVICEEXTENSION pSpiDevExt = (PSPIDEVICEEXTENSION)pArg;
; 82 : //DBGMSG(ZONE_ERROR, (TEXT("SmsSpi: Interrupt().\r\n")));
; 83 : SetEventData(pSpiDevExt->transferMsgQueue, 0);
00008 e594004c ldr r0, [r4, #0x4C]
0000c e3a01000 mov r1, #0
00010 eb000000 bl SetEventData
; 84 : SetEvent(pSpiDevExt->transferMsgQueue);
00014 e594004c ldr r0, [r4, #0x4C]
00018 e3a01003 mov r1, #3
0001c eb000000 bl EventModify
; 85 : }
00020 e8bd4010 ldmia sp!, {r4, lr}
00024 e12fff1e bx lr
00028 |$M38855|
ENDP ; |smsspi_interruptHandler|
EXPORT |??_C@_1DE@OLMIHPOI@?$AAS?$AAm?$AAs?$AAS?$AAp?$AAi?$AA?3?$AA?5?$AAE?$AAn?$AAd?$AA?5?$AAx?$AAf?$AAe?$AAr?$AA?5?$AAe?$AAv?$AAe@| [ DATA ] ; `string'
IMPORT |GetEventData|
IMPORT |smsspi_common_transfer_msg|
IMPORT |WaitForSingleObject|
IMPORT |NKDbgPrintfW|
; File e:\wm604\public\common\sdk\inc\kfuncs.h
00000 AREA |.text| { |SpiTransferThread| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$SpiTransferThread|, PDATA, SELECTION=5, ASSOC=|.text| { |SpiTransferThread| } ; comdat associative
|$T38873| DCD |$L38872|
DCD 0x40001701
00000 AREA |.rdata| { |??_C@_1DE@OLMIHPOI@?$AAS?$AAm?$AAs?$AAS?$AAp?$AAi?$AA?3?$AA?5?$AAE?$AAn?$AAd?$AA?5?$AAx?$AAf?$AAe?$AAr?$AA?5?$AAe?$AAv?$AAe@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1DE@OLMIHPOI@?$AAS?$AAm?$AAs?$AAS?$AAp?$AAi?$AA?3?$AA?5?$AAE?$AAn?$AAd?$AA?5?$AAx?$AAf?$AAe?$AAr?$AA?5?$AAe?$AAv?$AAe@| DCB "S"
DCB 0x0, "m", 0x0, "s", 0x0, "S", 0x0, "p", 0x0, "i", 0x0, ":"
DCB 0x0, " ", 0x0, "E", 0x0, "n", 0x0, "d", 0x0, " ", 0x0, "x"
DCB 0x0, "f", 0x0, "e", 0x0, "r", 0x0, " ", 0x0, "e", 0x0, "v"
DCB 0x0, "e", 0x0, "n", 0x0, "t", 0x0, ".", 0x0, 0xd, 0x0, 0xa
DCB 0x0, 0x0, 0x0 ; `string'
; Function compile flags: /Ogsy
; File e:\wm604\platform\seuicbsp\src\drivers\dmbdrv\spidrv\sianospi.c
00000 AREA |.text| { |SpiTransferThread| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |SpiTransferThread| PROC
; 89 : {
00000 |$L38872|
00000 e92d4030 stmdb sp!, {r4, r5, lr}
00004 |$M38870|
00004 e1a04000 mov r4, r0
00008 e59f5048 ldr r5, [pc, #0x48]
0000c |$L38426|
; 90 : PSPIDEVICEEXTENSION pSpiDevExt = (PSPIDEVICEEXTENSION)pArg;
; 91 : struct spi_msg *msg;
; 92 :
; 93 : while (1)
; 94 : {
; 95 : WaitForSingleObject(pSpiDevExt->transferMsgQueue, INFINITE);
0000c e594004c ldr r0, [r4, #0x4C]
00010 e3e01000 mvn r1, #0
00014 eb000000 bl WaitForSingleObject
; 96 : //DBGMSG(ZONE_DETAILED, (TEXT("SmsSpi: Recieved xfer event.\r\n")));
; 97 : msg = (struct spi_msg *)GetEventData(pSpiDevExt->transferMsgQueue);
00018 e594004c ldr r0, [r4, #0x4C]
0001c eb000000 bl GetEventData
; 98 : //if (msg)
; 99 : // DBGMSG(ZONE_INFO, (TEXT("SmsSpi: Transfering packet, buf=0x%x, len=%d.\r\n"), msg->buf, msg->len));
; 100 : smsspi_common_transfer_msg(&pSpiDevExt->dev, msg, pSpiDevExt->PaddingAllowed);
00020 e5942034 ldr r2, [r4, #0x34]
00024 e1a01000 mov r1, r0
00028 e1a00004 mov r0, r4
0002c eb000000 bl smsspi_common_transfer_msg
; 101 : SetEvent(pSpiDevExt->WriteOperation);
00030 e5940048 ldr r0, [r4, #0x48]
00034 e3a01003 mov r1, #3
00038 eb000000 bl EventModify
; 102 : DBGMSG(ZONE_DETAILED, (TEXT("SmsSpi: End xfer event.\r\n")));
0003c e5953440 ldr r3, [r5, #0x440]
00040 e3130010 tst r3, #0x10
00044 0afffff0 beq |$L38426|
00048 e59f0004 ldr r0, [pc, #4]
0004c eb000000 bl NKDbgPrintfW
; 103 : }
00050 eaffffed b |$L38426|
00054 |$L38875|
00054 00000000 DCD |??_C@_1DE@OLMIHPOI@?$AAS?$AAm?$AAs?$AAS?$AAp?$AAi?$AA?3?$AA?5?$AAE?$AAn?$AAd?$AA?5?$AAx?$AAf?$AAe?$AAr?$AA?5?$AAe?$AAv?$AAe@|
00058 00000000 DCD |dpCurSettings|
0005c |$M38871|
ENDP ; |SpiTransferThread|
EXPORT |GetInstance|
EXPORT |??_C@_1DC@DJFBBKNH@?$AAD?$AAr?$AAi?$AAv?$AAe?$AAr?$AAs?$AA?2?$AAB?$AAu?$AAi?$AAl?$AAt?$AAI?$AAn?$AA?2?$AAS?$AAi?$AAa?$AAn@| [ DATA ] ; `string'
EXPORT |??_C@_1CC@KBENDKOI@?$AAM?$AAi?$AAn?$AAi?$AAP?$AAo?$AAr?$AAt?$AAI?$AAn?$AAs?$AAt?$AAa?$AAn?$AAc?$AAe?$AA?$AA@| [ DATA ] ; `string'
EXPORT |??_C@_1BK@KPLOIJDF@?$AAM?$AAi?$AAn?$AAi?$AAp?$AAo?$AAr?$AAt?$AAN?$AAa?$AAm?$AAe?$AA?$AA@| [ DATA ] ; `string'
IMPORT |RegCloseKey|
IMPORT |RegOpenKeyExW|
IMPORT |RegQueryValueExW|
00000 AREA |.text| { |GetInstance| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$GetInstance|, PDATA, SELECTION=5, ASSOC=|.text| { |GetInstance| } ; comdat associative
|$T38886| DCD |$L38885|
DCD 0x40003102
00000 AREA |.rdata| { |??_C@_1BK@KPLOIJDF@?$AAM?$AAi?$AAn?$AAi?$AAp?$AAo?$AAr?$AAt?$AAN?$AAa?$AAm?$AAe?$AA?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1BK@KPLOIJDF@?$AAM?$AAi?$AAn?$AAi?$AAp?$AAo?$AAr?$AAt?$AAN?$AAa?$AAm?$AAe?$AA?$AA@| DCB "M"
DCB 0x0, "i", 0x0, "n", 0x0, "i", 0x0, "p", 0x0, "o", 0x0, "r"
DCB 0x0, "t", 0x0, "N", 0x0, "a", 0x0, "m", 0x0, "e", 0x0, 0x0
DCB 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_1CC@KBENDKOI@?$AAM?$AAi?$AAn?$AAi?$AAP?$AAo?$AAr?$AAt?$AAI?$AAn?$AAs?$AAt?$AAa?$AAn?$AAc?$AAe?$AA?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1CC@KBENDKOI@?$AAM?$AAi?$AAn?$AAi?$AAP?$AAo?$AAr?$AAt?$AAI?$AAn?$AAs?$AAt?$AAa?$AAn?$AAc?$AAe?$AA?$AA@| DCB "M"
DCB 0x0, "i", 0x0, "n", 0x0, "i", 0x0, "P", 0x0, "o", 0x0, "r"
DCB 0x0, "t", 0x0, "I", 0x0, "n", 0x0, "s", 0x0, "t", 0x0, "a"
DCB 0x0, "n", 0x0, "c", 0x0, "e", 0x0, 0x0, 0x0 ; `string'
00000 AREA |.rdata| { |??_C@_1DC@DJFBBKNH@?$AAD?$AAr?$AAi?$AAv?$AAe?$AAr?$AAs?$AA?2?$AAB?$AAu?$AAi?$AAl?$AAt?$AAI?$AAn?$AA?2?$AAS?$AAi?$AAa?$AAn@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1DC@DJFBBKNH@?$AAD?$AAr?$AAi?$AAv?$AAe?$AAr?$AAs?$AA?2?$AAB?$AAu?$AAi?$AAl?$AAt?$AAI?$AAn?$AA?2?$AAS?$AAi?$AAa?$AAn@| DCB "D"
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -