UINTN WakeupBuffer;\r
UINTN BackupBuffer;\r
UINTN BackupBufferSize;\r
- BOOLEAN SaveRestoreFlag;\r
\r
volatile UINT32 StartCount;\r
volatile UINT32 FinishedCount;\r
IN CPU_MP_DATA *CpuMpData\r
);\r
\r
-/**\r
- Allocate reset vector buffer.\r
-\r
- @param[in, out] CpuMpData The pointer to CPU MP Data structure.\r
-**/\r
-VOID\r
-AllocateResetVector (\r
- IN OUT CPU_MP_DATA *CpuMpData\r
- );\r
\r
/**\r
- Free AP reset vector buffer.\r
+ Get available system memory below 1MB by specified size.\r
\r
- @param[in] CpuMpData The pointer to CPU MP Data structure.\r
+ @param[in] WakeupBufferSize Wakeup buffer size required\r
+\r
+ @retval other Return wakeup buffer address below 1MB.\r
+ @retval -1 Cannot find free memory below 1MB.\r
**/\r
-VOID\r
-FreeResetVector (\r
- IN CPU_MP_DATA *CpuMpData\r
+UINTN\r
+GetWakeupBuffer (\r
+ IN UINTN WakeupBufferSize\r
);\r
\r
/**\r
VOID\r
);\r
\r
-/**\r
- Get available system memory below 1MB by specified size.\r
-\r
- @param[in] CpuMpData The pointer to CPU MP Data structure.\r
-**/\r
-VOID\r
-BackupAndPrepareWakeupBuffer(\r
- IN CPU_MP_DATA *CpuMpData\r
- );\r
-\r
-/**\r
- Restore wakeup buffer data.\r
-\r
- @param[in] CpuMpData The pointer to CPU MP Data structure.\r
-**/\r
-VOID\r
-RestoreWakeupBuffer(\r
- IN CPU_MP_DATA *CpuMpData\r
- );\r
-\r
/**\r
Enable Debug Agent to support source debugging on AP function.\r
\r