The following table shows the required OAL functions. These functions are present in the OAL and are required by the kernel library Nk.lib.
Note This is not an all-inclusive OAL function list. OEMs can implement additional functions to enhance platform support.
| Programming element | Description |
|---|---|
| CacheErrorHandler | This function handles cache errors that occur on a MIPS platform. |
| FlushDCache | This function is deprecated and should never be used. Instead, use the OEMCacheRangeFlush function. |
| FlushICache | This function is deprecated and should never be used. Instead, use the OEMCacheRangeFlush function. |
| InitClock | Required. This function initializes the CPU clock and set the system tick interval frequency. |
| OEMARMCacheMode | This function sets the cache mode used to build the ARM CPU page tables. |
| OEMCacheRangeFlush | This functionflushes or invalidates a certain range of the cache or translation look-aside buffer (TLB). It is used by the kernel. |
| OEMClearDebugCommError | This function clears and initializes the serial communications port. |
| OEMDataAbortHandler | This function handles base-register updates and is specific to ARM processors, excluding StrongARM and XScale. It is called from the kernel when a data abort occurs. |
| OEMFlushCache | This function responds to a CacheSync function request. It is used by the kernel. |
| OEMGetExtensionDRAM | This function gets information about extension dynamic RAM (DRAM), if present on the device. |
| OEMGetRealTime | This function retrieves the time from the real-time clock. It is called by the kernel. |
| OEMIdle | This function places the CPU in the idle state when there are no threads ready to run. It is called by the kernel. |
| OEMInit | This function initializes all hardware interfaces for the target device. It is implemented by the OEM. |
| OEMInterruptDisable | This function disables the specified hardware interrupt. |
| OEMInterruptDone | This function signals completion of interrupt processing. |
| OEMInterruptEnable | This function performs any hardware operations necessary to enable the specified hardware interrupt. |
| OEMInterruptHandler | This function handles interrupts. It is called by the kernel when an interrupt occurs. |
| OEMInterruptHandlerFIQ | This function provides fast interrupt request (FIQ) support for the ARM microprocessor. It is implemented by the OEM. |
| OEMIoControl | This function provides a generic I/O control code (IOCTL) for OEM-supplied information. |
| OEMNMI | This function supports a nonmaskable interrupt. It is implemented by the OEM. |
| OEMNMIHandler | This function captures a nonmaskable interrupt (NMI). It is implemented by an OEM. |
| OEMPowerOff | This function places the CPU into a suspend state and is responsible for any final power-down state operations. It is invoked when the user presses the OFF button or when the Graphics, Windowing, and Events Subsystem (GWES) power-off timer signals that the CPU has timed out. |
| OEMSetAlarmTime | This function sets the real-time clock alarm. It is called by the kernel. |
| OEMSetRealTime | This function sets the real-time clock. It is called by the kernel. |
| pReadRegistryFromOEM | This function reads a registry file into RAM from persistent storage as defined by the OEM.
Changing this global variable to point to an implementation of the ReadRegistryFromOEM function is optional. |
| SC_GetTickCount | This function retrieves the number of milliseconds that have elapsed since Windows CE was started. It is called from the OAL. |
| TLBClear | This function is deprecated and should never be used. Instead, use the OEMCacheRangeFlush function. |
For information about the CPU dependencies for the required OAL functions, see CPU Dependencies for OAL Functions.
See Also
Send Feedback on this topic to the authors