CurrentProcInfo,\r
NumProcessors,\r
SetMinState,\r
- GetMinState\r
+ GetMinState,\r
+ EsalPhysicalIdInfo\r
} EFI_EXTENDED_SAL_MP_SERVICES_FUNC_ID;\r
\r
typedef enum {\r
PalProc,\r
SetNewPalEntry,\r
- GetNewPalEntry\r
+ GetNewPalEntry,\r
+ EsalUpdatePal\r
} EFI_EXTENDED_SAL_PAL_SERVICES_FUNC_ID;\r
\r
typedef enum {\r
EsalMcGetParams,\r
EsalMcGetMcParams,\r
EsalGetMcCheckinFlags,\r
- EsalGetPlatformBaseFreq\r
+ EsalGetPlatformBaseFreq,\r
+ EsalRegisterPhysicalAddrFunctionId\r
} EFI_EXTENDED_SAL_BASE_SERVICES_FUNC_ID;\r
\r
typedef enum {\r
--- /dev/null
+/** @file\r
+ SAL Library Functions\r
+\r
+ Copyright (c) 2007, Intel Corporation\r
+ All rights reserved. This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions of the BSD License\r
+ which accompanies this distribution. The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+ Module Name: SalLib.h\r
+\r
+**/\r
+\r
+#ifndef __SAL_LIB__\r
+#define __SAL_LIB__\r
+\r
+\r
+/**\r
+ Makes a SAL procedure call.\r
+ \r
+ This is a wrapper function to make a SAL procedure call. \r
+ No parameter checking is performed on the 8 input parameters,\r
+ but there are some common rules that the caller should follow\r
+ when making a SAL call. Any address passed to SAL as buffers\r
+ for return parameters must be 8-byte aligned. Unaligned\r
+ addresses may cause undefined results. For those parameters\r
+ defined as reserved or some fields defined as reserved must be\r
+ zero filled or the invalid argument return value may be returned\r
+ or undefined result may occur during the execution of the procedure.\r
+ This function is only available on IPF.\r
+\r
+ @param Index The SAL procedure Index number\r
+ @param Arg2 The 2nd parameter for SAL procedure calls\r
+ @param Arg3 The 3rd parameter for SAL procedure calls\r
+ @param Arg4 The 4th parameter for SAL procedure calls\r
+ @param Arg5 The 5th parameter for SAL procedure calls\r
+ @param Arg6 The 6th parameter for SAL procedure calls\r
+ @param Arg7 The 7th parameter for SAL procedure calls\r
+ @param Arg8 The 8th parameter for SAL procedure calls\r
+\r
+ @return SAL returned registers.\r
+\r
+**/\r
+SAL_RETURN_REGS\r
+EFIAPI\r
+SalCall (\r
+ IN UINT64 Index,\r
+ IN UINT64 Arg2,\r
+ IN UINT64 Arg3,\r
+ IN UINT64 Arg4,\r
+ IN UINT64 Arg5,\r
+ IN UINT64 Arg6,\r
+ IN UINT64 Arg7,\r
+ IN UINT64 Arg8\r
+ );\r
+\r
+#endif\r
<IncludeHeader>Include/Library/UefiApplicationEntryPoint.h</IncludeHeader>\r
<HelpText>Library to abstract entry point to a EFI Application.</HelpText>\r
</LibraryClass>\r
+ <LibraryClass Name="SalLib" SupArchList="IPF">\r
+ <IncludeHeader>Include/Library/SalLib.h</IncludeHeader>\r
+ <HelpText>Implement the SAL call</HelpText>\r
+ </LibraryClass>\r
</LibraryClassDeclarations>\r
<IndustryStdIncludes>\r
<IndustryStdHeader Name="BaseTypes">\r