The role of the IPL

The first step performed by the software is to load the OS image. This is done by a program called the Initial Program Loader (IPL).

The IPL's initial task is to minimally configure the hardware to create an environment that will allow the startup program, and consequently the Neutrino microkernel, to run. Specifically, this task includes at least the following steps:

  1. Start execution from the reset vector.
  2. Configure the memory controller, which may include configuring chip selects and/or PCI controller.
  3. Configure clocks.
  4. Set up a stack to allow the IPL lib to perform OS verification and setup (image download, scan, setup, and jump).

The IPL is described in detail in the chapter on Writing an IPL Program.

Figure 1. An OS image loaded by the IPL.