summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524>2007-06-25 07:35:47 +0000
committerxli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524>2007-06-25 07:35:47 +0000
commita197b1ad17703a117e5b67c50c311325a2b3bdcb (patch)
treed4424a9374d37770e31862cd314777d869ce2ec3
parent6d8dc2cd9b95336863c90f583b486d89fe318536 (diff)
downloadedk2-a197b1ad17703a117e5b67c50c311325a2b3bdcb.zip
edk2-a197b1ad17703a117e5b67c50c311325a2b3bdcb.tar.gz
edk2-a197b1ad17703a117e5b67c50c311325a2b3bdcb.tar.bz2
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.h9
-rw-r--r--OldMdePkg/Include/Ipf/SalApi.h1
-rw-r--r--OldMdePkg/Include/Library/SalLib.h60
-rw-r--r--OldMdePkg/MdePkg.spd4
4 files changed, 71 insertions, 3 deletions
diff --git a/EdkModulePkg/Include/Guid/ExtendedSalGuid.h b/EdkModulePkg/Include/Guid/ExtendedSalGuid.h
index 30e0fe0..bed3117 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 1d62705..5e2e92d 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 0000000..b356f2a
--- /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 0c10952..c2f0547 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">