Completion of Kernel Initialization (Windows Embedded CE 6.0)
1/5/2010
After the kernel has completed initializing the CPU and memory, and initialized or relocated the kernel data, the following steps are performed to complete the kernel initialization process:
- The kernel initializes the debug subsystem.
- The kernel initializes the following OAL time functions:
- The kernel creates an idle thread to zero the remaining memory. This thread is an idle thread that will run after the system fully boots and comes to a steady state.
- The kernel creates the alarm thread that is used by the notification system to trigger time-based events.
During execution of the alarm thread the kernel will call the following functions:- OEMGetRealTime
- OEMSetAlarmTime
The alarm thread relies on dwNKAlarmResolutionMSec to set the resolution of the real-time clock alarm. By default, this is set to 10 seconds but can be overridden by the OAL in OEMInit.
- The kernel calls the OEMIoControl function with IOCTL_HAL_POSTINIT.
This is the last chance for an OEM to perform work before the rest of the OS is started.