Code Scrub for MdePkg.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5567 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
yshang1 2008-07-25 12:21:57 +00:00
parent 0f82bd5514
commit 42eedea958
176 changed files with 1437 additions and 253 deletions

View File

@ -1,5 +1,4 @@
/**
@file
/** @file
ACPI 1.0b definitions from the ACPI Specification, revision 1.0b
Copyright (c) 2006 - 2007, Intel Corporation

View File

@ -1,5 +1,4 @@
/**
@file
/** @file
ACPI 2.0 definitions from the ACPI Specification, revision 2.0
Copyright (c) 2006 - 2007, Intel Corporation

View File

@ -1,5 +1,4 @@
/**
@file
/** @file
ACPI 3.0 definitions from the ACPI Specification Revision 3.0 September 2, 2004
Copyright (c) 2006 - 2008, Intel Corporation

View File

@ -1,5 +1,4 @@
/**
@file
/** @file
ACPI Alert Standard Format Description Table ASF! as described in the ASF2.0 Specification
Copyright (c) 2006 - 2007, Intel Corporation

View File

@ -15,8 +15,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
#ifndef _ATAPI_H
#define _ATAPI_H
#ifndef _ATAPI_H_
#define _ATAPI_H_
#pragma pack(1)

View File

@ -1,4 +1,4 @@
/**@file
/** @file
ACPI high precision event timer table definition, defined at
ftp://download.intel.com/labs/platcomp/hpet/download/hpetspec098a.pdf.
Specification name is IA-PC HPET (High Precision Event Timers) Specification.

View File

@ -22,23 +22,23 @@
#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_REVISION 0x01
#define EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_STRUCTURE_ALIGNMENT 8
enum {
typedef enum {
EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_RESERVED_STRUCTURE_ID = 0,
EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_CONTROL_STRUCTURE_ID,
EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_INITIATOR_STRUCTURE_ID,
EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_NIC_STRUCTURE_ID,
EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_TARGET_STRUCTURE_ID,
EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_EXTERNSIONS_STRUCTURE_ID
};
} EFI_ACPI_ISCSI_ID_DEFINITIONS;
enum {
typedef enum {
IpPrefixOriginOther = 0,
IpPrefixOriginManual,
IpPrefixOriginWellKnown,
IpPrefixOriginDhcp,
IpPrefixOriginRouterAdvertisement,
IpPrefixOriginUnchanged = 16
};
} IP_PREFIX_VALUE;
#pragma pack(1)

View File

@ -1,4 +1,4 @@
/**@file
/** @file
ACPI memory mapped configuration space access table definition, defined at
in the PCI Firmware Specification, version 3.0 draft version 0.5.
Specification is available at http://www.pcisig.com.

View File

@ -12,8 +12,8 @@
**/
#ifndef _PCI_H
#define _PCI_H
#ifndef _PCI_H_
#define _PCI_H_
#include <IndustryStandard/Pci30.h>

View File

@ -12,8 +12,8 @@
**/
#ifndef _PCI22_H
#define _PCI22_H
#ifndef _PCI22_H_
#define _PCI22_H_
#define PCI_MAX_SEGMENT 0

View File

@ -12,8 +12,8 @@
**/
#ifndef _PCI23_H
#define _PCI23_H
#ifndef _PCI23_H_
#define _PCI23_H_
#define PCI_EXP_MAX_CONFIG_OFFSET 0x1000

View File

@ -1,4 +1,4 @@
/**@file
/** @file
This file contains definitions for the SPD fields on an SDRAM.
Copyright (c) 2007, Intel Corporation
@ -11,8 +11,8 @@
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
#ifndef _SDRAM_SPD_H
#define _SDRAM_SPD_H
#ifndef _SDRAM_SPD_H_
#define _SDRAM_SPD_H_
//
// SDRAM SPD field definitions

View File

@ -1,4 +1,4 @@
/**@file
/** @file
ACPI Serial Port Console Redirection Table as defined by Microsoft in
http://www.microsoft.com/whdc/system/platform/server/spcr.mspx

View File

@ -1,5 +1,4 @@
/**
@file
/** @file
TPM Specification data structures (TCG TPM Specification Version 1.2 Revision 94)
See http://trustedcomputinggroup.org for latest specification updates

View File

@ -129,7 +129,7 @@ typedef struct {
#pragma pack()
enum {
typedef enum {
//
// USB request type
//
@ -191,7 +191,7 @@ enum {
//Use 200 ms to increase the error handling response time
//
EFI_USB_INTERRUPT_DELAY = 2000000
};
} USB_TYPES_DEFINITION;
//

View File

@ -1,5 +1,4 @@
/**
@file
/** @file
ACPI Watchdog Action Table as defined at
Microsoft Hardware Watchdog Timer Specification.

View File

@ -1,5 +1,4 @@
/**
@file
/** @file
ACPI Watchdog Resource Table as defined at
Microsoft Hardware Watchdog Timer Specification.

View File

@ -3675,6 +3675,8 @@ CpuPause (
function.
@param NewStack A pointer to the new stack to use for the EntryPoint
function.
@param ... Extended parameters.
**/
VOID
@ -4930,9 +4932,9 @@ AsmSwitchStackAndBackingStore (
@param PalEntryPoint The entry point address of PAL. The address in ar.kr5
would be used if this parameter were NULL on input.
@param Arg1 The first argument of a PAL call.
@param Arg1 The second argument of a PAL call.
@param Arg1 The third argument of a PAL call.
@param Arg1 The fourth argument of a PAL call.
@param Arg2 The second argument of a PAL call.
@param Arg3 The third argument of a PAL call.
@param Arg4 The fourth argument of a PAL call.
@return The values returned in r8, r9, r10 and r11.
@ -7061,7 +7063,7 @@ AsmDisablePaging32 (
If EntryPoint is 0, then ASSERT().
If NewStack is 0, then ASSERT().
@param Cs The 16-bit selector to load in the CS before EntryPoint
@param CodeSelector The 16-bit selector to load in the CS before EntryPoint
is called. The descriptor in the GDT that this selector
references must be setup for long mode.
@param EntryPoint The 64-bit virtual address of the function to call with
@ -7102,7 +7104,7 @@ AsmEnablePaging64 (
If EntryPoint is 0, then ASSERT().
If NewStack is 0, then ASSERT().
@param Cs The 16-bit selector to load in the CS before EntryPoint
@param CodeSelector The 16-bit selector to load in the CS before EntryPoint
is called. The descriptor in the GDT that this selector
references must be setup for 32-bit protected mode.
@param EntryPoint The 64-bit virtual address of the function to call with

View File

@ -139,13 +139,11 @@ PiLibGetSectionFromCurrentFv (
The data and size is returned by Buffer and Size. The caller is responsible to free the Buffer allocated
by this function. This function can only be called at TPL_NOTIFY and below.
If FvHandle is NULL and WithinImage is TRUE, then ASSERT ();
If NameGuid is NULL, then ASSERT();
If Buffer is NULL, then ASSERT();
If Size is NULL, then ASSERT().
@param NameGuid The GUID name of a Firmware File.
@param SectionType The Firmware Section type.
@param Instance Instance number of a section.
@param Buffer On output, Buffer contains the the data read from the section in the Firmware File found.
@param Size On output, the size of Buffer.

View File

@ -79,8 +79,8 @@ GetGraphicsBitMapFromFVEx (
@param[in] BmpImage Pointer to BMP file
@param[in] BmpImageSize Number of bytes in BmpImage
@param[in,out] UgaBlt Buffer containing UGA version of BmpImage.
@param[in,out] UgaBltSize Size of UgaBlt in bytes.
@param[in out] UgaBlt Buffer containing UGA version of BmpImage.
@param[in out] UgaBltSize Size of UgaBlt in bytes.
@param[out] PixelHeight Height of UgaBlt/BmpImage in pixels
@param[out] PixelWidth Width of UgaBlt/BmpImage in pixels

View File

@ -142,7 +142,7 @@ PciSegmentAnd8 (
If any reserved bits in Address are set, then ASSERT().
@param Address Address that encodes the PCI Segment, Bus, Device, Function, and Register.
@param Andata The value to AND with the PCI configuration register.
@param AndData The value to AND with the PCI configuration register.
@param OrData The value to OR with the PCI configuration register.
@return The value written to the PCI configuration register.
@ -416,7 +416,7 @@ PciSegmentAnd16 (
If any reserved bits in Address are set, then ASSERT().
@param Address Address that encodes the PCI Segment, Bus, Device, Function, and Register.
@param Andata The value to AND with the PCI configuration register.
@param AndData The value to AND with the PCI configuration register.
@param OrData The value to OR with the PCI configuration register.
@return The value written to the PCI configuration register.

View File

@ -36,8 +36,7 @@
from a firmware file, these should be NULL
**/
**/
VOID
EFIAPI
PiLibInstallFvInfoPpi (

View File

@ -12,8 +12,8 @@
**/
#ifndef _SCSI_LIB_H
#define _SCSI_LIB_H
#ifndef _SCSI_LIB_H_
#define _SCSI_LIB_H_
#include <Protocol/ScsiIo.h>
@ -29,7 +29,7 @@
// since the value output by this macro is in 100ns unit,
// not 1us unit (1us = 1000ns)
//
#define EfiScsiStallSeconds(a) (a) * EFI_SCSI_STALL_1_SECOND
#define EfiScsiStallSeconds(a) ((a) * EFI_SCSI_STALL_1_SECOND)
/**
@ -77,12 +77,12 @@ ScsiTestUnitReadyCommand (
@param[in] ScsiIo SCSI IO Protocol to use
@param[in] Timeout The length of timeout period.
@param[out] SenseData A pointer to output sense data.
@param[in,out] SenseDataLength The length of output sense data.
@param[in] SenseData A pointer to output sense data.
@param[in out] SenseDataLength The length of output sense data.
@param[out] HostAdapterStatus The status of Host Adapter.
@param[out] TargetStatus The status of the target.
@param[in,out] InquirydataBuffer A pointer to inquiry data buffer.
@param[in,out] InquiryDataLength The length of inquiry data buffer.
@param[in out] InquirydataBuffer A pointer to inquiry data buffer.
@param[in out] InquiryDataLength The length of inquiry data buffer.
@param[in] EnableVitalProductData Boolean to enable Vital Product Data.
@retval EFI_SUCCESS The status of the unit is tested successfully.
@ -123,12 +123,12 @@ ScsiInquiryCommand (
@param[in] ScsiIo A pointer to SCSI IO protocol.
@param[in] Timeout The length of timeout period.
@param[out] SenseData A pointer to output sense data.
@param[in,out] SenseDataLength The length of output sense data.
@param[in] SenseData A pointer to output sense data.
@param[in out] SenseDataLength The length of output sense data.
@param[out] HostAdapterStatus The status of Host Adapter.
@param[out] TargetStatus The status of the target.
@param[in] DataBuffer A pointer to input data buffer.
@param[in,out] DataLength The length of input data buffer.
@param[in out] DataLength The length of input data buffer.
@param[in] DBDField The DBD Field (Optional).
@param[in] PageControl Page Control.
@param[in] PageCode Page code.
@ -180,8 +180,8 @@ ScsiModeSense10Command (
@param[in] ScsiIo SCSI IO Protocol to use
@param[in] Timeout TODO:
@param[out] SenseData TODO:
@param[in,out] SenseDataLength TODO:
@param[in] SenseData TODO:
@param[in out] SenseDataLength TODO:
@param[out] HostAdapterStatus TODO:
@param[out] TargetStatus TODO:
@ -221,12 +221,12 @@ ScsiRequestSenseCommand (
@param[in] ScsiIo A pointer to SCSI IO protocol.
@param[in] Timeout The length of timeout period.
@param[out] SenseData A pointer to output sense data.
@param[in,out] SenseDataLength The length of output sense data.
@param[in] SenseData A pointer to output sense data.
@param[in out] SenseDataLength The length of output sense data.
@param[out] HostAdapterStatus The status of Host Adapter.
@param[out] TargetStatus The status of the target.
@param[out] DataBuffer A pointer to a data buffer.
@param[in,out] DataLength The length of data buffer.
@param[in out] DataLength The length of data buffer.
@param[in] PMI Partial medium indicator.
@retval EFI_SUCCESS The status of the unit is tested successfully.
@ -267,12 +267,12 @@ ScsiReadCapacityCommand (
@param[in] ScsiIo A pointer to SCSI IO protocol.
@param[in] Timeout The length of timeout period.
@param[out] SenseData A pointer to output sense data.
@param[in,out] SenseDataLength The length of output sense data.
@param[in] SenseData A pointer to output sense data.
@param[in out] SenseDataLength The length of output sense data.
@param[out] HostAdapterStatus The status of Host Adapter.
@param[out] TargetStatus The status of the target.
@param[out] DataBuffer Read 10 command data.
@param[in,out] DataLength The length of data buffer.
@param[in out] DataLength The length of data buffer.
@param[in] StartLba The start address of LBA.
@param[in] SectorSize The sector size.
@ -315,12 +315,12 @@ ScsiRead10Command (
@param[in] ScsiIo SCSI IO Protocol to use
@param[in] Timeout The length of timeout period.
@param[out] SenseData A pointer to output sense data.
@param[in,out] SenseDataLength The length of output sense data.
@param[in] SenseData A pointer to output sense data.
@param[in out] SenseDataLength The length of output sense data.
@param[out] HostAdapterStatus The status of Host Adapter.
@param[out] TargetStatus The status of the target.
@param[out] DataBuffer A pointer to a data buffer.
@param[in,out] DataLength The length of data buffer.
@param[in out] DataLength The length of data buffer.
@param[in] StartLba The start address of LBA.
@param[in] SectorSize The sector size.

View File

@ -113,7 +113,6 @@ ProcessLibraryDestructorList (
the user.
**/
EFI_STATUS
EFIAPI
ProcessModuleEntryPointList (

View File

@ -129,6 +129,15 @@ ProcessLibraryDestructorList (
**/
/**
Call the list of driver entry points. Automatics Generated by tool.
@param ImageHandle ImageHandle of the loaded driver.
@param SystemTable Pointer to the EFI System Table.
@return Status returned by entry points of drivers.
**/
EFI_STATUS
EFIAPI
ProcessModuleEntryPointList (

View File

@ -355,7 +355,7 @@ EfiUpdateCapsule (
stored in contiguous virtual memory.
@param CapsuleCount Number of pointers to EFI_CAPSULE_HEADER in
CaspuleHeaderArray.
@param MaxiumCapsuleSize On output the maximum size that UpdateCapsule() can
@param MaximumCapsuleSize On output the maximum size that UpdateCapsule() can
support as an argument to UpdateCapsule() via
CapsuleHeaderArray and ScatterGatherList.
Undefined on input.
@ -411,7 +411,7 @@ EfiQueryCapsuleCapabilities (
EFI_STATUS
EFIAPI
EfiQueryVariableInfo (
IN UINT32 Attrubutes,
IN UINT32 Attributes,
OUT UINT64 *MaximumVariableStorageSize,
OUT UINT64 *RemainingVariableStorageSize,
OUT UINT64 *MaximumVariableSize

View File

@ -1,4 +1,4 @@
/**@file
/** @file
Common header file shared by all source files.
This file includes package header files, dependent library classes.

View File

@ -147,7 +147,7 @@ IoRead64 (
operations are serialized.
@param Port The I/O port to write.
@param Value The value to write to the I/O port.
@param Data The value to write to the I/O port.
@return The value written to the I/O port. It equals to the
input Value instead of the actual value read back from
@ -172,7 +172,7 @@ IoWrite8 (
operations are serialized.
@param Port The I/O port to write.
@param Value The value to write to the I/O port.
@param Data The value to write to the I/O port.
@return The value written to the I/O port. It equals to the
input Value instead of the actual value read back from
@ -197,7 +197,7 @@ IoWrite16 (
operations are serialized.
@param Port The I/O port to write.
@param Value The value to write to the I/O port.
@param Data The value to write to the I/O port.
@return The value written to the I/O port. It equals to the
input Value instead of the actual value read back from

View File

@ -47,7 +47,7 @@ MmioReadBuffer8 (
ReturnBuffer = Buffer;
while (Length--) {
while (Length-- != 0) {
*(Buffer++) = MmioRead8 (StartAddress++);
}
@ -96,7 +96,7 @@ MmioReadBuffer16 (
ReturnBuffer = Buffer;
while (Length) {
while (Length != 0) {
*(Buffer++) = MmioRead16 (StartAddress);
StartAddress += sizeof (UINT16);
Length -= sizeof (UINT16);
@ -147,7 +147,7 @@ MmioReadBuffer32 (
ReturnBuffer = Buffer;
while (Length) {
while (Length != 0) {
*(Buffer++) = MmioRead32 (StartAddress);
StartAddress += sizeof (UINT32);
Length -= sizeof (UINT32);
@ -198,7 +198,7 @@ MmioReadBuffer64 (
ReturnBuffer = Buffer;
while (Length) {
while (Length != 0) {
*(Buffer++) = MmioRead64 (StartAddress);
StartAddress += sizeof (UINT64);
Length -= sizeof (UINT64);
@ -241,7 +241,7 @@ MmioWriteBuffer8 (
ReturnBuffer = (UINT8 *) Buffer;
while (Length--) {
while (Length-- != 0) {
MmioWrite8 (StartAddress++, *(Buffer++));
}
@ -292,7 +292,7 @@ MmioWriteBuffer16 (
ReturnBuffer = (UINT16 *) Buffer;
while (Length) {
while (Length != 0) {
MmioWrite16 (StartAddress, *(Buffer++));
StartAddress += sizeof (UINT16);
@ -346,7 +346,7 @@ MmioWriteBuffer32 (
ReturnBuffer = (UINT32 *) Buffer;
while (Length) {
while (Length != 0) {
MmioWrite32 (StartAddress, *(Buffer++));
StartAddress += sizeof (UINT32);
@ -399,7 +399,7 @@ MmioWriteBuffer64 (
ReturnBuffer = (UINT64 *) Buffer;
while (Length) {
while (Length != 0) {
MmioWrite64 (StartAddress, *(Buffer++));
StartAddress += sizeof (UINT64);

View File

@ -26,8 +26,9 @@
#include "BaseIoLibIntrinsicInternal.h"
//
// Microsoft Visual Studio 7.1 Function Prototypes for I/O Intrinsics
// Microsoft Visual Studio 7.1 Function Prototypes for I/O Intrinsics.
//
int _inp (unsigned short port);
unsigned short _inpw (unsigned short port);
unsigned long _inpd (unsigned short port);

View File

@ -265,7 +265,7 @@ EFIAPI
InternalMathDivRemU64x32 (
IN UINT64 Dividend,
IN UINT32 Divisor,
OUT UINT32 *Remainder
OUT UINT32 *Remainder OPTIONAL
);
/**
@ -290,7 +290,7 @@ EFIAPI
InternalMathDivRemU64x64 (
IN UINT64 Dividend,
IN UINT64 Divisor,
OUT UINT64 *Remainder
OUT UINT64 *Remainder OPTIONAL
);
/**

View File

@ -18,7 +18,11 @@
#include "BaseLibInternals.h"
VOID __chkstk() {
/**
Hack function for passing GCC build.
**/
VOID
__chkstk()
{
}

View File

@ -17,6 +17,19 @@
//
/**
Shifts a 64-bit integer right between 0 and 63 bits. The high bits
are filled with original integer's bit 63. The shifted value is returned.
This function shifts the 64-bit value Operand to the right by Count bits. The
high Count bits are set to bit 63 of Operand. The shifted value is returned.
@param Operand The 64-bit operand to shift right.
@param Count The number of bits to shift right.
@return Operand arithmetically shifted right by Count
**/
UINT64
EFIAPI
InternalMathARShiftU64 (

View File

@ -17,13 +17,20 @@
//
//
// Microsoft Visual Studio 7.1 Function Prototypes for I/O Intrinsics
//
/**
Microsoft Visual Studio 7.1 Function Prototypes for I/O Intrinsics.
**/
void __debugbreak ();
#pragma intrinsic(__debugbreak)
/**
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 (

View File

@ -17,6 +17,31 @@
//
/**
Retrieves CPUID information.
Executes the CPUID instruction with EAX set to the value specified by Index.
This function always returns Index.
If Eax is not NULL, then the value of EAX after CPUID is returned in Eax.
If Ebx is not NULL, then the value of EBX after CPUID is returned in Ebx.
If Ecx is not NULL, then the value of ECX after CPUID is returned in Ecx.
If Edx is not NULL, then the value of EDX after CPUID is returned in Edx.
This function is only available on IA-32 and X64.
@param Index The 32-bit value to load into EAX prior to invoking the CPUID
instruction.
@param Eax Pointer to the 32-bit EAX value returned by the CPUID
instruction. This is an optional parameter that may be NULL.
@param Ebx Pointer to the 32-bit EBX value returned by the CPUID
instruction. This is an optional parameter that may be NULL.
@param Ecx Pointer to the 32-bit ECX value returned by the CPUID
instruction. This is an optional parameter that may be NULL.
@param Edx Pointer to the 32-bit EDX value returned by the CPUID
instruction. This is an optional parameter that may be NULL.
@return Index
**/
UINT32
EFIAPI
AsmCpuid (

View File

@ -17,6 +17,38 @@
//
/**
Retrieves CPUID information using an extended leaf identifier.
Executes the CPUID instruction with EAX set to the value specified by Index
and ECX set to the value specified by SubIndex. This function always returns
Index. This function is only available on IA-32 and x64.
If Eax is not NULL, then the value of EAX after CPUID is returned in Eax.
If Ebx is not NULL, then the value of EBX after CPUID is returned in Ebx.
If Ecx is not NULL, then the value of ECX after CPUID is returned in Ecx.
If Edx is not NULL, then the value of EDX after CPUID is returned in Edx.
@param Index The 32-bit value to load into EAX prior to invoking the
CPUID instruction.
@param SubIndex The 32-bit value to load into ECX prior to invoking the
CPUID instruction.
@param Eax Pointer to the 32-bit EAX value returned by the CPUID
instruction. This is an optional parameter that may be
NULL.
@param Ebx Pointer to the 32-bit EBX value returned by the CPUID
instruction. This is an optional parameter that may be
NULL.
@param Ecx Pointer to the 32-bit ECX value returned by the CPUID
instruction. This is an optional parameter that may be
NULL.
@param Edx Pointer to the 32-bit EDX value returned by the CPUID
instruction. This is an optional parameter that may be
NULL.
@return Index
**/
UINT32
EFIAPI
AsmCpuidEx (

View File

@ -17,6 +17,13 @@
//
/**
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 (

View File

@ -17,6 +17,14 @@
//
/**
Places the CPU in a sleep state until an interrupt is received.
Places the CPU in a sleep state until an interrupt is received. If interrupts
are disabled prior to calling this function, then the CPU will be placed in a
sleep state indefinitely.
**/
VOID
EFIAPI
CpuSleep (

View File

@ -17,6 +17,10 @@
//
/**
Disables CPU interrupts.
**/
VOID
EFIAPI
DisableInterrupts (

View File

@ -19,6 +19,36 @@
#if _MSC_EXTENSIONS
/**
Disables the 32-bit paging mode on the CPU.
Disables the 32-bit paging mode on the CPU and returns to 32-bit protected
mode. This function assumes the current execution mode is 32-paged protected
mode. This function is only available on IA-32. After the 32-bit paging mode
is disabled, control is transferred to the function specified by EntryPoint
using the new stack specified by NewStack and passing in the parameters
specified by Context1 and Context2. Context1 and Context2 are optional and
may be NULL. The function EntryPoint must never return.
There are a number of constraints that must be followed before calling this
function:
1) Interrupts must be disabled.
2) The caller must be in 32-bit paged mode.
3) CR0, CR3, and CR4 must be compatible with 32-bit paged mode.
4) CR3 must point to valid page tables that guarantee that the pages for
this function and the stack are identity mapped.
@param EntryPoint A pointer to function to call with the new stack after
paging is disabled.
@param Context1 A pointer to the context to pass into the EntryPoint
function as the first parameter after paging is disabled.
@param Context2 A pointer to the context to pass into the EntryPoint
function as the second parameter after paging is
disabled.
@param NewStack A pointer to the new stack to use for the EntryPoint
function after paging is disabled.
**/
__declspec (naked)
VOID
EFIAPI

View File

@ -17,6 +17,20 @@
//
/**
Divides a 64-bit unsigned integer by a 32-bit unsigned integer and
generates a 64-bit unsigned result.
This function divides the 64-bit unsigned value Dividend by the 32-bit
unsigned value Divisor and generates a 64-bit unsigned quotient. This
function returns the 64-bit unsigned quotient.
@param Dividend A 64-bit unsigned value.
@param Divisor A 32-bit unsigned value.
@return Dividend / Divisor
**/
UINT64
EFIAPI
InternalMathDivU64x32 (

View File

@ -17,6 +17,23 @@
//
/**
Divides a 64-bit unsigned integer by a 32-bit unsigned integer and
generates a 64-bit unsigned result and an optional 32-bit unsigned remainder.
This function divides the 64-bit unsigned value Dividend by the 32-bit
unsigned value Divisor and generates a 64-bit unsigned quotient. If Remainder
is not NULL, then the 32-bit unsigned remainder is returned in Remainder.
This function returns the 64-bit unsigned quotient.
@param Dividend A 64-bit unsigned value.
@param Divisor A 32-bit unsigned value.
@param Remainder A pointer to a 32-bit unsigned value. This parameter is
optional and may be NULL.
@return Dividend / Divisor
**/
UINT64
EFIAPI
InternalMathDivRemU64x32 (

View File

@ -17,6 +17,11 @@
//
/**
Enables CPU interrupts for the smallest window required to capture any
pending interrupts.
**/
VOID
EFIAPI
EnableDisableInterrupts (

View File

@ -17,6 +17,10 @@
//
/**
Enables CPU interrupts.
**/
VOID
EFIAPI
EnableInterrupts (

View File

@ -19,6 +19,39 @@
#if _MSC_EXTENSIONS
/**
Enables the 32-bit paging mode on the CPU.
Enables the 32-bit paging mode on the CPU. CR0, CR3, CR4, and the page tables
must be properly initialized prior to calling this service. This function
assumes the current execution mode is 32-bit protected mode. This function is
only available on IA-32. After the 32-bit paging mode is enabled, control is
transferred to the function specified by EntryPoint using the new stack
specified by NewStack and passing in the parameters specified by Context1 and
Context2. Context1 and Context2 are optional and may be NULL. The function
EntryPoint must never return.
There are a number of constraints that must be followed before calling this
function:
1) Interrupts must be disabled.
2) The caller must be in 32-bit protected mode with flat descriptors. This
means all descriptors must have a base of 0 and a limit of 4GB.
3) CR0 and CR4 must be compatible with 32-bit protected mode with flat
descriptors.
4) CR3 must point to valid page tables that will be used once the transition
is complete, and those page tables must guarantee that the pages for this
function and the stack are identity mapped.
@param EntryPoint A pointer to function to call with the new stack after
paging is enabled.
@param Context1 A pointer to the context to pass into the EntryPoint
function as the first parameter after paging is enabled.
@param Context2 A pointer to the context to pass into the EntryPoint
function as the second parameter after paging is enabled.
@param NewStack A pointer to the new stack to use for the EntryPoint
function after paging is enabled.
**/
__declspec (naked)
VOID
EFIAPI

View File

@ -17,6 +17,21 @@
//
/**
Flushes a cache line from all the instruction and data caches within the
coherency domain of the CPU.
Flushed the cache line specified by LinearAddress, and returns LinearAddress.
This function is only available on IA-32 and X64.
@param LinearAddress The address of the cache line to flush. If the CPU is
in a physical addressing mode, then LinearAddress is a
physical address. If the CPU is in a virtual
addressing mode, then LinearAddress is a virtual
address.
@return LinearAddress
**/
VOID *
EFIAPI
AsmFlushCacheLine (

View File

@ -18,6 +18,16 @@
#include <BaseLibInternals.h>
/**
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.
@param Buffer Pointer to a buffer to save the floating point/SSE/SSE2 context.
**/
VOID
EFIAPI
InternalX86FxRestore (

View File

@ -18,6 +18,16 @@
#include <BaseLibInternals.h>
/**
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.
@param Buffer Pointer to a buffer to save the floating point/SSE/SSE2 context.
**/
VOID
EFIAPI
InternalX86FxSave (

View File

@ -17,6 +17,23 @@
//
/**
Performs an atomic compare exchange operation on a 32-bit unsigned integer.
Performs an atomic compare exchange operation on the 32-bit unsigned integer
specified by Value. If Value is equal to CompareValue, then Value is set to
ExchangeValue and CompareValue is returned. If Value is not equal to CompareValue,
then Value is returned. The compare exchange operation must be performed using
MP safe mechanisms.
@param Value A pointer to the 32-bit value for the compare exchange
operation.
@param CompareValue 32-bit value used in compare operation.
@param ExchangeValue 32-bit value used in exchange operation.
@return The original *Value before exchange.
**/
UINT32
EFIAPI
InternalSyncCompareExchange32 (

View File

@ -17,6 +17,22 @@
//
/**
Performs an atomic compare exchange operation on a 64-bit unsigned integer.
Performs an atomic compare exchange operation on the 64-bit unsigned integer specified
by Value. If Value is equal to CompareValue, then Value is set to ExchangeValue and
CompareValue is returned. If Value is not equal to CompareValue, then Value is returned.
The compare exchange operation must be performed using MP safe mechanisms.
@param Value A pointer to the 64-bit value for the compare exchange
operation.
@param CompareValue 64-bit value used in compare operation.
@param ExchangeValue 64-bit value used in exchange operation.
@return The original *Value before exchange.
**/
UINT64
EFIAPI
InternalSyncCompareExchange64 (

View File

@ -17,6 +17,19 @@
//
/**
Performs an atomic decrement of an 32-bit unsigned integer.
Performs an atomic decrement of the 32-bit unsigned integer specified by
Value and returns the decrement value. The decrement operation must be
performed using MP safe mechanisms. The state of the return value is not
guaranteed to be MP safe.
@param Value A pointer to the 32-bit value to decrement.
@return The decrement value.
**/
UINT32
EFIAPI
InternalSyncDecrement (

View File

@ -17,6 +17,19 @@
//
/**
Performs an atomic increment of an 32-bit unsigned integer.
Performs an atomic increment of the 32-bit unsigned integer specified by
Value and returns the incremented value. The increment operation must be
performed using MP safe mechanisms. The state of the return value is not
guaranteed to be MP safe.
@param Value A pointer to the 32-bit value to increment.
@return The incremented value.
**/
UINT32
EFIAPI
InternalSyncIncrement (

View File

@ -17,6 +17,13 @@
//
/**
Executes a INVD instruction.
Executes a INVD instruction. This function is only available on IA-32 and
X64.
**/
VOID
EFIAPI
AsmInvd (

View File

@ -17,6 +17,20 @@
//
/**
Rotates a 64-bit integer left between 0 and 63 bits, filling
the low bits with the high bits that were rotated.
This function rotates the 64-bit value Operand to the left by Count bits. The
low Count bits are fill with the high Count bits of Operand. The rotated
value is returned.
@param Operand The 64-bit operand to rotate left.
@param Count The number of bits to rotate left.
@return Operand <<< Count
**/
UINT64
EFIAPI
InternalMathLRotU64 (

View File

@ -17,6 +17,19 @@
//
/**
Shifts a 64-bit integer left between 0 and 63 bits. The low bits
are filled with zeros. The shifted value is returned.
This function shifts the 64-bit value Operand to the left by Count bits. The
low Count bits are set to zero. The shifted value is returned.
@param Operand The 64-bit operand to shift left.
@param Count The number of bits to shift left.
@return Operand << Count
**/
UINT64
EFIAPI
InternalMathLShiftU64 (

View File

@ -18,6 +18,17 @@
#include <BaseLibInternals.h>
/**
Restores the CPU context that was saved with SetJump().
Restores the CPU context from the buffer specified by JumpBuffer.
This function never returns to the caller.
Instead is resumes execution based on the state of JumpBuffer.
@param JumpBuffer A pointer to CPU context buffer.
@param Value The value to return when the SetJump() context is restored.
**/
__declspec (naked)
VOID
EFIAPI

View File

@ -17,6 +17,20 @@
//
/**
Divides a 64-bit unsigned integer by a 32-bit unsigned integer and
generates a 32-bit unsigned remainder.
This function divides the 64-bit unsigned value Dividend by the 32-bit
unsigned value Divisor and generates a 32-bit remainder. This function
returns the 32-bit unsigned remainder.
@param Dividend A 64-bit unsigned value.
@param Divisor A 32-bit unsigned value.
@return Dividend % Divisor
**/
UINT32
EFIAPI
InternalMathModU64x32 (

View File

@ -17,6 +17,22 @@
//
/**
Sets up a monitor buffer that is used by AsmMwait().
Executes a MONITOR instruction with the register state specified by Eax, Ecx
and Edx. Returns Eax. This function is only available on IA-32 and X64.
@param Eax The value to load into EAX or RAX before executing the MONITOR
instruction.
@param Ecx The value to load into ECX or RCX before executing the MONITOR
instruction.
@param Edx The value to load into EDX or RDX before executing the MONITOR
instruction.
@return Eax
**/
UINTN
EFIAPI
AsmMonitor (

View File

@ -17,6 +17,20 @@
//
/**
Multiples a 64-bit unsigned integer by a 32-bit unsigned integer
and generates a 64-bit unsigned result.
This function multiples the 64-bit unsigned value Multiplicand by the 32-bit
unsigned value Multiplier and generates a 64-bit unsigned result. This 64-
bit unsigned result is returned.
@param Multiplicand A 64-bit unsigned value.
@param Multiplier A 32-bit unsigned value.
@return Multiplicand * Multiplier
**/
UINT64
EFIAPI
InternalMathMultU64x32 (

View File

@ -17,6 +17,20 @@
//
/**
Multiples a 64-bit unsigned integer by a 64-bit unsigned integer
and generates a 64-bit unsigned result.
This function multiples the 64-bit unsigned value Multiplicand by the 64-bit
unsigned value Multiplier and generates a 64-bit unsigned result. This 64-
bit unsigned result is returned.
@param Multiplicand A 64-bit unsigned value.
@param Multiplier A 64-bit unsigned value.
@return Multiplicand * Multiplier
**/
UINT64
EFIAPI
InternalMathMultU64x64 (

View File

@ -17,6 +17,20 @@
//
/**
Executes an MWAIT instruction.
Executes an MWAIT instruction with the register state specified by Eax and
Ecx. Returns Eax. This function is only available on IA-32 and X64.
@param Eax The value to load into EAX or RAX before executing the MONITOR
instruction.
@param Ecx The value to load into ECX or RCX before executing the MONITOR
instruction.
@return Eax
**/
UINTN
EFIAPI
AsmMwait (

View File

@ -17,6 +17,20 @@
//
/**
Rotates a 64-bit integer right between 0 and 63 bits, filling
the high bits with the high low bits that were rotated.
This function rotates the 64-bit value Operand to the right by Count bits.
The high Count bits are fill with the low Count bits of Operand. The rotated
value is returned.
@param Operand The 64-bit operand to rotate right.
@param Count The number of bits to rotate right.
@return Operand >>> Count
**/
UINT64
EFIAPI
InternalMathRRotU64 (

View File

@ -17,6 +17,19 @@
//
/**
Shifts a 64-bit integer right between 0 and 63 bits. This high bits
are filled with zeros. The shifted value is returned.
This function shifts the 64-bit value Operand to the right by Count bits. The
high Count bits are set to zero. The shifted value is returned.
@param Operand The 64-bit operand to shift right.
@param Count The number of bits to shift right.
@return Operand >> Count
**/
UINT64
EFIAPI
InternalMathRShiftU64 (

View File

@ -17,6 +17,16 @@
//
/**
Reads the current value of the Control Register 0 (CR0).
Reads and returns the current value of CR4. 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.
@return The value of the Control Register 0 (CR0).
**/
UINTN
EFIAPI
AsmReadCr0 (

View File

@ -17,6 +17,16 @@
//
/**
Reads the current value of the Control Register 2 (CR2).
Reads and returns the current value of CR2. 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.
@return The value of the Control Register 2 (CR2).
**/
UINTN
EFIAPI
AsmReadCr2 (

View File

@ -17,6 +17,16 @@
//
/**
Reads the current value of the Control Register 3 (CR3).
Reads and returns the current value of CR3. 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.
@return The value of the Control Register 3 (CR3).
**/
UINTN
EFIAPI
AsmReadCr3 (

View File

@ -17,6 +17,16 @@
//
/**
Reads the current value of the Control Register 4 (CR4).
Reads and returns the current value of CR4. 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.
@return The value of the Control Register 4 (CR4).
**/
UINTN
EFIAPI
AsmReadCr4 (

View File

@ -17,6 +17,15 @@
//
/**
Reads the current value of Code Segment Register (CS).
Reads and returns the current value of CS. This function is only available on
IA-32 and X64.
@return The current value of CS.
**/
UINT16
EFIAPI
AsmReadCs (

View File

@ -17,6 +17,16 @@
//
/**
Reads the current value of Debug Register 0 (DR0).
Reads and returns the current value of DR0. 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.
@return The value of Debug Register 0 (DR0).
**/
UINTN
EFIAPI
AsmReadDr0 (

View File

@ -17,6 +17,16 @@
//
/**
Reads the current value of Debug Register 1 (DR1).
Reads and returns the current value of DR1. 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.
@return The value of Debug Register 1 (DR1).
**/
UINTN
EFIAPI
AsmReadDr1 (

View File

@ -17,6 +17,16 @@
//
/**
Reads the current value of Debug Register 2 (DR2).
Reads and returns the current value of DR2. 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.
@return The value of Debug Register 2 (DR2).
**/
UINTN
EFIAPI
AsmReadDr2 (

View File

@ -17,6 +17,16 @@
//
/**
Reads the current value of Debug Register 3 (DR3).
Reads and returns the current value of DR3. 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.
@return The value of Debug Register 3 (DR3).
**/
UINTN
EFIAPI
AsmReadDr3 (

View File

@ -17,6 +17,16 @@
//
/**
Reads the current value of Debug Register 4 (DR4).
Reads and returns the current value of DR4. 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.
@return The value of Debug Register 4 (DR4).
**/
UINTN
EFIAPI
AsmReadDr4 (

View File

@ -17,6 +17,16 @@
//
/**
Reads the current value of Debug Register 5 (DR5).
Reads and returns the current value of DR5. 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.
@return The value of Debug Register 5 (DR5).
**/
UINTN
EFIAPI
AsmReadDr5 (

View File

@ -17,6 +17,16 @@
//
/**
Reads the current value of Debug Register 6 (DR6).
Reads and returns the current value of DR6. 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.
@return The value of Debug Register 6 (DR6).
**/
UINTN
EFIAPI
AsmReadDr6 (

View File

@ -17,6 +17,16 @@
//
/**
Reads the current value of Debug Register 7 (DR7).
Reads and returns the current value of DR7. 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.
@return The value of Debug Register 7 (DR7).
**/
UINTN
EFIAPI
AsmReadDr7 (

View File

@ -17,6 +17,15 @@
//
/**
Reads the current value of Data Segment Register (DS).
Reads and returns the current value of DS. This function is only available on
IA-32 and X64.
@return The current value of DS.
**/
UINT16
EFIAPI
AsmReadDs (

View File

@ -17,6 +17,16 @@
//
/**
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.
@return EFLAGS on IA-32 or RFLAGS on X64.
**/
UINTN
EFIAPI
AsmReadEflags (

View File

@ -17,6 +17,15 @@
//
/**
Reads the current value of ES Data Segment Register (ES).
Reads and returns the current value of ES. This function is only available on
IA-32 and X64.
@return The current value of ES.
**/
UINT16
EFIAPI
AsmReadEs (

View File

@ -17,6 +17,15 @@
//
/**
Reads the current value of FS Data Segment Register (FS).
Reads and returns the current value of FS. This function is only available on
IA-32 and X64.
@return The current value of FS.
**/
UINT16
EFIAPI
AsmReadFs (

View File

@ -18,6 +18,15 @@
#include <BaseLibInternals.h>
/**
Reads the current Global Descriptor Table Register(GDTR) descriptor.
Reads and returns the current GDTR descriptor and returns it in Gdtr. This
function is only available on IA-32 and X64.
@param Gdtr Pointer to a GDTR descriptor.
**/
VOID
EFIAPI
InternalX86ReadGdtr (

View File

@ -17,6 +17,15 @@
//
/**
Reads the current value of GS Data Segment Register (GS).
Reads and returns the current value of GS. This function is only available on
IA-32 and X64.
@return The current value of GS.
**/
UINT16
EFIAPI
AsmReadGs (

View File

@ -18,6 +18,15 @@
#include <BaseLibInternals.h>
/**
Reads the current Interrupt Descriptor Table Register(GDTR) descriptor.
Reads and returns the current IDTR descriptor and returns it in Idtr. This
function is only available on IA-32 and X64.
@param Idtr Pointer to a IDTR descriptor.
**/
VOID
EFIAPI
InternalX86ReadIdtr (

View File

@ -17,6 +17,15 @@
//
/**
Reads the current Local Descriptor Table Register(LDTR) selector.
Reads and returns the current 16-bit LDTR descriptor value. This function is
only available on IA-32 and X64.
@return The current selector of LDT.
**/
UINT16
EFIAPI
AsmReadLdtr (

View File

@ -17,6 +17,15 @@
//
/**
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.
@return The current value of MM0.
**/
UINT64
EFIAPI
AsmReadMm0 (

View File

@ -17,6 +17,15 @@
//
/**
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.
@return The current value of MM1.
**/
UINT64
EFIAPI
AsmReadMm1 (

View File

@ -17,6 +17,15 @@
//
/**
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.
@return The current value of MM2.
**/
UINT64
EFIAPI
AsmReadMm2 (

View File

@ -17,6 +17,15 @@
//
/**
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.
@return The current value of MM3.
**/
UINT64
EFIAPI
AsmReadMm3 (

View File

@ -17,6 +17,15 @@
//
/**
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.
@return The current value of MM4.
**/
UINT64
EFIAPI
AsmReadMm4 (

View File

@ -17,6 +17,15 @@
//
/**
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.
@return The current value of MM5.
**/
UINT64
EFIAPI
AsmReadMm5 (

View File

@ -17,6 +17,15 @@
//
/**
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.
@return The current value of MM6.
**/
UINT64
EFIAPI
AsmReadMm6 (

View File

@ -17,6 +17,15 @@
//
/**
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.
@return The current value of MM7.
**/
UINT64
EFIAPI
AsmReadMm7 (

View File

@ -17,6 +17,20 @@
//
/**
Returns a 64-bit Machine Specific Register(MSR).
Reads and returns the 64-bit MSR specified by Index. No parameter checking is
performed on Index, and some Index values may cause CPU exceptions. The
caller must either guarantee that Index is valid, or the caller must set up
exception handlers to catch the exceptions. This function is only available
on IA-32 and X64.
@param Index The 32-bit MSR index to read.
@return The value of the MSR identified by Index.
**/
UINT64
EFIAPI
AsmReadMsr64 (

View File

@ -17,6 +17,17 @@
//
/**
Reads the current value of a Performance Counter (PMC).
Reads and returns the current value of performance counter specified by
Index. This function is only available on IA-32 and X64.
@param Index The 32-bit Performance Counter index to read.
@return The value of the PMC specified by Index.
**/
UINT64
EFIAPI
AsmReadPmc (

View File

@ -17,6 +17,15 @@
//
/**
Reads the current value of Stack Segment Register (SS).
Reads and returns the current value of SS. This function is only available on
IA-32 and X64.
@return The current value of SS.
**/
UINT16
EFIAPI
AsmReadSs (

View File

@ -17,6 +17,15 @@
//
/**
Reads the current value of Task Register (TR).
Reads and returns the current value of TR. This function is only available on
IA-32 and X64.
@return The current value of TR.
**/
UINT16
EFIAPI
AsmReadTr (

View File

@ -17,6 +17,15 @@
//
/**
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.
@return The current value of TSC
**/
UINT64
EFIAPI
AsmReadTsc (

View File

@ -17,13 +17,39 @@
//
#include <BaseLibInternals.h>
/**
Worker function that checks ASSERT condition for JumpBuffer
Checks ASSERT condition for JumpBuffer.
If JumpBuffer is NULL, then ASSERT().
For IPF CPUs, if JumpBuffer is not aligned on a 16-byte boundary, then ASSERT().
@param JumpBuffer A pointer to CPU context buffer.
**/
VOID
EFIAPI
InternalAssertJumpBuffer (
IN BASE_LIBRARY_JUMP_BUFFER *JumpBuffer
);
/**
Saves the current CPU context that can be restored with a call to LongJump()
and returns 0.
Saves the current CPU context in the buffer specified by JumpBuffer and
returns 0. The initial call to SetJump() must always return 0. Subsequent
calls to LongJump() cause a non-zero value to be returned by SetJump().
If JumpBuffer is NULL, then ASSERT().
For IPF CPUs, if JumpBuffer is not aligned on a 16-byte boundary, then ASSERT().
@param JumpBuffer A pointer to CPU context buffer.
@retval 0 Indicates a return from SetJump().
**/
_declspec (naked)
UINTN
EFIAPI

View File

@ -17,6 +17,18 @@
//
/**
Switches the endianess of a 64-bit integer.
This function swaps the bytes in a 64-bit unsigned value to switch the value
from little endian to big endian or vice versa. The byte swapped value is
returned.
@param Operand A 64-bit unsigned value.
@return The byte swaped Operand.
**/
UINT64
EFIAPI
InternalMathSwapBytes64 (

View File

@ -17,6 +17,13 @@
//
/**
Executes a WBINVD instruction.
Executes a WBINVD instruction. This function is only available on IA-32 and
X64.
**/
VOID
EFIAPI
AsmWbinvd (

Some files were not shown because too many files have changed in this diff Show More