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

📄 oemioctl.cod

📁 Ep93XX TionProV2 BSP
💻 COD
📖 第 1 页 / 共 5 页
字号:
; 845  : 	case IOCTL_HAL_PIO_CIR:
; 846  : 		return GetKeyName( lpOutBuf, nOutBufSize, lpBytesReturned );
; 847  : 		break;
; 848  : #endif
; 849  : 
; 850  :     }
; 851  : 
; 852  :     return(TRUE);

  00704	23a00001	 movcs       r0, #1
  00708	2afffe73	 bcs         |$L16625|
  0070c		 |$L16765|

; 426  :         {
; 427  :             SetLastError(ERROR_INVALID_PARAMETER);

  0070c	e59f3600	 ldr         r3, [pc, #0x600]
  00710	e3a00057	 mov         r0, #0x57
  00714	e1a0e00f	 mov         lr, pc
  00718	e12fff13	 bx          r3

; 428  :             return(FALSE);

  0071c	eafffe6d	 b           |$L16908|
  00720		 |$L16831|

; 562  :         return TRUE;
; 563  : 
; 564  :     case IOCTL_VBRIDGE_GET_RX_PACKET:
; 565  :         if (lpOutBuf) {

  00720	e3560000	 cmp         r6, #0
  00724	0a000003	 beq         |$L16832|

; 566  :             return VBridgeUGetOneRxPacket((PUCHAR *)lpOutBuf, lpBytesReturned);

  00728	e59d104c	 ldr         r1, [sp, #0x4C]
  0072c	e1a00006	 mov         r0, r6
  00730	eb000000	 bl          VBridgeUGetOneRxPacket
  00734	eafffe68	 b           |$L16625|
  00738		 |$L16832|

; 567  :         }
; 568  : 
; 569  :         SetLastError(ERROR_INVALID_PARAMETER);

  00738	e59f35d4	 ldr         r3, [pc, #0x5D4]
  0073c	e3a00057	 mov         r0, #0x57
  00740	e1a0e00f	 mov         lr, pc
  00744	e12fff13	 bx          r3

; 570  :         return FALSE;

  00748	eafffe62	 b           |$L16908|
  0074c		 |$L16962|

; 174  :     DWORD len;
; 175  :     PIP_INFO pIPInfo;
; 176  :     EDBG_ADDR *pEdbgAddr;
; 177  : 
; 178  : 
; 179  :     DEBUGMSG(0, (TEXT("+OEMIoControl %X\r\n"), dwIoControlCode));
; 180  : 
; 181  :     switch (dwIoControlCode)  {

  0074c	e59f3628	 ldr         r3, [pc, #0x628]
  00750	e1500003	 cmp         r0, r3
  00754	0a00000b	 beq         |$L16836|
  00758	e59f3618	 ldr         r3, [pc, #0x618]
  0075c	e1500003	 cmp         r0, r3
  00760	0a000004	 beq         |$L16838|
  00764	e59f3608	 ldr         r3, [pc, #0x608]
  00768	e1500003	 cmp         r0, r3
  0076c	1a00012c	 bne         |$L16926|

; 828  : 			}
; 829  : 		}
; 830  : 
; 831  : 		break;
; 832  : 
; 833  : 
; 834  : #ifdef EP93XX_SIMULAT_PS2_KBD
; 835  : 
; 836  : 	case IOCTL_HAL_PS2_SEND:
; 837  : 		return SendDataToPS2( lpInBuf ,nInBufSize );
; 838  : 		break;
; 839  : 	case IOCTL_HAL_PS2_GET:
; 840  : 		return ReadPS2Data(lpOutBuf, nOutBufSize, lpBytesReturned );
; 841  : 		break;
; 842  : #endif
; 843  : 
; 844  : #ifdef EDB9315A_CIR
; 845  : 	case IOCTL_HAL_PIO_CIR:
; 846  : 		return GetKeyName( lpOutBuf, nOutBufSize, lpBytesReturned );
; 847  : 		break;
; 848  : #endif
; 849  : 
; 850  :     }
; 851  : 
; 852  :     return(TRUE);

  00770	e3a00001	 mov         r0, #1
  00774	eafffe58	 b           |$L16625|
  00778		 |$L16838|

; 574  :         return TRUE;
; 575  : 
; 576  :     case IOCTL_VBRIDGE_GET_ETHERNET_MAC:
; 577  :         VBridgeUGetEDBGMac((PBYTE)lpOutBuf);

  00778	e1a00006	 mov         r0, r6
  0077c	eb000000	 bl          VBridgeUGetEDBGMac

; 828  : 			}
; 829  : 		}
; 830  : 
; 831  : 		break;
; 832  : 
; 833  : 
; 834  : #ifdef EP93XX_SIMULAT_PS2_KBD
; 835  : 
; 836  : 	case IOCTL_HAL_PS2_SEND:
; 837  : 		return SendDataToPS2( lpInBuf ,nInBufSize );
; 838  : 		break;
; 839  : 	case IOCTL_HAL_PS2_GET:
; 840  : 		return ReadPS2Data(lpOutBuf, nOutBufSize, lpBytesReturned );
; 841  : 		break;
; 842  : #endif
; 843  : 
; 844  : #ifdef EDB9315A_CIR
; 845  : 	case IOCTL_HAL_PIO_CIR:
; 846  : 		return GetKeyName( lpOutBuf, nOutBufSize, lpBytesReturned );
; 847  : 		break;
; 848  : #endif
; 849  : 
; 850  :     }
; 851  : 
; 852  :     return(TRUE);

  00780	e3a00001	 mov         r0, #1
  00784	eafffe54	 b           |$L16625|
  00788		 |$L16836|

; 571  :         
; 572  :     case IOCTL_VBRIDGE_GET_RX_PACKET_COMPLETE:
; 573  :         VBridgeUGetOneRxPacketComplete((PUCHAR)lpInBuf);

  00788	e1a00005	 mov         r0, r5
  0078c	eb000000	 bl          VBridgeUGetOneRxPacketComplete

; 828  : 			}
; 829  : 		}
; 830  : 
; 831  : 		break;
; 832  : 
; 833  : 
; 834  : #ifdef EP93XX_SIMULAT_PS2_KBD
; 835  : 
; 836  : 	case IOCTL_HAL_PS2_SEND:
; 837  : 		return SendDataToPS2( lpInBuf ,nInBufSize );
; 838  : 		break;
; 839  : 	case IOCTL_HAL_PS2_GET:
; 840  : 		return ReadPS2Data(lpOutBuf, nOutBufSize, lpBytesReturned );
; 841  : 		break;
; 842  : #endif
; 843  : 
; 844  : #ifdef EDB9315A_CIR
; 845  : 	case IOCTL_HAL_PIO_CIR:
; 846  : 		return GetKeyName( lpOutBuf, nOutBufSize, lpBytesReturned );
; 847  : 		break;
; 848  : #endif
; 849  : 
; 850  :     }
; 851  : 
; 852  :     return(TRUE);

  00790	e3a00001	 mov         r0, #1
  00794	eafffe50	 b           |$L16625|
  00798		 |$L16840|

; 578  :         return TRUE;
; 579  : 
; 580  :     case IOCTL_VBRIDGE_CURRENT_PACKET_FILTER:
; 581  :         ////////////////////////////////////////////////////////////////////////
; 582  :         //      First, see if filter setting is implemented, then inform vbridge
; 583  :         //      on the new filtering.
; 584  :         //
; 585  :         if (OEMEthCurrentPacketFilter((PDWORD)lpInBuf)) {

  00798	e1a00005	 mov         r0, r5
  0079c	eb000000	 bl          OEMEthCurrentPacketFilter
  007a0	e3500000	 cmp         r0, #0
  007a4	0afffe4b	 beq         |$L16908|

; 586  :             VBridgeUCurrentPacketFilter((PDWORD)lpInBuf);

  007a8	e1a00005	 mov         r0, r5
  007ac	eb000000	 bl          VBridgeUCurrentPacketFilter

; 828  : 			}
; 829  : 		}
; 830  : 
; 831  : 		break;
; 832  : 
; 833  : 
; 834  : #ifdef EP93XX_SIMULAT_PS2_KBD
; 835  : 
; 836  : 	case IOCTL_HAL_PS2_SEND:
; 837  : 		return SendDataToPS2( lpInBuf ,nInBufSize );
; 838  : 		break;
; 839  : 	case IOCTL_HAL_PS2_GET:
; 840  : 		return ReadPS2Data(lpOutBuf, nOutBufSize, lpBytesReturned );
; 841  : 		break;
; 842  : #endif
; 843  : 
; 844  : #ifdef EDB9315A_CIR
; 845  : 	case IOCTL_HAL_PIO_CIR:
; 846  : 		return GetKeyName( lpOutBuf, nOutBufSize, lpBytesReturned );
; 847  : 		break;
; 848  : #endif
; 849  : 
; 850  :     }
; 851  : 
; 852  :     return(TRUE);

  007b0	e3a00001	 mov         r0, #1
  007b4	eafffe48	 b           |$L16625|
  007b8		 |$L16959|

; 174  :     DWORD len;
; 175  :     PIP_INFO pIPInfo;
; 176  :     EDBG_ADDR *pEdbgAddr;
; 177  : 
; 178  : 
; 179  :     DEBUGMSG(0, (TEXT("+OEMIoControl %X\r\n"), dwIoControlCode));
; 180  : 
; 181  :     switch (dwIoControlCode)  {

  007b8	e59f35b0	 ldr         r3, [pc, #0x5B0]
  007bc	e1500003	 cmp         r0, r3
  007c0	8a000085	 bhi         |$L16963|
  007c4	0a000081	 beq         |$L16754|
  007c8	e59f359c	 ldr         r3, [pc, #0x59C]
  007cc	e1500003	 cmp         r0, r3
  007d0	8a00004d	 bhi         |$L16964|
  007d4	0a00003f	 beq         |$L16729|
  007d8	e59f3588	 ldr         r3, [pc, #0x588]
  007dc	e1500003	 cmp         r0, r3
  007e0	0a000035	 beq         |$L16844|
  007e4	e59f3578	 ldr         r3, [pc, #0x578]
  007e8	e1500003	 cmp         r0, r3
  007ec	0a00001e	 beq         |$L16859|
  007f0	e59f3568	 ldr         r3, [pc, #0x568]
  007f4	e1500003	 cmp         r0, r3
  007f8	0a00000a	 beq         |$L16849|
  007fc	e59f3558	 ldr         r3, [pc, #0x558]
  00800	e1500003	 cmp         r0, r3
  00804	1a000106	 bne         |$L16926|

; 593  :             return TRUE;
; 594  :         return FALSE;
; 595  : 
; 596  :     case IOCTL_VBRIDGE_WILD_CARD:
; 597  :         return VBridgeUWildCard(lpInBuf, nInBufSize, lpOutBuf, nOutBufSize, lpBytesReturned);

  00808	e59d104c	 ldr         r1, [sp, #0x4C]
  0080c	e59d3048	 ldr         r3, [sp, #0x48]
  00810	e1a02006	 mov         r2, r6
  00814	e58d1000	 str         r1, [sp]
  00818	e1a0100e	 mov         r1, lr
  0081c	e1a00005	 mov         r0, r5
  00820	eb000000	 bl          VBridgeUWildCard
  00824	eafffe2c	 b           |$L16625|
  00828		 |$L16849|

; 598  : 
; 599  :     case IOCTL_VBRIDGE_SHARED_ETHERNET:
; 600  :         ////////////////////////////////////////////////////////////////////////
; 601  :         //  Yes, this kernel supports shared ethernet port.
; 602  :         //
; 603  :         return TRUE;
; 604  : #endif  // IMGSHAREETH
; 605  : 
; 606  :     ////////////////////////////////////////////////////////////////////////
; 607  :     ////////////////////////////////////////////////////////////////////////
; 608  :     //      Translate interrupt into SYSINTR
; 609  :     // 
; 610  :     // Translate IRQ -> SYSINTR (or request new SYSINTR)
; 611  :     //
; 612  :     case IOCTL_HAL_TRANSLATE_IRQ:
; 613  :     case IOCTL_HAL_REQUEST_SYSINTR:
; 614  :         if (nInBufSize >= sizeof(DWORD) && nOutBufSize >= sizeof(DWORD) && lpOutBuf && lpInBuf) {

  00828	e35e0004	 cmp         lr, #4
  0082c	3a000009	 bcc         |$L16852|
  00830	e59d3048	 ldr         r3, [sp, #0x48]
  00834	e3530004	 cmp         r3, #4
  00838	3a000006	 bcc         |$L16852|
  0083c	e3560000	 cmp         r6, #0
  00840	0a000004	 beq         |$L16852|
  00844	e3550000	 cmp         r5, #0
  00848	0a000002	 beq         |$L16852|

; 615  :             *(PDWORD)lpOutBuf = OEMRequestSysIntr(*(PDWORD)lpInBuf);

  0084c	e5950000	 ldr         r0, [r5]
  00850	eb000000	 bl          OEMRequestSysIntr

; 616  : 
; 617  :             if (lpBytesReturned) {
; 618  :                 *lpBytesReturned = sizeof(DWORD);
; 619  :             }
; 620  : 
; 621  :             return TRUE;

  00854	ea000045	 b           |$L17004|
  00858		 |$L16852|

; 622  :         }
; 623  : 
; 624  :         SetLastError(ERROR_INVALID_PARAMETER);

  00858	e59f34b4	 ldr         r3, [pc, #0x4B4]
  0085c	e3a00057	 mov         r0, #0x57
  00860	e1a0e00f	 mov         lr, pc
  00864	e12fff13	 bx          r3

; 625  :         return FALSE;

  00868	eafffe1a	 b           |$L16908|
  0086c		 |$L16859|

; 626  : 
; 627  :     // Provide interrupt number based on device location
; 628  :     case IOCTL_HAL_REQUEST_IRQ:
; 629  :         if (nInBufSize >= sizeof(DEVICE_LOCATION) && nOutBufSize >= sizeof(DWORD) && lpOutBuf && lpInBuf) {

  0086c	e35e0014	 cmp         lr, #0x14
  00870	3a00000c	 bcc         |$L16862|
  00874	e59d3048	 ldr         r3, [sp, #0x48]
  00878	e3530004	 cmp         r3, #4
  0087c	3a000009	 bcc         |$L16862|
  00880	e3560000	 cmp         r6, #0
  00884	0a000007	 beq         |$L16862|
  00888	e3550000	 cmp         r5, #0
  0088c	0a000005	 beq         |$L16862|

; 630  :             if(!OEMGetInterrupt((PDEVICE_LOCATION)lpInBuf, (PDWORD)lpOutBuf))

  00890	e1a01006	 mov         r1, r6
  00894	e1a00005	 mov         r0, r5
  00898	eb000000	 bl          OEMGetInterrupt
  0089c	e3500000	 cmp         r0, #0

; 631  :                 return(FALSE);

  008a0	0afffe0c	 beq         |$L16908|

; 632  : 
; 633  :             if (lpBytesReturned) {
; 634  :                 *lpBytesReturned = sizeof(DWORD);
; 635  :             }
; 636  : 
; 637  :             break;

  008a4	ea000032	 b           |$L17006|
  008a8		 |$L16862|

; 638  :         }
; 639  : 
; 640  :         SetLastError(ERROR_INVALID_PARAMETER);

  008a8	e59f3464	 ldr         r3, [pc, #0x464]
  008ac	e3a00057	 mov         r0, #0x57
  008b0	e1a0e00f	 mov         lr, pc
  008b4	e12fff13	 bx          r3

; 641  :         return FALSE;

  008b8	eafffe06	 b           |$L16908|
  008bc		 |$L16844|

; 587  :             return TRUE;
; 588  :         }
; 589  :         return FALSE;
; 590  : 
; 591  :     case IOCTL_VBRIDGE_802_3_MULTICAST_LIST:
; 592  :         if (OEMEthMulticastList((PUCHAR)lpInBuf, nInBufSize))

  008bc	e1a0100e	 mov         r1, lr
  008c0	e1a00005	 mov         r0, r5
  008c4	eb000000	 bl          OEMEthMulticastList
  008c8	e3500000	 cmp         r0, #0
  008cc	0afffe01	 beq         |$L16908|

; 828  : 			}
; 829  : 		}
; 830  : 
; 831  : 		break;
; 832  : 
; 833  : 
; 834  : #ifdef EP93XX_SIMULAT_PS2_KBD
; 835  : 
; 836  : 	case IOCTL_HAL_PS2_SEND:
; 837  : 		return SendDataToPS2( lpInBuf ,nInBufSize );
; 838  : 		break;
; 839  : 	case IOCTL_HAL_PS2_GET:
; 840  : 		return ReadPS2Data(lpOutBuf, nOutBufSize, lpBytesReturned );
; 841  : 		break;
; 842  : #endif
; 843  : 
; 844  : #ifdef EDB9315A_CIR
; 845  : 	case IOCTL_HAL_PIO_CIR:
; 846  : 		return GetKeyName( lpOutBuf, nOutBufSize, lpBytesReturned );
; 847  : 		break;
; 848  : #endif
; 849  : 
; 850  :     }
; 851  : 
; 852  :     return(TRUE);

  008d0	e3a00001	 mov         r0, #1
  008d4	eafffe00	 b           |$L16625|
  008d8		 |$L16729|

; 345  : 
; 346  :     /*case IOCTL_HAL_INIT_RTC:
; 347  :         if (!lpInBuf || !lpBytesReturned || (nInBufSize < sizeof(SYSTEMTIME)))
; 348  :         {
; 349  :       

⌨️ 快捷键说明

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