Changeset 58459 in vbox for trunk/src/VBox/Devices/EFI/Firmware/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugMp.h
- Timestamp:
- Oct 28, 2015 8:17:18 PM (9 years ago)
- Location:
- trunk/src/VBox/Devices/EFI/Firmware
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/EFI/Firmware
-
Property svn:mergeinfo
set to (toggle deleted branches)
/vendor/edk2/current 103735-103757
-
Property svn:mergeinfo
set to (toggle deleted branches)
-
trunk/src/VBox/Devices/EFI/Firmware/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugMp.h
r48674 r58459 2 2 Header file for Multi-Processor support. 3 3 4 Copyright (c) 2010 , Intel Corporation. All rights reserved.<BR>4 Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR> 5 5 This program and the accompanying materials 6 6 are licensed and made available under the terms and conditions of the BSD License … … 26 26 SPIN_LOCK MpContextSpinLock; ///< Lock for writting MP context 27 27 SPIN_LOCK DebugPortSpinLock; ///< Lock for access debug port 28 SPIN_LOCK MailboxSpinLock; ///< Lock for accessing mail box 28 29 UINT8 CpuBreakMask[DEBUG_CPU_MAX_COUNT/8]; ///< Bitmask of all breaking CPUs 29 30 UINT8 CpuStopStatusMask[DEBUG_CPU_MAX_COUNT/8]; ///< Bitmask of CPU stop status … … 33 34 UINT32 DebugTimerInitCount; ///< Record BSP's init timer count 34 35 BOOLEAN IpiSentByAp; ///< TRUR: IPI is sent by AP. TALSE: IPI is sent by BSP 35 BOOLEAN RunCommandSet; ///< TRUE: RUN commmand is not executed. FALSE : RUN command isexecuted.36 BOOLEAN RunCommandSet; ///< TRUE: RUN commmand is executing. FALSE : RUN command has been executed. 36 37 } DEBUG_MP_CONTEXT; 37 38 38 extern CONST BOOLEAN MultiProcessorDebugSupport;39 39 extern DEBUG_MP_CONTEXT volatile mDebugMpContext; 40 40 extern DEBUG_CPU_DATA volatile mDebugCpuData; … … 63 63 64 64 /** 65 Acquire a ccess control on MP context.65 Acquire a spin lock when Multi-processor supported. 66 66 67 67 It will block in the function if cannot get the access control. 68 69 **/ 70 VOID 71 AcquireMpContextControl ( 72 VOID 73 ); 74 75 /** 76 Release access control on MP context. 77 78 **/ 79 VOID 80 ReleaseMpContextControl ( 81 VOID 82 ); 83 84 /** 85 Acquire access control on debug port. 86 87 It will block in the function if cannot get the access control. 88 89 **/ 90 VOID 91 AcquireDebugPortControl ( 92 VOID 93 ); 94 95 /** 96 Release access control on debug port. 97 98 **/ 99 VOID 100 ReleaseDebugPortControl ( 101 VOID 68 If Multi-processor is not supported, return directly. 69 70 @param[in, out] MpSpinLock A pointer to the spin lock. 71 72 **/ 73 VOID 74 AcquireMpSpinLock ( 75 IN OUT SPIN_LOCK *MpSpinLock 76 ); 77 78 /** 79 Release a spin lock when Multi-processor supported. 80 81 @param[in, out] MpSpinLock A pointer to the spin lock. 82 83 **/ 84 VOID 85 ReleaseMpSpinLock ( 86 IN OUT SPIN_LOCK *MpSpinLock 102 87 ); 103 88 … … 182 167 183 168 /** 184 Initialize debug timer.169 Set the IPI send by BPS/AP flag. 185 170 186 171 @param[in] IpiSentByApFlag TRUE means this IPI is sent by AP. … … 194 179 195 180 /** 196 Check if any processor breaks.181 Check the next pending breaking CPU. 197 182 198 183 @retval others There is at least one processor broken, the minimum … … 202 187 **/ 203 188 UINT32 204 Find CpuNotRunning(189 FindNextPendingBreakCpu ( 205 190 VOID 206 191 ); … … 218 203 ); 219 204 205 /** 206 Check if the current processor is the first breaking processor. 207 208 If yes, halt other processors. 209 210 @param[in] ProcessorIndex Processor index value. 211 212 @return TRUE This processor is the first breaking processor. 213 @return FALSE This processor is not the first breaking processor. 214 215 **/ 216 BOOLEAN 217 IsFirstBreakProcessor ( 218 IN UINT32 ProcessorIndex 219 ); 220 220 221 #endif 221 222
Note:
See TracChangeset
for help on using the changeset viewer.