AcpiExecSMPFunction

Execute a subprogram on all CPUs simultaneously.

ACPI_STATUS AcpiExecSMPFunction (ACPIRUNATALLCPU SubProgram, UINT32 CPUMask, UINT32 Flags, void *Context)

Parameters

 * SubProgram : Address subprogram, which called in each CPU according with CPUMask, must declare as ACPI_STATUS APIENTRY SubProgram(void *Context)
 * CPUMask : CPUs for execute, low word is bit field, where bit number is number of CPU for execute, 0xffffffff mean "all CPU"
 * Flags: Flag, can be:
 * SMPEXEC_IPITIME : run from IPI (interrupt time), stack is NOT OS/2 stack
 * SMPEXEC_TASKTIME : run from PSD_SET_PROC_STATE, PSD stack, kernel time
 * SMPEXEC_WBINDVD : Flush cache at all CPU, parameter SubProgram ignore with this.
 * SMPEXEC_SYNC : synchronize CPU before run (now tested with SMPEXEC_TASKTIME )


 * Context : Context which passed as parameter to SubProgram
 * Note: In Uni kernel call imeditialy w/o any checking CPU number. Running in kernel time.

Links

 * ACPI Toolkit Web Site