The callout area is where various callouts get bound into. These callouts allow you to "hook into" the kernel and gain control when a given event occurs. The callouts operate in an environment similar to that of an interrupt service routine — you have a very limited stack, and you can't invoke any kernel calls (such as mutex operations, etc.). On standard hardware platforms (x86-PC compatibles), you won't have to supply any functionality — it's already provided by the startup code we supply.

Member Description
reboot Used by the kernel to reset the system.
power Provided for power management.
  • timer_load
  • timer_reload
  • timer_value
The kernel uses these timer_* callouts to deal with the hardware timer chip.
debug Used by the kernel when it wishes to interact with a serial port, console, or other device (e.g. when it needs to print out some internal debugging information or when there's a fault).

For details about the characteristics of the callouts, please see the sections "Callout information" and "Writing your own kernel callout" later in this chapter.