You copied the Doc URL to your clipboard.
Shared Functions.Exclusive Pseudocode
Library pseudocode for shared/functions/exclusive/ClearExclusiveByAddress
// Clear the global Exclusives monitors for all PEs EXCEPT processorid if they // record any part of the physical address region of size bytes starting at paddress. // It is IMPLEMENTATION DEFINED whether the global Exclusives monitor for processorid // is also cleared if it records any part of the address region. ClearExclusiveByAddress(FullAddress paddress, integer processorid, integer size);
Library pseudocode for shared/functions/exclusive/ClearExclusiveLocal
// Clear the local Exclusives monitor for the specified processorid. ClearExclusiveLocal(integer processorid);
Library pseudocode for shared/functions/exclusive/ClearExclusiveMonitors
// ClearExclusiveMonitors() // ======================== // Clear the local Exclusives monitor for the executing PE. ClearExclusiveMonitors() ClearExclusiveLocal(ProcessorID());
Library pseudocode for shared/functions/exclusive/ExclusiveMonitorsStatus
// Returns '0' to indicate success if the last memory write by this PE was to // the same physical address region endorsed by ExclusiveMonitorsPass(). // Returns '1' to indicate failure if address translation resulted in a different // physical address. bit ExclusiveMonitorsStatus();
Library pseudocode for shared/functions/exclusive/IsExclusiveGlobal
// Return TRUE if the global Exclusives monitor for processorid includes all of // the physical address region of size bytes starting at paddress. boolean IsExclusiveGlobal(FullAddress paddress, integer processorid, integer size);
Library pseudocode for shared/functions/exclusive/IsExclusiveLocal
// Return TRUE if the local Exclusives monitor for processorid includes all of // the physical address region of size bytes starting at paddress. boolean IsExclusiveLocal(FullAddress paddress, integer processorid, integer size);
Library pseudocode for shared/functions/exclusive/MarkExclusiveGlobal
// Record the physical address region of size bytes starting at paddress in // the global Exclusives monitor for processorid. MarkExclusiveGlobal(FullAddress paddress, integer processorid, integer size);
Library pseudocode for shared/functions/exclusive/MarkExclusiveLocal
// Record the physical address region of size bytes starting at paddress in // the local Exclusives monitor for processorid. MarkExclusiveLocal(FullAddress paddress, integer processorid, integer size);