MIPS Kernel Initialization

All MIPS BSPs are required to initialize OEMTLBSize to the number of translation look-aside buffer (TLB) entries supported by the CPU before calling KernelStart.

The kernel calls OEMCacheRangeFlush to flush the instruction cache and get to a known state. The OEM must implement OEMCacheRangeFlush in the OAL. The kernel also calls OEMCacheRangeFlush to flush the data cache and get to a known state. For more information about implementing OEMCacheRangeFlush, see OEMCacheRangeFlush Function Implementation.

The following sequence describes how the MIPS kernel is initialized by the operating system (OS):

  • Implement OEMCacheRangeFlush in the OAL.
  • Initialize global data for the kernel.
  • Perform serial debug operations.
  • Call OEMInit.
  • Perform memory initializations.
  • Perform other initializations.

At this point, the scheduler is able to run and schedule threads.

See Also

Kernel Initialization | OAL StartUp Function Implementation

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.