?? sianospi.cod
字號:
000e4 e59f0240 ldr r0, [pc, #0x240]
; 447 : {
; 448 : DBGMSG(ZONE_INIT | ZONE_ERROR, (TEXT("SmsSpi: SPI_Init() failed to set transferThread thread priority.\r\n")));
000e8 eb000000 bl NKDbgPrintfW
; 449 : FreeAllocatedResources(pSpiDevExt);
; 450 : return 0;
000ec ea00007a b |$L38960|
000f0 |$L38548|
; 401 : FreeAllocatedResources(pSpiDevExt);
; 402 : return 0;
; 403 : }
; 404 : pSpiDevExt->dev.rxbuf = LocalAlloc(LPTR, RX_BUF_SIZE);
000f0 e3a01a01 mov r1, #1, 20
000f4 e3a00040 mov r0, #0x40
000f8 eb000000 bl LocalAlloc
000fc e3500000 cmp r0, #0
00100 e5850010 str r0, [r5, #0x10]
; 405 : if (pSpiDevExt->dev.rxbuf == NULL)
00104 1a000005 bne |$L38551|
; 406 : {
; 407 : DBGMSG(ZONE_INIT | ZONE_ERROR, (TEXT("SmsSpi: SPI_Init() failed to allocate memory for RX buffer.\r\n")));
00108 e5963448 ldr r3, [r6, #0x448]
0010c e3130005 tst r3, #5
00110 0a000071 beq |$L38960|
00114 e59f020c ldr r0, [pc, #0x20C]
; 447 : {
; 448 : DBGMSG(ZONE_INIT | ZONE_ERROR, (TEXT("SmsSpi: SPI_Init() failed to set transferThread thread priority.\r\n")));
00118 eb000000 bl NKDbgPrintfW
; 449 : FreeAllocatedResources(pSpiDevExt);
; 450 : return 0;
0011c ea00006e b |$L38960|
00120 |$L38551|
; 408 : FreeAllocatedResources(pSpiDevExt);
; 409 : return 0;
; 410 : }
; 411 :
; 412 : smsspicommon_init(&pSpiDevExt->dev, (PVOID)pSpiDevExt->rxbuf, pSpiDevExt->rxbuf_phy_addr, pSpiDevExt, pSpiDevExt->phyDrv, smsspibus_xfer, MsgFound);
00120 e59f31fc ldr r3, [pc, #0x1FC]
00124 e59f01f4 ldr r0, [pc, #0x1F4]
00128 e595e054 ldr lr, [r5, #0x54]
0012c e595203c ldr r2, [r5, #0x3C]
00130 e5951038 ldr r1, [r5, #0x38]
00134 e58d3008 str r3, [sp, #8]
00138 e58d0004 str r0, [sp, #4]
0013c e1a03005 mov r3, r5
00140 e1a00005 mov r0, r5
00144 e58de000 str lr, [sp]
00148 eb000000 bl smsspicommon_init
; 413 : memcpy (pSpiDevExt->txbuf, preamble_pattern, sizeof(preamble_pattern));
0014c e5954040 ldr r4, [r5, #0x40]
00150 e5961000 ldr r1, [r6]
; 414 :
; 415 :
; 416 :
; 417 : pSpiDevExt->WriteOperation = CreateEvent(NULL, FALSE, FALSE, NULL);
00154 e3a03000 mov r3, #0
00158 e3a02000 mov r2, #0
0015c e5c41000 strb r1, [r4]
00160 e596e000 ldr lr, [r6]
00164 e3a01000 mov r1, #0
00168 e3a00000 mov r0, #0
0016c e1a0e42e mov lr, lr, lsr #8
00170 e5c4e001 strb lr, [r4, #1]
00174 e596e000 ldr lr, [r6]
00178 e1a0e82e mov lr, lr, lsr #16
0017c e5c4e002 strb lr, [r4, #2]
00180 e596e000 ldr lr, [r6]
00184 e1a0ec2e mov lr, lr, lsr #24
00188 e5c4e003 strb lr, [r4, #3]
0018c eb000000 bl CreateEventW
00190 e3500000 cmp r0, #0
00194 e5850048 str r0, [r5, #0x48]
; 418 : if (pSpiDevExt->WriteOperation == NULL)
00198 1a000005 bne |$L38557|
; 419 : {
; 420 : DBGMSG(ZONE_INIT | ZONE_ERROR, (TEXT("SmsSpi: SPI_Init() failed to create Write event.\r\n")));
0019c e5963448 ldr r3, [r6, #0x448]
001a0 e3130005 tst r3, #5
001a4 0a00004c beq |$L38960|
001a8 e59f016c ldr r0, [pc, #0x16C]
; 447 : {
; 448 : DBGMSG(ZONE_INIT | ZONE_ERROR, (TEXT("SmsSpi: SPI_Init() failed to set transferThread thread priority.\r\n")));
001ac eb000000 bl NKDbgPrintfW
; 449 : FreeAllocatedResources(pSpiDevExt);
; 450 : return 0;
001b0 ea000049 b |$L38960|
001b4 |$L38557|
; 421 : FreeAllocatedResources(pSpiDevExt);
; 422 : return 0;
; 423 : }
; 424 :
; 425 : msgOptions.dwSize = sizeof(msgOptions);
; 426 : msgOptions.dwFlags = 0;
; 427 : msgOptions.dwMaxMessages = 5;
; 428 : msgOptions.cbMaxMessage = sizeof(struct spi_msg);
; 429 : msgOptions.bReadAccess = TRUE;
; 430 :
; 431 : pSpiDevExt->transferMsgQueue = CreateEvent(NULL, FALSE, FALSE, NULL);
001b4 e3a03000 mov r3, #0
001b8 e3a02000 mov r2, #0
001bc e3a01000 mov r1, #0
001c0 e3a00000 mov r0, #0
001c4 eb000000 bl CreateEventW
001c8 e3500000 cmp r0, #0
001cc e585004c str r0, [r5, #0x4C]
; 432 : if (pSpiDevExt->transferMsgQueue == NULL)
001d0 1a000005 bne |$L38563|
; 433 : {
; 434 : DBGMSG(ZONE_INIT | ZONE_ERROR, (TEXT("SmsSpi: SPI_Init() failed to create transferMsgQueue.\r\n")));
001d4 e5963448 ldr r3, [r6, #0x448]
001d8 e3130005 tst r3, #5
001dc 0a00003e beq |$L38960|
001e0 e59f0130 ldr r0, [pc, #0x130]
; 447 : {
; 448 : DBGMSG(ZONE_INIT | ZONE_ERROR, (TEXT("SmsSpi: SPI_Init() failed to set transferThread thread priority.\r\n")));
001e4 eb000000 bl NKDbgPrintfW
; 449 : FreeAllocatedResources(pSpiDevExt);
; 450 : return 0;
001e8 ea00003b b |$L38960|
001ec |$L38563|
; 435 : FreeAllocatedResources(pSpiDevExt);
; 436 : return 0;
; 437 : }
; 438 :
; 439 : pSpiDevExt->transferThread = CreateThread (NULL, 0, (LPTHREAD_START_ROUTINE)SpiTransferThread, pSpiDevExt, 0, NULL);
001ec e59f2120 ldr r2, [pc, #0x120]
001f0 e1a03005 mov r3, r5
001f4 e3a01000 mov r1, #0
001f8 e3a00000 mov r0, #0
001fc e58d9004 str r9, [sp, #4]
00200 e58d9000 str r9, [sp]
00204 eb000000 bl CreateThread
00208 e3500000 cmp r0, #0
0020c e5850050 str r0, [r5, #0x50]
; 440 : if (pSpiDevExt->transferThread == NULL)
00210 1a000005 bne |$L38569|
; 441 : {
; 442 : DBGMSG(ZONE_INIT | ZONE_ERROR, (TEXT("SmsSpi: SPI_Init() failed to create transferThread thread.\r\n")));
00214 e5963448 ldr r3, [r6, #0x448]
00218 e3130005 tst r3, #5
0021c 0a00002e beq |$L38960|
00220 e59f00e8 ldr r0, [pc, #0xE8]
; 447 : {
; 448 : DBGMSG(ZONE_INIT | ZONE_ERROR, (TEXT("SmsSpi: SPI_Init() failed to set transferThread thread priority.\r\n")));
00224 eb000000 bl NKDbgPrintfW
; 449 : FreeAllocatedResources(pSpiDevExt);
; 450 : return 0;
00228 ea00002b b |$L38960|
0022c |$L38569|
; 443 : FreeAllocatedResources(pSpiDevExt);
; 444 : return 0;
; 445 : }
; 446 : if (CeSetThreadPriority(pSpiDevExt->transferThread, 0) == FALSE)
0022c e3a01000 mov r1, #0
00230 eb000000 bl CeSetThreadPriority
00234 e3500000 cmp r0, #0
00238 1a000005 bne |$L38571|
; 447 : {
; 448 : DBGMSG(ZONE_INIT | ZONE_ERROR, (TEXT("SmsSpi: SPI_Init() failed to set transferThread thread priority.\r\n")));
0023c e5963448 ldr r3, [r6, #0x448]
00240 e3130005 tst r3, #5
00244 0a000024 beq |$L38960|
00248 e59f00bc ldr r0, [pc, #0xBC]
0024c eb000000 bl NKDbgPrintfW
; 449 : FreeAllocatedResources(pSpiDevExt);
; 450 : return 0;
00250 ea000021 b |$L38960|
00254 |$L38571|
; 451 : }
; 452 :
; 453 : if (pSpiDevExt->novaDevice)
00254 e5953060 ldr r3, [r5, #0x60]
00258 e3530000 cmp r3, #0
; 454 : {
; 455 : DBGMSG(ZONE_INIT, (TEXT("SmsSpi: SPI_Init() Activating Gen driver with Nava device.\r\n")));
0025c e5963448 ldr r3, [r6, #0x448]
00260 0a000004 beq |$L38573|
00264 e3130004 tst r3, #4
00268 159f0098 ldrne r0, [pc, #0x98]
0026c 1b000000 blne NKDbgPrintfW
; 456 : pSpiDevExt->hSmsGenDrv = ActivateDevice(SMS_GEN_DRIVER_REGISTRY_PATH,BD_TYPE_SPI_NOVA);
00270 e3a01006 mov r1, #6
; 457 : }
; 458 : else
00274 ea000003 b |$L38969|
00278 |$L38573|
; 459 : {
; 460 : DBGMSG(ZONE_INIT, (TEXT("SmsSpi: SPI_Init() Activating Gen driver with Stellar device.\r\n")));
00278 e3130004 tst r3, #4
0027c 159f0080 ldrne r0, [pc, #0x80]
00280 1b000000 blne NKDbgPrintfW
; 461 : pSpiDevExt->hSmsGenDrv = ActivateDevice(SMS_GEN_DRIVER_REGISTRY_PATH,BD_TYPE_SPI_STELLAR);
00284 e3a01001 mov r1, #1
00288 |$L38969|
00288 e59f0070 ldr r0, [pc, #0x70]
0028c eb000000 bl ActivateDevice
; 462 : }
; 463 : if (pSpiDevExt->hSmsGenDrv == NULL || pSpiDevExt->hSmsGenDrv == INVALID_HANDLE_VALUE)
00290 e1a03000 mov r3, r0
00294 e3530000 cmp r3, #0
00298 e5850058 str r0, [r5, #0x58]
0029c 0a000007 beq |$L38581|
002a0 e3730001 cmn r3, #1
002a4 0a000005 beq |$L38581|
; 468 : }
; 469 :
; 470 : DBGMSG(ZONE_INIT, (TEXT("SmsSpi: SPI_Init() End.\r\n")));
002a8 e5963448 ldr r3, [r6, #0x448]
002ac e3130004 tst r3, #4
002b0 0a00000c beq |$L38529|
002b4 e59f0040 ldr r0, [pc, #0x40]
002b8 eb000000 bl NKDbgPrintfW
; 471 :
; 472 : return (DWORD)pSpiDevExt;
002bc ea000009 b |$L38529|
002c0 |$L38581|
; 464 : {
; 465 : DBGMSG(ZONE_ERROR, (TEXT("SmsSpi: Failed to load SmsGenDrv. Error %d\r\n"),GetLastError()));
002c0 e5963448 ldr r3, [r6, #0x448]
002c4 e3130001 tst r3, #1
002c8 0a000003 beq |$L38960|
002cc eb000000 bl GetLastError
002d0 e1a01000 mov r1, r0
002d4 e59f001c ldr r0, [pc, #0x1C]
002d8 eb000000 bl NKDbgPrintfW
002dc |$L38960|
; 466 : FreeAllocatedResources(pSpiDevExt);
002dc e1a00005 mov r0, r5
002e0 eb000000 bl FreeAllocatedResources
002e4 |$L38942|
; 467 : return 0;
002e4 e3a05000 mov r5, #0
002e8 |$L38529|
; 376 : return 0;
002e8 e1a00005 mov r0, r5
; 473 : }
002ec e28dd00c add sp, sp, #0xC
002f0 e8bd43f0 ldmia sp!, {r4 - r9, lr}
002f4 e12fff1e bx lr
002f8 |$L38976|
002f8 00000000 DCD |??_C@_1FK@FEKJBJKM@?$AAS?$AAm?$AAs?$AAS?$AAp?$AAi?$AA?3?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AAl?$AAo@|
002fc 00000000 DCD |??_C@_1DE@COIBIHEA@?$AAS?$AAm?$AAs?$AAS?$AAp?$AAi?$AA?3?$AA?5?$AAS?$AAP?$AAI?$AA_?$AAI?$AAn?$AAi?$AAt?$AA?$CI?$AA?$CJ?$AA?5?$AAE@|
00300 00000000 DCD |??_C@_1EA@FCMJOLGJ@?$AAD?$AAr?$AAi?$AAv?$AAe?$AAr?$AAs?$AA?2?$AAS?$AAi?$AAa?$AAn?$AAo?$AA?2?$AAS?$AAM?$AAS?$AA1?$AA0?$AA0@|
00304 00000000 DCD |??_C@_1IA@JPGPNFKL@?$AAS?$AAm?$AAs?$AAS?$AAp?$AAi?$AA?3?$AA?5?$AAS?$AAP?$AAI?$AA_?$AAI?$AAn?$AAi?$AAt?$AA?$CI?$AA?$CJ?$AA?5?$AAA@|
00308 00000000 DCD |??_C@_1HK@DMNNACLP@?$AAS?$AAm?$AAs?$AAS?$AAp?$AAi?$AA?3?$AA?5?$AAS?$AAP?$AAI?$AA_?$AAI?$AAn?$AAi?$AAt?$AA?$CI?$AA?$CJ?$AA?5?$AAA@|
0030c 00000000 DCD |??_C@_1IG@PCKFGJPM@?$AAS?$AAm?$AAs?$AAS?$AAp?$AAi?$AA?3?$AA?5?$AAS?$AAP?$AAI?$AA_?$AAI?$AAn?$AAi?$AAt?$AA?$CI?$AA?$CJ?$AA?5?$AAf@|
00310 00000000 DCD |??_C@_1HK@JOLIIND@?$AAS?$AAm?$AAs?$AAS
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -