TianoCore EDK2 master
|
#include "BaseLibInternals.h"
Go to the source code of this file.
Functions | |
VOID EFIAPI | MemoryFence (VOID) |
VOID EFIAPI | CpuPause (VOID) |
VOID EFIAPI | CpuBreakpoint (VOID) |
UINTN EFIAPI | AsmReadEflags (VOID) |
VOID EFIAPI | InternalX86FxSave (OUT IA32_FX_BUFFER *Buffer) |
VOID EFIAPI | InternalX86FxRestore (IN CONST IA32_FX_BUFFER *Buffer) |
UINT64 EFIAPI | AsmReadMm0 (VOID) |
UINT64 EFIAPI | AsmReadMm1 (VOID) |
UINT64 EFIAPI | AsmReadMm2 (VOID) |
UINT64 EFIAPI | AsmReadMm3 (VOID) |
UINT64 EFIAPI | AsmReadMm4 (VOID) |
UINT64 EFIAPI | AsmReadMm5 (VOID) |
UINT64 EFIAPI | AsmReadMm6 (VOID) |
UINT64 EFIAPI | AsmReadMm7 (VOID) |
VOID EFIAPI | AsmWriteMm0 (IN UINT64 Value) |
VOID EFIAPI | AsmWriteMm1 (IN UINT64 Value) |
VOID EFIAPI | AsmWriteMm2 (IN UINT64 Value) |
VOID EFIAPI | AsmWriteMm3 (IN UINT64 Value) |
VOID EFIAPI | AsmWriteMm4 (IN UINT64 Value) |
VOID EFIAPI | AsmWriteMm5 (IN UINT64 Value) |
VOID EFIAPI | AsmWriteMm6 (IN UINT64 Value) |
VOID EFIAPI | AsmWriteMm7 (IN UINT64 Value) |
UINT64 EFIAPI | AsmReadTsc (VOID) |
GCC inline implementation of BaseLib processor specific functions.
Copyright (c) 2006 - 2020, Intel Corporation. All rights reserved.
Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file GccInline.c.
UINTN EFIAPI AsmReadEflags | ( | VOID | ) |
Reads the current value of the EFLAGS register.
Reads and returns the current value of the EFLAGS register. This function is only available on IA-32 and X64. This returns a 32-bit value on IA-32 and a 64-bit value on X64.
Definition at line 75 of file GccInline.c.
UINT64 EFIAPI AsmReadMm0 | ( | VOID | ) |
Reads the current value of 64-bit MMX Register #0 (MM0).
Reads and returns the current value of MM0. This function is only available on IA-32 and X64.
Definition at line 147 of file GccInline.c.
UINT64 EFIAPI AsmReadMm1 | ( | VOID | ) |
Reads the current value of 64-bit MMX Register #1 (MM1).
Reads and returns the current value of MM1. This function is only available on IA-32 and X64.
Definition at line 176 of file GccInline.c.
UINT64 EFIAPI AsmReadMm2 | ( | VOID | ) |
Reads the current value of 64-bit MMX Register #2 (MM2).
Reads and returns the current value of MM2. This function is only available on IA-32 and X64.
Definition at line 205 of file GccInline.c.
UINT64 EFIAPI AsmReadMm3 | ( | VOID | ) |
Reads the current value of 64-bit MMX Register #3 (MM3).
Reads and returns the current value of MM3. This function is only available on IA-32 and X64.
Definition at line 234 of file GccInline.c.
UINT64 EFIAPI AsmReadMm4 | ( | VOID | ) |
Reads the current value of 64-bit MMX Register #4 (MM4).
Reads and returns the current value of MM4. This function is only available on IA-32 and X64.
Definition at line 263 of file GccInline.c.
UINT64 EFIAPI AsmReadMm5 | ( | VOID | ) |
Reads the current value of 64-bit MMX Register #5 (MM5).
Reads and returns the current value of MM5. This function is only available on IA-32 and X64.
Definition at line 292 of file GccInline.c.
UINT64 EFIAPI AsmReadMm6 | ( | VOID | ) |
Reads the current value of 64-bit MMX Register #6 (MM6).
Reads and returns the current value of MM6. This function is only available on IA-32 and X64.
Definition at line 321 of file GccInline.c.
UINT64 EFIAPI AsmReadMm7 | ( | VOID | ) |
Reads the current value of 64-bit MMX Register #7 (MM7).
Reads and returns the current value of MM7. This function is only available on IA-32 and X64.
Definition at line 350 of file GccInline.c.
UINT64 EFIAPI AsmReadTsc | ( | VOID | ) |
Reads the current value of Time Stamp Counter (TSC).
Reads and returns the current value of TSC. This function is only available on IA-32 and X64.
Definition at line 555 of file GccInline.c.
VOID EFIAPI AsmWriteMm0 | ( | IN UINT64 | Value | ) |
Writes the current value of 64-bit MMX Register #0 (MM0).
Writes the current value of MM0. This function is only available on IA32 and X64.
Value | The 64-bit value to write to MM0. |
Definition at line 379 of file GccInline.c.
VOID EFIAPI AsmWriteMm1 | ( | IN UINT64 | Value | ) |
Writes the current value of 64-bit MMX Register #1 (MM1).
Writes the current value of MM1. This function is only available on IA32 and X64.
Value | The 64-bit value to write to MM1. |
Definition at line 401 of file GccInline.c.
VOID EFIAPI AsmWriteMm2 | ( | IN UINT64 | Value | ) |
Writes the current value of 64-bit MMX Register #2 (MM2).
Writes the current value of MM2. This function is only available on IA32 and X64.
Value | The 64-bit value to write to MM2. |
Definition at line 423 of file GccInline.c.
VOID EFIAPI AsmWriteMm3 | ( | IN UINT64 | Value | ) |
Writes the current value of 64-bit MMX Register #3 (MM3).
Writes the current value of MM3. This function is only available on IA32 and X64.
Value | The 64-bit value to write to MM3. |
Definition at line 445 of file GccInline.c.
VOID EFIAPI AsmWriteMm4 | ( | IN UINT64 | Value | ) |
Writes the current value of 64-bit MMX Register #4 (MM4).
Writes the current value of MM4. This function is only available on IA32 and X64.
Value | The 64-bit value to write to MM4. |
Definition at line 467 of file GccInline.c.
VOID EFIAPI AsmWriteMm5 | ( | IN UINT64 | Value | ) |
Writes the current value of 64-bit MMX Register #5 (MM5).
Writes the current value of MM5. This function is only available on IA32 and X64.
Value | The 64-bit value to write to MM5. |
Definition at line 489 of file GccInline.c.
VOID EFIAPI AsmWriteMm6 | ( | IN UINT64 | Value | ) |
Writes the current value of 64-bit MMX Register #6 (MM6).
Writes the current value of MM6. This function is only available on IA32 and X64.
Value | The 64-bit value to write to MM6. |
Definition at line 511 of file GccInline.c.
VOID EFIAPI AsmWriteMm7 | ( | IN UINT64 | Value | ) |
Writes the current value of 64-bit MMX Register #7 (MM7).
Writes the current value of MM7. This function is only available on IA32 and X64.
Value | The 64-bit value to write to MM7. |
Definition at line 533 of file GccInline.c.
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 56 of file GccInline.c.
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 40 of file GccInline.c.
Restores the current floating point/SSE/SSE2 context from a buffer.
Restores the current floating point/SSE/SSE2 state from the buffer specified by Buffer. Buffer must be aligned on a 16-byte boundary. This function is only available on IA-32 and X64.
Buffer | The pointer to a buffer to save the floating point/SSE/SSE2 context. |
Definition at line 125 of file GccInline.c.
VOID EFIAPI InternalX86FxSave | ( | OUT IA32_FX_BUFFER * | Buffer | ) |
Save the current floating point/SSE/SSE2 context to a buffer.
Saves the current floating point/SSE/SSE2 state to the buffer specified by Buffer. Buffer must be aligned on a 16-byte boundary. This function is only available on IA-32 and X64.
Buffer | The pointer to a buffer to save the floating point/SSE/SSE2 context. |
Definition at line 102 of file GccInline.c.
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 21 of file GccInline.c.