mirror of https://github.com/acidanthera/audk.git
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:
parent
0f82bd5514
commit
42eedea958
|
@ -1,5 +1,4 @@
|
|||
/**
|
||||
@file
|
||||
/** @file
|
||||
ACPI 1.0b definitions from the ACPI Specification, revision 1.0b
|
||||
|
||||
Copyright (c) 2006 - 2007, Intel Corporation
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/**
|
||||
@file
|
||||
/** @file
|
||||
ACPI 2.0 definitions from the ACPI Specification, revision 2.0
|
||||
|
||||
Copyright (c) 2006 - 2007, Intel Corporation
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -12,8 +12,8 @@
|
|||
|
||||
**/
|
||||
|
||||
#ifndef _PCI_H
|
||||
#define _PCI_H
|
||||
#ifndef _PCI_H_
|
||||
#define _PCI_H_
|
||||
|
||||
#include <IndustryStandard/Pci30.h>
|
||||
|
||||
|
|
|
@ -12,8 +12,8 @@
|
|||
|
||||
**/
|
||||
|
||||
#ifndef _PCI22_H
|
||||
#define _PCI22_H
|
||||
#ifndef _PCI22_H_
|
||||
#define _PCI22_H_
|
||||
|
||||
#define PCI_MAX_SEGMENT 0
|
||||
|
||||
|
|
|
@ -12,8 +12,8 @@
|
|||
|
||||
**/
|
||||
|
||||
#ifndef _PCI23_H
|
||||
#define _PCI23_H
|
||||
#ifndef _PCI23_H_
|
||||
#define _PCI23_H_
|
||||
|
||||
|
||||
#define PCI_EXP_MAX_CONFIG_OFFSET 0x1000
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
||||
//
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/**
|
||||
@file
|
||||
/** @file
|
||||
ACPI Watchdog Action Table as defined at
|
||||
Microsoft Hardware Watchdog Timer Specification.
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/**
|
||||
@file
|
||||
/** @file
|
||||
ACPI Watchdog Resource Table as defined at
|
||||
Microsoft Hardware Watchdog Timer Specification.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -36,8 +36,7 @@
|
|||
from a firmware file, these should be NULL
|
||||
|
||||
|
||||
**/
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
PiLibInstallFvInfoPpi (
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -113,7 +113,6 @@ ProcessLibraryDestructorList (
|
|||
the user.
|
||||
|
||||
**/
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
ProcessModuleEntryPointList (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/**@file
|
||||
/** @file
|
||||
Common header file shared by all source files.
|
||||
|
||||
This file includes package header files, dependent library classes.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
);
|
||||
|
||||
/**
|
||||
|
|
|
@ -18,7 +18,11 @@
|
|||
|
||||
|
||||
#include "BaseLibInternals.h"
|
||||
|
||||
VOID __chkstk() {
|
||||
/**
|
||||
Hack function for passing GCC build.
|
||||
**/
|
||||
VOID
|
||||
__chkstk()
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -17,6 +17,10 @@
|
|||
//
|
||||
|
||||
|
||||
/**
|
||||
Disables CPU interrupts.
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
DisableInterrupts (
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -17,6 +17,11 @@
|
|||
//
|
||||
|
||||
|
||||
/**
|
||||
Enables CPU interrupts for the smallest window required to capture any
|
||||
pending interrupts.
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
EnableDisableInterrupts (
|
||||
|
|
|
@ -17,6 +17,10 @@
|
|||
//
|
||||
|
||||
|
||||
/**
|
||||
Enables CPU interrupts.
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
EnableInterrupts (
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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
Loading…
Reference in New Issue