mirror of https://github.com/acidanthera/audk.git
Clean IpfMacro.i to remove unused Macro.
Sync ReportDebugCodeLib function description to new MdeLib spec. Update PlatformDriverOverride protocol function description according to UEFI spec. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7478 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
9cff2f8d36
commit
1f25dacf8b
|
@ -1,5 +1,7 @@
|
|||
//++
|
||||
// Copyright (c) 2006, Intel Corporation
|
||||
// @file
|
||||
// Contains the macros required by calling procedures in Itanium-based assembly code.
|
||||
//
|
||||
// Copyright (c) 2006 - 2009, Intel Corporation
|
||||
// All rights reserved. This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions of the BSD License
|
||||
// which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -8,68 +10,49 @@
|
|||
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
//
|
||||
// Module Name:
|
||||
// IpfMacro.i
|
||||
//
|
||||
// Abstract:
|
||||
// Contains the macros needed for calling procedures in Itanium-based assembly code.
|
||||
//
|
||||
//
|
||||
// Revision History:
|
||||
//
|
||||
//--
|
||||
|
||||
#ifndef __IA64PROC_I__
|
||||
#define __IA64PROC_I__
|
||||
|
||||
|
||||
//
|
||||
// Delcare the begin of assembly function entry.
|
||||
//
|
||||
// @param name Name of function in assembly code.
|
||||
//
|
||||
#define PROCEDURE_ENTRY(name) .##text; \
|
||||
.##type name, @function; \
|
||||
.##proc name; \
|
||||
name::
|
||||
|
||||
//
|
||||
// End of assembly function.
|
||||
//
|
||||
// @param name Name of function in assembly code.
|
||||
//
|
||||
#define PROCEDURE_EXIT(name) .##endp name
|
||||
|
||||
// Note: use of NESTED_SETUP requires number of locals (l) >= 3
|
||||
|
||||
//
|
||||
// NESTED_SETUP Requires number of locals (l) >= 3
|
||||
//
|
||||
#define NESTED_SETUP(i,l,o,r) \
|
||||
alloc loc1=ar##.##pfs,i,l,o,r ;\
|
||||
mov loc0=b0
|
||||
|
||||
//
|
||||
// End of Nested
|
||||
//
|
||||
#define NESTED_RETURN \
|
||||
mov b0=loc0 ;\
|
||||
mov ar##.##pfs=loc1 ;;\
|
||||
br##.##ret##.##dpnt b0;;
|
||||
|
||||
//
|
||||
// Export assembly function as the global function.
|
||||
//
|
||||
// @param Function Name of function in assembly code.
|
||||
//
|
||||
#define GLOBAL_FUNCTION(Function) \
|
||||
.##type Function, @function; \
|
||||
.##globl Function
|
||||
|
||||
#define GLOBAL_OBJECT(Object) \
|
||||
.##type Object, @object; \
|
||||
.##globl Object
|
||||
|
||||
#define GLOBAL_CONSTANT(Constant) \
|
||||
.##type Constant, @notype; \
|
||||
.##globl Constant
|
||||
|
||||
#define INTERRUPT_HANDLER_BEGIN(name) \
|
||||
PROCEDURE_ENTRY(name##HandlerBegin) \
|
||||
;; \
|
||||
PROCEDURE_EXIT(name##HandlerBegin)
|
||||
|
||||
#define INTERRUPT_HANDLER_END(name) \
|
||||
PROCEDURE_ENTRY(name##HandlerEnd) \
|
||||
;; \
|
||||
PROCEDURE_EXIT(name##HandlerEnd)
|
||||
|
||||
|
||||
#define INTERRUPT_HANDLER_BLOCK_BEGIN \
|
||||
INTERRUPT_HANDLER_BEGIN(First)
|
||||
|
||||
#define INTERRUPT_HANDLER_BLOCK_END \
|
||||
INTERRUPT_HANDLER_END(Last)
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
@ -178,9 +178,8 @@ ReportStatusCode (
|
|||
Allocates and fills in the extended data section of a status code with the
|
||||
Device Path Protocol specified by DevicePath. This function is responsible
|
||||
for allocating a buffer large enough for the standard header and the device
|
||||
path. The standard header is filled in with a GUID of
|
||||
gEfiStatusCodeSpecificDataGuid. The status code is reported with a zero
|
||||
instance and a caller ID of gEfiCallerIdGuid.
|
||||
path. The standard header is filled in with an implementation dependent GUID.
|
||||
The status code is reported with a zero instance and a caller ID of gEfiCallerIdGuid.
|
||||
|
||||
ReportStatusCodeWithDevicePath()must actively prevent recursion. If
|
||||
ReportStatusCodeWithDevicePath() is called while processing another any other
|
||||
|
@ -220,7 +219,7 @@ ReportStatusCodeWithDevicePath (
|
|||
These data structure do not have the standard header, so this function is
|
||||
responsible for allocating a buffer large enough for the standard header and
|
||||
the extended data passed into this function. The standard header is filled
|
||||
in with a GUID of gEfiStatusCodeSpecificDataGuid. The status code is reported
|
||||
in with an implementation dependent GUID. The status code is reported
|
||||
with a zero instance and a caller ID of gEfiCallerIdGuid.
|
||||
|
||||
ReportStatusCodeWithExtendedData()must actively prevent recursion. If
|
||||
|
@ -285,8 +284,7 @@ ReportStatusCodeWithExtendedData (
|
|||
ID of gEfiCallerIdGuid is used.
|
||||
@param ExtendedDataGuid Pointer to the GUID for the extended data buffer.
|
||||
If this parameter is NULL, then a the status code
|
||||
standard header is filled in with
|
||||
gEfiStatusCodeSpecificDataGuid.
|
||||
standard header is filled in with an implementation dependent GUID.
|
||||
@param ExtendedData Pointer to the extended data buffer. This is an
|
||||
optional parameter that may be NULL.
|
||||
@param ExtendedDataSize The size, in bytes, of the extended data buffer.
|
||||
|
@ -368,7 +366,21 @@ ReportDebugCodeEnabled (
|
|||
VOID
|
||||
);
|
||||
|
||||
#ifndef NDEBUG
|
||||
#if 0
|
||||
//#if __INTEL_COMPILER
|
||||
#define REPORT_STATUS_CODE(Type,Value) ReportStatusCode(Type,Value)
|
||||
|
||||
#define REPORT_STATUS_CODE_WITH_DEVICE_PATH(Type,Value,DevicePathParameter) \
|
||||
ReportStatusCodeWithDevicePath(Type,Value,DevicePathParameter)
|
||||
|
||||
#define REPORT_STATUS_CODE_WITH_EXTENDED_DATA(Type,Value,ExtendedData,ExtendedDataSize) \
|
||||
ReportStatusCodeWithExtendedData(Type,Value,ExtendedData,ExtendedDataSize)
|
||||
|
||||
#define REPORT_STATUS_CODE_EX(Type,Value,Instance,CallerId,ExtendedDataGuid,ExtendedData,ExtendedDataSize) \
|
||||
ReportStatusCodeEx(Type,Value,Instance,CallerId,ExtendedDataGuid,ExtendedData,ExtendedDataSize)
|
||||
|
||||
#else
|
||||
/**
|
||||
Reports a status code with minimal parameters if the status code type is enabled.
|
||||
|
||||
|
@ -472,8 +484,7 @@ ReportDebugCodeEnabled (
|
|||
ID of gEfiCallerIdGuid is used.
|
||||
@param ExtendedDataGuid Pointer to the GUID for the extended data buffer.
|
||||
If this parameter is NULL, then a the status code
|
||||
standard header is filled in with
|
||||
gEfiStatusCodeSpecificDataGuid.
|
||||
standard header is filled in with an implementation dependent GUID.
|
||||
@param ExtendedData Pointer to the extended data buffer. This is an
|
||||
optional parameter that may be NULL.
|
||||
@param ExtendedDataSize The size, in bytes, of the extended data buffer.
|
||||
|
@ -494,5 +505,13 @@ ReportDebugCodeEnabled (
|
|||
(ReportDebugCodeEnabled() && ((Type) & EFI_STATUS_CODE_TYPE_MASK) == EFI_DEBUG_CODE) ? \
|
||||
ReportStatusCodeEx(Type,Value,Instance,CallerId,ExtendedDataGuid,ExtendedData,ExtendedDataSize) : \
|
||||
EFI_UNSUPPORTED
|
||||
#endif
|
||||
|
||||
#else
|
||||
#define REPORT_STATUS_CODE(Type,Value) EFI_UNSUPPORTED
|
||||
#define REPORT_STATUS_CODE_WITH_DEVICE_PATH(Type,Value,DevicePathParameter) EFI_UNSUPPORTED
|
||||
#define REPORT_STATUS_CODE_WITH_EXTENDED_DATA(Type,Value,ExtendedData,ExtendedDataSize) EFI_UNSUPPORTED
|
||||
#define REPORT_STATUS_CODE_EX(Type,Value,Instance,CallerId,ExtendedDataGuid,ExtendedData,ExtendedDataSize) EFI_UNSUPPORTED
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
@ -63,9 +63,10 @@ EFI_STATUS
|
|||
PROTOCOL instance.
|
||||
@param ControllerHandle The device handle of the controller to check if a driver override
|
||||
exists.
|
||||
@param DriverImageHandle On input, a pointer to the previous driver image handle returned
|
||||
by GetDriverPath(). On output, a pointer to the next driver
|
||||
device path.
|
||||
@param DriverImagePath On input, a pointer to the previous driver device path returned by
|
||||
GetDriverPath(). On output, a pointer to the next driver
|
||||
device path. Passing in a pointer to NULL, will return the first
|
||||
driver device path for ControllerHandle.
|
||||
|
||||
@retval EFI_SUCCESS The driver override for ControllerHandle was returned in
|
||||
DriverImageHandle.
|
||||
|
|
Loading…
Reference in New Issue