A method and apparatus for efficient memory allocation and system
management interrupt (SMI) handling is herein described. Upon waking a
second processor in a multiple processor system, one may use a single SMI
to initialize each processor, may use the location of a single default
SMI handler as a wake-up vector to the second processor, and may patch an
instruction pointer to a non-aligned address during the handling of the
SMI with the second processor to forgo the traditional extra aligned
memory allocation. In addition, one may use unified handler code to
handle software generated SMIs on both the first and second processors
and may use exit SMM directly after handling a hardware SMI to save
execution time.