diff options
author | xli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524> | 2007-06-25 07:35:47 +0000 |
---|---|---|
committer | xli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524> | 2007-06-25 07:35:47 +0000 |
commit | a197b1ad17703a117e5b67c50c311325a2b3bdcb (patch) | |
tree | d4424a9374d37770e31862cd314777d869ce2ec3 | |
parent | 6d8dc2cd9b95336863c90f583b486d89fe318536 (diff) | |
download | edk2-a197b1ad17703a117e5b67c50c311325a2b3bdcb.tar.gz edk2-a197b1ad17703a117e5b67c50c311325a2b3bdcb.tar.bz2 edk2-a197b1ad17703a117e5b67c50c311325a2b3bdcb.zip |
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
-rw-r--r-- | EdkModulePkg/Include/Guid/ExtendedSalGuid.h | 9 | ||||
-rw-r--r-- | OldMdePkg/Include/Ipf/SalApi.h | 1 | ||||
-rw-r--r-- | OldMdePkg/Include/Library/SalLib.h | 60 | ||||
-rw-r--r-- | OldMdePkg/MdePkg.spd | 4 |
4 files changed, 71 insertions, 3 deletions
diff --git a/EdkModulePkg/Include/Guid/ExtendedSalGuid.h b/EdkModulePkg/Include/Guid/ExtendedSalGuid.h index 30e0fe053c..bed3117575 100644 --- a/EdkModulePkg/Include/Guid/ExtendedSalGuid.h +++ b/EdkModulePkg/Include/Guid/ExtendedSalGuid.h @@ -266,13 +266,15 @@ typedef enum { CurrentProcInfo,
NumProcessors,
SetMinState,
- GetMinState
+ GetMinState,
+ EsalPhysicalIdInfo
} EFI_EXTENDED_SAL_MP_SERVICES_FUNC_ID;
typedef enum {
PalProc,
SetNewPalEntry,
- GetNewPalEntry
+ GetNewPalEntry,
+ EsalUpdatePal
} EFI_EXTENDED_SAL_PAL_SERVICES_FUNC_ID;
typedef enum {
@@ -283,7 +285,8 @@ typedef enum { EsalMcGetParams,
EsalMcGetMcParams,
EsalGetMcCheckinFlags,
- EsalGetPlatformBaseFreq
+ EsalGetPlatformBaseFreq,
+ EsalRegisterPhysicalAddrFunctionId
} EFI_EXTENDED_SAL_BASE_SERVICES_FUNC_ID;
typedef enum {
diff --git a/OldMdePkg/Include/Ipf/SalApi.h b/OldMdePkg/Include/Ipf/SalApi.h index 1d62705d56..5e2e92d05e 100644 --- a/OldMdePkg/Include/Ipf/SalApi.h +++ b/OldMdePkg/Include/Ipf/SalApi.h @@ -98,6 +98,7 @@ typedef SAL_RETURN_REGS (EFIAPI *SAL_PROC) #define EFI_SAL_PCI_CONFIG_READ 0x01000010
#define EFI_SAL_PCI_CONFIG_WRITE 0x01000011
#define EFI_SAL_FREQ_BASE 0x01000012
+#define EFI_SAL_PHYSICAL_ID_INFO 0x01000013
#define EFI_SAL_UPDATE_PAL 0x01000020
#define EFI_SAL_FUNCTION_ID_MASK 0x0000ffff
diff --git a/OldMdePkg/Include/Library/SalLib.h b/OldMdePkg/Include/Library/SalLib.h new file mode 100644 index 0000000000..b356f2a6ca --- /dev/null +++ b/OldMdePkg/Include/Library/SalLib.h @@ -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
diff --git a/OldMdePkg/MdePkg.spd b/OldMdePkg/MdePkg.spd index 0c109527f7..c2f0547bde 100644 --- a/OldMdePkg/MdePkg.spd +++ b/OldMdePkg/MdePkg.spd @@ -182,6 +182,10 @@ <IncludeHeader>Include/Library/UefiApplicationEntryPoint.h</IncludeHeader>
<HelpText>Library to abstract entry point to a EFI Application.</HelpText>
</LibraryClass>
+ <LibraryClass Name="SalLib" SupArchList="IPF">
+ <IncludeHeader>Include/Library/SalLib.h</IncludeHeader>
+ <HelpText>Implement the SAL call</HelpText>
+ </LibraryClass>
</LibraryClassDeclarations>
<IndustryStdIncludes>
<IndustryStdHeader Name="BaseTypes">
|