/** @file Base Library CPU Functions for EBC Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include "BaseLibInternals.h" extern UINT64 _break ( CHAR8 BreakCode ); /** Generates a breakpoint on the CPU. Generates a breakpoint on the CPU. The breakpoint must be implemented such that code can resume normal execution after the breakpoint. **/ VOID EFIAPI CpuBreakpoint ( VOID ) { _break (3); } /** Used to serialize load and store operations. All loads and stores that proceed calls to this function are guaranteed to be globally visible when this function returns. **/ VOID EFIAPI MemoryFence ( VOID ) { } /** Disables CPU interrupts. **/ VOID EFIAPI DisableInterrupts ( VOID ) { ASSERT (FALSE); } /** Enables CPU interrupts. **/ VOID EFIAPI EnableInterrupts ( VOID ) { ASSERT (FALSE); } /** Retrieves the current CPU interrupt state. Returns TRUE means interrupts are currently enabled. Otherwise, returns FALSE. @retval TRUE CPU interrupts are enabled. @retval FALSE CPU interrupts are disabled. **/ BOOLEAN EFIAPI GetInterruptState ( VOID ) { ASSERT (FALSE); return FALSE; } /** Enables CPU interrupts for the smallest window required to capture any pending interrupts. **/ VOID EFIAPI EnableDisableInterrupts ( VOID ) { EnableInterrupts (); DisableInterrupts (); } /** Requests CPU to pause for a short period of time. Requests CPU to pause for a short period of time. Typically used in MP systems to prevent memory starvation while waiting for a spin lock. **/ VOID EFIAPI CpuPause ( VOID ) { }