Updated: October 28, 2024 |
The build process recognizes that the code between CALLOUT_START and CALLOUT_END is a kernel callout that needs to be saved to a safe place in memory.
#include "callout.ah"or:
.include "callout.ah"
The assembly syntax determines whether the callout uses #include or .include.
The included file defines the following macros:
The CALLOUT_START macro marks the start of a kernel callout. Its three parameters are:
If this code is the only version of the kernel callout available, or if the discovery process selects this routine to be used by the kernel, the startup library copies the code between CALLOUT_START and CALLOUT_END to a safe place in memory. In this memory location, the code will be available to the kernel after the memory that was allocated for the startup code has been overwritten.
CALLOUT_START(timer_load_8254, 0, 0) CALLOUT_END(timer_load_8254)and:
CALLOUT_START timer_load_8254, 0, 0 CALLOUT_END timer_load_8254
Keep whatever syntax is used in the file you started from, and replace the sections of code from the original file with code that works with your hardware.