TianoCore EDK2 master
Loading...
Searching...
No Matches
CpuBreakpoint.c File Reference
#include "BaseLibInternals.h"

Go to the source code of this file.

Functions

UINT64 _break (CHAR8 BreakCode)
 
VOID EFIAPI CpuBreakpoint (VOID)
 
VOID EFIAPI MemoryFence (VOID)
 
VOID EFIAPI DisableInterrupts (VOID)
 
VOID EFIAPI EnableInterrupts (VOID)
 
BOOLEAN EFIAPI GetInterruptState (VOID)
 
VOID EFIAPI EnableDisableInterrupts (VOID)
 
VOID EFIAPI CpuPause (VOID)
 

Detailed Description

Base Library CPU Functions for EBC

Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file CpuBreakpoint.c.

Function Documentation

◆ CpuBreakpoint()

VOID EFIAPI CpuBreakpoint ( VOID  )

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.

Definition at line 26 of file CpuBreakpoint.c.

◆ CpuPause()

VOID EFIAPI CpuPause ( VOID  )

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.

Definition at line 118 of file CpuBreakpoint.c.

◆ DisableInterrupts()

VOID EFIAPI DisableInterrupts ( VOID  )

Disables CPU interrupts.

Definition at line 54 of file CpuBreakpoint.c.

◆ EnableDisableInterrupts()

VOID EFIAPI EnableDisableInterrupts ( VOID  )

Enables CPU interrupts for the smallest window required to capture any pending interrupts.

Definition at line 101 of file CpuBreakpoint.c.

◆ EnableInterrupts()

VOID EFIAPI EnableInterrupts ( VOID  )

Enables CPU interrupts.

Definition at line 67 of file CpuBreakpoint.c.

◆ GetInterruptState()

BOOLEAN EFIAPI GetInterruptState ( VOID  )

Retrieves the current CPU interrupt state.

Returns TRUE means interrupts are currently enabled. Otherwise, returns FALSE.

Return values
TRUECPU interrupts are enabled.
FALSECPU interrupts are disabled.

Definition at line 86 of file CpuBreakpoint.c.

◆ MemoryFence()

VOID EFIAPI MemoryFence ( VOID  )

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.

Definition at line 42 of file CpuBreakpoint.c.