mirror of https://github.com/acidanthera/audk.git
Check in library class declaration for SAL Lib, together with related definition.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2728 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
6d8dc2cd9b
commit
a197b1ad17
|
@ -266,13 +266,15 @@ typedef enum {
|
||||||
CurrentProcInfo,
|
CurrentProcInfo,
|
||||||
NumProcessors,
|
NumProcessors,
|
||||||
SetMinState,
|
SetMinState,
|
||||||
GetMinState
|
GetMinState,
|
||||||
|
EsalPhysicalIdInfo
|
||||||
} EFI_EXTENDED_SAL_MP_SERVICES_FUNC_ID;
|
} EFI_EXTENDED_SAL_MP_SERVICES_FUNC_ID;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
PalProc,
|
PalProc,
|
||||||
SetNewPalEntry,
|
SetNewPalEntry,
|
||||||
GetNewPalEntry
|
GetNewPalEntry,
|
||||||
|
EsalUpdatePal
|
||||||
} EFI_EXTENDED_SAL_PAL_SERVICES_FUNC_ID;
|
} EFI_EXTENDED_SAL_PAL_SERVICES_FUNC_ID;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
@ -283,7 +285,8 @@ typedef enum {
|
||||||
EsalMcGetParams,
|
EsalMcGetParams,
|
||||||
EsalMcGetMcParams,
|
EsalMcGetMcParams,
|
||||||
EsalGetMcCheckinFlags,
|
EsalGetMcCheckinFlags,
|
||||||
EsalGetPlatformBaseFreq
|
EsalGetPlatformBaseFreq,
|
||||||
|
EsalRegisterPhysicalAddrFunctionId
|
||||||
} EFI_EXTENDED_SAL_BASE_SERVICES_FUNC_ID;
|
} EFI_EXTENDED_SAL_BASE_SERVICES_FUNC_ID;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
|
|
@ -98,6 +98,7 @@ typedef SAL_RETURN_REGS (EFIAPI *SAL_PROC)
|
||||||
#define EFI_SAL_PCI_CONFIG_READ 0x01000010
|
#define EFI_SAL_PCI_CONFIG_READ 0x01000010
|
||||||
#define EFI_SAL_PCI_CONFIG_WRITE 0x01000011
|
#define EFI_SAL_PCI_CONFIG_WRITE 0x01000011
|
||||||
#define EFI_SAL_FREQ_BASE 0x01000012
|
#define EFI_SAL_FREQ_BASE 0x01000012
|
||||||
|
#define EFI_SAL_PHYSICAL_ID_INFO 0x01000013
|
||||||
#define EFI_SAL_UPDATE_PAL 0x01000020
|
#define EFI_SAL_UPDATE_PAL 0x01000020
|
||||||
|
|
||||||
#define EFI_SAL_FUNCTION_ID_MASK 0x0000ffff
|
#define EFI_SAL_FUNCTION_ID_MASK 0x0000ffff
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
/** @file
|
||||||
|
SAL Library Functions
|
||||||
|
|
||||||
|
Copyright (c) 2007, 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
|
||||||
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
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: SalLib.h
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifndef __SAL_LIB__
|
||||||
|
#define __SAL_LIB__
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
Makes a SAL procedure call.
|
||||||
|
|
||||||
|
This is a wrapper function to make a SAL procedure call.
|
||||||
|
No parameter checking is performed on the 8 input parameters,
|
||||||
|
but there are some common rules that the caller should follow
|
||||||
|
when making a SAL call. Any address passed to SAL as buffers
|
||||||
|
for return parameters must be 8-byte aligned. Unaligned
|
||||||
|
addresses may cause undefined results. For those parameters
|
||||||
|
defined as reserved or some fields defined as reserved must be
|
||||||
|
zero filled or the invalid argument return value may be returned
|
||||||
|
or undefined result may occur during the execution of the procedure.
|
||||||
|
This function is only available on IPF.
|
||||||
|
|
||||||
|
@param Index The SAL procedure Index number
|
||||||
|
@param Arg2 The 2nd parameter for SAL procedure calls
|
||||||
|
@param Arg3 The 3rd parameter for SAL procedure calls
|
||||||
|
@param Arg4 The 4th parameter for SAL procedure calls
|
||||||
|
@param Arg5 The 5th parameter for SAL procedure calls
|
||||||
|
@param Arg6 The 6th parameter for SAL procedure calls
|
||||||
|
@param Arg7 The 7th parameter for SAL procedure calls
|
||||||
|
@param Arg8 The 8th parameter for SAL procedure calls
|
||||||
|
|
||||||
|
@return SAL returned registers.
|
||||||
|
|
||||||
|
**/
|
||||||
|
SAL_RETURN_REGS
|
||||||
|
EFIAPI
|
||||||
|
SalCall (
|
||||||
|
IN UINT64 Index,
|
||||||
|
IN UINT64 Arg2,
|
||||||
|
IN UINT64 Arg3,
|
||||||
|
IN UINT64 Arg4,
|
||||||
|
IN UINT64 Arg5,
|
||||||
|
IN UINT64 Arg6,
|
||||||
|
IN UINT64 Arg7,
|
||||||
|
IN UINT64 Arg8
|
||||||
|
);
|
||||||
|
|
||||||
|
#endif
|
|
@ -182,6 +182,10 @@
|
||||||
<IncludeHeader>Include/Library/UefiApplicationEntryPoint.h</IncludeHeader>
|
<IncludeHeader>Include/Library/UefiApplicationEntryPoint.h</IncludeHeader>
|
||||||
<HelpText>Library to abstract entry point to a EFI Application.</HelpText>
|
<HelpText>Library to abstract entry point to a EFI Application.</HelpText>
|
||||||
</LibraryClass>
|
</LibraryClass>
|
||||||
|
<LibraryClass Name="SalLib" SupArchList="IPF">
|
||||||
|
<IncludeHeader>Include/Library/SalLib.h</IncludeHeader>
|
||||||
|
<HelpText>Implement the SAL call</HelpText>
|
||||||
|
</LibraryClass>
|
||||||
</LibraryClassDeclarations>
|
</LibraryClassDeclarations>
|
||||||
<IndustryStdIncludes>
|
<IndustryStdIncludes>
|
||||||
<IndustryStdHeader Name="BaseTypes">
|
<IndustryStdHeader Name="BaseTypes">
|
||||||
|
|
Loading…
Reference in New Issue