The portable SMP code rests on a small set of functions and variables that are provided by the processor specification functionality. These are
which returns the identity of the process the call is executed upon. This call is assumed to be valid at all times. This may mean additional tests are needed during initialisation.
This is the number of processors in the system. \
void smp_message_pass(int target, int msg, unsigned long data, int wait)
This function passes messages between processors. At the moment it is not sufficiently defined to sensibly document and needs cleaning up and further work. Refer to the processor specific code documentation for more details.