/** @file\r
Master header file for DxeIpl PEIM. All source files in this module should\r
- include this file for common defininitions. \r
+ include this file for common defininitions.\r
\r
Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
All rights reserved. This program and the accompanying materials\r
OUT EFI_PHYSICAL_ADDRESS *ImageAddress,\r
OUT UINT64 *ImageSize,\r
OUT EFI_PHYSICAL_ADDRESS *EntryPoint\r
- )\r
-;\r
+ );\r
\r
\r
\r
EFI_STATUS\r
DxeIplFindDxeCore (\r
OUT EFI_PEI_FILE_HANDLE *FileHandle\r
- )\r
-;\r
+ );\r
\r
\r
\r
EFI_STATUS\r
GetImageReadFunction (\r
IN PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext\r
- )\r
-;\r
+ );\r
\r
\r
\r
PeimInitializeDxeIpl (\r
IN EFI_PEI_FILE_HANDLE FfsHandle,\r
IN EFI_PEI_SERVICES **PeiServices\r
- )\r
-;\r
+ );\r
\r
\r
#endif\r
processed. OutputBuffer OutputBuffer is\r
allocated from PEI permanent memory and contains\r
the new section stream.\r
- @param CompressionSection A pointer to the input buffer, which contains\r
+ @param InputSection A pointer to the input buffer, which contains\r
the input section to be processed.\r
@param OutputBuffer A pointer to a caller-allocated buffer, whose\r
size is specified by the contents of OutputSize.\r
EFI_STATUS\r
CustomGuidedSectionExtract (\r
IN CONST EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI *This,\r
- IN CONST VOID *CompressionSection,\r
+ IN CONST VOID *InputSection,\r
OUT VOID **OutputBuffer,\r
OUT UINTN *OutputSize,\r
OUT UINT32 *AuthenticationStatus\r
IN CONST EFI_COMPRESSION_SECTION *CompressionSection,\r
OUT VOID **OutputBuffer,\r
OUT UINTN *OutputSize\r
-);\r
+ );\r
\r
\r
BOOLEAN gInMemory = FALSE;\r
-#/**@file\r
-# IDT vector entry.\r
-#\r
-# Copyright (c) 2007 - 2008, 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
+#/** @file\r
+# \r
+# IDT vector entry.\r
+# \r
+# Copyright (c) 2007 - 2008, Intel Corporation. <BR>\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
#**/\r
\r
.text\r
;/** @file\r
+; \r
; IDT vector entry.\r
; \r
; Copyright (c) 2007 - 2008, Intel Corporation. <BR>\r
\r
**/\r
EFI_STATUS\r
-EFIAPI\r
PeiImageRead (\r
IN VOID *FileHandle,\r
IN UINTN FileOffset,\r
UINTN\r
CreateIdentityMappingPageTables (\r
VOID\r
- )\r
-;\r
+ );\r
\r
\r
\r
#/** @file\r
-# Component description file for Ebc module.\r
-#\r
-# This module for the EBC virtual machine implementation produces \r
-# EBC and EBC debug support protocols.\r
-# Copyright (c) 2006 - 2007, Intel Corporation\r
-#\r
+# \r
+# Component description file for Ebc module.\r
+# \r
+# This module for the EBC virtual machine implementation produces \r
+# EBC and EBC debug support protocols.\r
+# \r
+# Copyright (c) 2006 - 2008, Intel Corporation. <BR>\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
+# 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
-#\r
+# \r
#**/\r
\r
[Defines]\r
/** @file\r
Contains code that implements the virtual machine.\r
\r
-Copyright (c) 2006 - 2008, Intel Corporation\r
+Copyright (c) 2006 - 2008, Intel Corporation. <BR>\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
@return The decoded offset.\r
\r
**/\r
-STATIC\r
INT16\r
VmReadIndex16 (\r
IN VM_CONTEXT *VmPtr,\r
@return Converted index per EBC VM specification.\r
\r
**/\r
-STATIC\r
INT32\r
VmReadIndex32 (\r
IN VM_CONTEXT *VmPtr,\r
@return Converted index per EBC VM specification\r
\r
**/\r
-STATIC\r
INT64\r
VmReadIndex64 (\r
IN VM_CONTEXT *VmPtr,\r
@return The 8-bit value from the memory adress.\r
\r
**/\r
-STATIC\r
UINT8\r
VmReadMem8 (\r
IN VM_CONTEXT *VmPtr,\r
@return The 16-bit value from the memory adress.\r
\r
**/\r
-STATIC\r
UINT16\r
VmReadMem16 (\r
IN VM_CONTEXT *VmPtr,\r
@return The 32-bit value from the memory adress.\r
\r
**/\r
-STATIC\r
UINT32\r
VmReadMem32 (\r
IN VM_CONTEXT *VmPtr,\r
@return The 64-bit value from the memory adress.\r
\r
**/\r
-STATIC\r
UINT64\r
VmReadMem64 (\r
IN VM_CONTEXT *VmPtr,\r
@return The natural value at address Addr.\r
\r
**/\r
-STATIC\r
UINTN\r
VmReadMemN (\r
IN VM_CONTEXT *VmPtr,\r
@retval Other Some error occurs when writing data to the address.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
VmWriteMem8 (\r
IN VM_CONTEXT *VmPtr,\r
@retval Other Some error occurs when writing data to the address.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
VmWriteMem16 (\r
IN VM_CONTEXT *VmPtr,\r
@retval Other Some error occurs when writing data to the address.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
VmWriteMem32 (\r
IN VM_CONTEXT *VmPtr,\r
@return The raw unsigned 16-bit value from the code stream.\r
\r
**/\r
-STATIC\r
UINT16\r
VmReadCode16 (\r
IN VM_CONTEXT *VmPtr,\r
@return The raw unsigned 32-bit value from the code stream.\r
\r
**/\r
-STATIC\r
UINT32\r
VmReadCode32 (\r
IN VM_CONTEXT *VmPtr,\r
@return The raw unsigned 64-bit value from the code stream.\r
\r
**/\r
-STATIC\r
UINT64\r
VmReadCode64 (\r
IN VM_CONTEXT *VmPtr,\r
@return Signed data of the requested size from the specified address.\r
\r
**/\r
-STATIC\r
INT8\r
VmReadImmed8 (\r
IN VM_CONTEXT *VmPtr,\r
@return Signed data of the requested size from the specified address.\r
\r
**/\r
-STATIC\r
INT16\r
VmReadImmed16 (\r
IN VM_CONTEXT *VmPtr,\r
@return Signed data of the requested size from the specified address.\r
\r
**/\r
-STATIC\r
INT32\r
VmReadImmed32 (\r
IN VM_CONTEXT *VmPtr,\r
@return Signed data of the requested size from the specified address.\r
\r
**/\r
-STATIC\r
INT64\r
VmReadImmed64 (\r
IN VM_CONTEXT *VmPtr,\r
adjust for the stack gap and return the modified address.\r
\r
**/\r
-STATIC\r
UINTN\r
ConvertStackAddr (\r
IN VM_CONTEXT *VmPtr,\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteDataManip (\r
IN VM_CONTEXT *VmPtr,\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteBREAK (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteJMP (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteJMP8 (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteCALL (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteRET (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteCMP (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteCMPI (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteMOVxx (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteMOVI (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteMOVIn (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteMOVREL (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecutePUSHn (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecutePUSH (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecutePOPn (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecutePOP (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteSignedDataManip (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteUnsignedDataManip (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteLOADSP (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteSTORESP (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteMOVsnd (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteMOVsnw (\r
IN VM_CONTEXT *VmPtr\r
@return ~Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteNOT (\r
IN VM_CONTEXT *VmPtr,\r
@return Op2 * -1\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteNEG (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 + Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteADD (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 - Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteSUB (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 * Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteMUL (\r
IN VM_CONTEXT *VmPtr,\r
@return (unsigned)Op1 * (unsigned)Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteMULU (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 / Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteDIV (\r
IN VM_CONTEXT *VmPtr,\r
@return (unsigned)Op1 / (unsigned)Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteDIVU (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 MODULUS Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteMOD (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 UNSIGNED_MODULUS Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteMODU (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 AND Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteAND (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 OR Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteOR (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 XOR Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteXOR (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 << Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteSHL (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 >> Op2 (unsigned operands)\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteSHR (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 >> Op2 (signed)\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteASHR (\r
IN VM_CONTEXT *VmPtr,\r
@return (INT64)(INT8)Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteEXTNDB (\r
IN VM_CONTEXT *VmPtr,\r
@return (INT64)(INT16)Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteEXTNDW (\r
IN VM_CONTEXT *VmPtr,\r
@return (INT64)(INT32)Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteEXTNDD (\r
IN VM_CONTEXT *VmPtr,\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteMOVxx (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteBREAK (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteJMP (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteJMP8 (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteMOVI (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteMOVIn (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteMOVREL (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteMOVsnw (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteMOVsnd (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecutePUSHn (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecutePUSH (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecutePOPn (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecutePOP (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteCALL (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteRET (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteCMP (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteCMPI (\r
IN VM_CONTEXT *VmPtr\r
@return ~Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteNOT (\r
IN VM_CONTEXT *VmPtr,\r
@return Op2 * -1\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteNEG (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 + Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteADD (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 - Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteSUB (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 * Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteMUL (\r
IN VM_CONTEXT *VmPtr,\r
@return (unsigned)Op1 * (unsigned)Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteMULU (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 / Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteDIV (\r
IN VM_CONTEXT *VmPtr,\r
@return (unsigned)Op1 / (unsigned)Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteDIVU (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 MODULUS Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteMOD (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 UNSIGNED_MODULUS Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteMODU (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 AND Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteAND (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 OR Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteOR (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 XOR Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteXOR (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 << Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteSHL (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 >> Op2 (unsigned operands)\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteSHR (\r
IN VM_CONTEXT *VmPtr,\r
@return Op1 >> Op2 (signed)\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteASHR (\r
IN VM_CONTEXT *VmPtr,\r
@return (INT64)(INT8)Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteEXTNDB (\r
IN VM_CONTEXT *VmPtr,\r
@return (INT64)(INT16)Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteEXTNDW (\r
IN VM_CONTEXT *VmPtr,\r
@return (INT64)(INT32)Op2\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteEXTNDD (\r
IN VM_CONTEXT *VmPtr,\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteSignedDataManip (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteUnsignedDataManip (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteDataManip (\r
IN VM_CONTEXT *VmPtr,\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteLOADSP (\r
IN VM_CONTEXT *VmPtr\r
@retval EFI_SUCCESS The instruction is executed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
ExecuteSTORESP (\r
IN VM_CONTEXT *VmPtr\r
@return The decoded offset.\r
\r
**/\r
-STATIC\r
INT16\r
VmReadIndex16 (\r
IN VM_CONTEXT *VmPtr,\r
@return Converted index per EBC VM specification.\r
\r
**/\r
-STATIC\r
INT32\r
VmReadIndex32 (\r
IN VM_CONTEXT *VmPtr,\r
@return Converted index per EBC VM specification\r
\r
**/\r
-STATIC\r
INT64\r
VmReadIndex64 (\r
IN VM_CONTEXT *VmPtr,\r
@retval Other Some error occurs when writing data to the address.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
VmWriteMem8 (\r
IN VM_CONTEXT *VmPtr,\r
@retval Other Some error occurs when writing data to the address.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
VmWriteMem16 (\r
IN VM_CONTEXT *VmPtr,\r
@retval Other Some error occurs when writing data to the address.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
VmWriteMem32 (\r
IN VM_CONTEXT *VmPtr,\r
@return Signed data of the requested size from the specified address.\r
\r
**/\r
-STATIC\r
INT8\r
VmReadImmed8 (\r
IN VM_CONTEXT *VmPtr,\r
@return Signed data of the requested size from the specified address.\r
\r
**/\r
-STATIC\r
INT16\r
VmReadImmed16 (\r
IN VM_CONTEXT *VmPtr,\r
@return Signed data of the requested size from the specified address.\r
\r
**/\r
-STATIC\r
INT32\r
VmReadImmed32 (\r
IN VM_CONTEXT *VmPtr,\r
@return Signed data of the requested size from the specified address.\r
\r
**/\r
-STATIC\r
INT64\r
VmReadImmed64 (\r
IN VM_CONTEXT *VmPtr,\r
@return The raw unsigned 16-bit value from the code stream.\r
\r
**/\r
-STATIC\r
UINT16\r
VmReadCode16 (\r
IN VM_CONTEXT *VmPtr,\r
@return The raw unsigned 32-bit value from the code stream.\r
\r
**/\r
-STATIC\r
UINT32\r
VmReadCode32 (\r
IN VM_CONTEXT *VmPtr,\r
@return The raw unsigned 64-bit value from the code stream.\r
\r
**/\r
-STATIC\r
UINT64\r
VmReadCode64 (\r
IN VM_CONTEXT *VmPtr,\r
@return The 8-bit value from the memory adress.\r
\r
**/\r
-STATIC\r
UINT8\r
VmReadMem8 (\r
IN VM_CONTEXT *VmPtr,\r
@return The 16-bit value from the memory adress.\r
\r
**/\r
-STATIC\r
UINT16\r
VmReadMem16 (\r
IN VM_CONTEXT *VmPtr,\r
@return The 32-bit value from the memory adress.\r
\r
**/\r
-STATIC\r
UINT32\r
VmReadMem32 (\r
IN VM_CONTEXT *VmPtr,\r
@return The 64-bit value from the memory adress.\r
\r
**/\r
-STATIC\r
UINT64\r
VmReadMem64 (\r
IN VM_CONTEXT *VmPtr,\r
adjust for the stack gap and return the modified address.\r
\r
**/\r
-STATIC\r
UINTN\r
ConvertStackAddr (\r
IN VM_CONTEXT *VmPtr,\r
@return The natural value at address Addr.\r
\r
**/\r
-STATIC\r
UINTN\r
VmReadMemN (\r
IN VM_CONTEXT *VmPtr,\r
be of use to a disassembler for the most part. Also provides function\r
prototypes for VM functions.\r
\r
-Copyright (c) 2006, Intel Corporation\r
+Copyright (c) 2006 - 2008, Intel Corporation. <BR>\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
Provides auxiliary support routines for the VM. That is, routines\r
that are not particularly related to VM execution of EBC instructions.\r
\r
-Copyright (c) 2006 - 2008, Intel Corporation\r
+Copyright (c) 2006 - 2008, Intel Corporation. <BR>\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
@retval EFI_SUCCESS The function completed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
EbcUnloadImage (\r
@retval EFI_OUT_OF_RESOURCES Memory could not be allocated for the thunk.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
EbcCreateThunk (\r
@retval EFI_INVALID_PARAMETER Version pointer is NULL.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
EbcGetVersion (\r
@retval Others Some error occurs when creating periodic event.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
InitializeEbcCallback (\r
@param SystemContext EBC system context.\r
\r
**/\r
-STATIC\r
VOID\r
EFIAPI\r
CommonEbcExceptionHandler (\r
@param Context It should be the address of VM_CONTEXT pointer.\r
\r
**/\r
-STATIC\r
VOID\r
EFIAPI\r
EbcPeriodicNotifyFunction (\r
@retval EFI_SUCCESS The function completed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
EbcDebugPeriodic (\r
@retval EFI_SUCCESS The function completed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
InitEbcVmTestProtocol (\r
IN EFI_HANDLE *IHandle\r
@return EFI_UNSUPPORTED This function always return EFI_UNSUPPORTED status.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EbcVmTestUnsupported (\r
VOID\r
@retval EFI_SUCCESS The function completed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
EbcRegisterICacheFlush (\r
@retval EFI_SUCCESS The function completed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
EbcDebugGetMaximumProcessorIndex (\r
callback function was previously registered.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
EbcDebugRegisterPeriodicCallback (\r
callback function was previously registered.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
EbcDebugRegisterExceptionCallback (\r
@retval EFI_SUCCESS The function completed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
EbcDebugInvalidateInstructionCache (\r
@retval EFI_OUT_OF_RESOURCES Memory could not be allocated for the thunk.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
EbcCreateThunk (\r
@retval EFI_SUCCESS The function completed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
EbcDebugGetMaximumProcessorIndex (\r
callback function was previously registered.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
EbcDebugRegisterPeriodicCallback (\r
callback function was previously registered.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
EbcDebugRegisterExceptionCallback (\r
@retval EFI_SUCCESS The function completed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
EbcDebugInvalidateInstructionCache (\r
@retval Others Some error occurs when creating periodic event.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
InitializeEbcCallback (\r
@param SystemContext EBC system context.\r
\r
**/\r
-STATIC\r
VOID\r
EFIAPI\r
CommonEbcExceptionHandler (\r
@param Context It should be the address of VM_CONTEXT pointer.\r
\r
**/\r
-STATIC\r
VOID\r
EFIAPI\r
EbcPeriodicNotifyFunction (\r
@retval EFI_SUCCESS The function completed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
EbcDebugPeriodic (\r
@retval EFI_SUCCESS The function completed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
EbcUnloadImage (\r
@retval EFI_SUCCESS The function completed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
EbcRegisterICacheFlush (\r
@retval EFI_INVALID_PARAMETER Version pointer is NULL.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
EbcGetVersion (\r
@retval EFI_SUCCESS The function completed successfully.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
InitEbcVmTestProtocol (\r
IN EFI_HANDLE *IHandle\r
@return EFI_UNSUPPORTED This function always return EFI_UNSUPPORTED status.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
EbcVmTestUnsupported (\r
VOID\r
Main routines for the EBC interpreter. Includes the initialization and\r
main interpreter routines.\r
\r
-Copyright (c) 2006, Intel Corporation\r
+Copyright (c) 2006 - 2008, Intel Corporation. <BR>\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
-##/**@file\r
-# Low level IA32 specific EBC support routines.\r
-#\r
-# Copyright (c) 2007 - 2008, 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
+#/** @file\r
+# \r
+# Low level IA32 specific EBC support routines.\r
+# \r
+# Copyright (c) 2007 - 2008, Intel Corporation. <BR>\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
#**/\r
\r
.globl ASM_PFX(CopyMem)\r
;/** @file\r
-; This code provides low level routines that support the Virtual Machine\r
-; for option ROMs.\r
-;\r
+; \r
+; This code provides low level routines that support the Virtual Machine\r
+; for option ROMs.\r
+; \r
; Copyright (c) 2006 - 2008, Intel Corporation. <BR>\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
+; \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
+; \r
;**/\r
\r
page ,132\r
This module contains EBC support routines that are customized based on\r
the target processor.\r
\r
-Copyright (c) 2006, Intel Corporation\r
+Copyright (c) 2006 - 2008, Intel Corporation. <BR>\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
@return The value returned by the EBC application we're going to run.\r
\r
**/\r
-STATIC\r
UINT64\r
EbcInterpret (\r
IN OUT UINTN Arg1,\r
@return The value returned by the EBC application we're going to run.\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteEbcImageEntryPoint (\r
IN EFI_HANDLE ImageHandle,\r
-/// @file\r
-/// Contains low level routines for the Virtual Machine implementation\r
-/// on an Itanium-based platform.\r
-///\r
-/// Copyright (c) 2006, 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: EbcLowLevel.s\r
-///\r
-///\r
+///** @file\r
+// \r
+// Contains low level routines for the Virtual Machine implementation\r
+// on an Itanium-based platform.\r
+//\r
+// Copyright (c) 2006 - 2008, Intel Corporation. <BR>\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
+//**/\r
\r
.file "EbcLowLevel.s"\r
\r
This module contains EBC support routines that are customized based on\r
the target processor.\r
\r
-Copyright (c) 2006, Intel Corporation\r
+Copyright (c) 2006 - 2008, Intel Corporation. <BR>\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
@retval EFI_SUCCESS All data is written.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
WriteBundle (\r
IN VOID *MemPtr,\r
@param Arg The value to be pushed.\r
\r
**/\r
-STATIC\r
VOID\r
PushU64 (\r
IN VM_CONTEXT *VmPtr,\r
@return The value returned by the EBC application we're going to run.\r
\r
**/\r
-STATIC\r
UINT64\r
EbcInterpret (\r
UINT64 Arg1,\r
@return The value returned by the EBC application we're going to run.\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteEbcImageEntryPoint (\r
IN EFI_HANDLE ImageHandle,\r
**/\r
EFI_STATUS\r
EbcCreateThunks (\r
- IN EFI_HANDLE ImageHandle,\r
- IN VOID *EbcEntryPoint,\r
- OUT VOID **Thunk,\r
- IN UINT32 Flags\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN VOID *EbcEntryPoint,\r
+ OUT VOID **Thunk,\r
+ IN UINT32 Flags\r
)\r
{\r
UINT8 *Ptr;\r
@retval EFI_SUCCESS All data is written.\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
WriteBundle (\r
IN VOID *MemPtr,\r
/** @file\r
Definition of EBC Support function.\r
\r
-Copyright (c) 2006, Intel Corporation\r
+Copyright (c) 2006 - 2008, Intel Corporation. <BR>\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
-##/**@file\r
-# This code provides low level routines that support the Virtual Machine\r
-# for option ROMs.\r
-#\r
-# Copyright (c) 2007 - 2008, 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
+#/** @file\r
+# \r
+# This code provides low level routines that support the Virtual Machine\r
+# for option ROMs.\r
+# \r
+# Copyright (c) 2007 - 2008, Intel Corporation. <BR>\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
#**/\r
\r
#---------------------------------------------------------------------------\r
;/** @file\r
-; This code provides low level routines that support the Virtual Machine.\r
-; for option ROMs.\r
-;\r
+; \r
+; This code provides low level routines that support the Virtual Machine.\r
+; for option ROMs.\r
+; \r
; Copyright (c) 2006 - 2008, Intel Corporation. <BR>\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
+; \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
+; \r
;**/\r
\r
-\r
page ,132\r
title VM ASSEMBLY LANGUAGE ROUTINES\r
\r
This module contains EBC support routines that are customized based on\r
the target x64 processor.\r
\r
-Copyright (c) 2006, Intel Corporation\r
+Copyright (c) 2006 - 2008, Intel Corporation. <BR>\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
@param Arg The value to be pushed.\r
\r
**/\r
-STATIC\r
VOID\r
PushU64 (\r
IN VM_CONTEXT *VmPtr,\r
@return The value returned by the EBC application we're going to run.\r
\r
**/\r
-STATIC\r
UINT64\r
EbcInterpret (\r
IN OUT UINTN Arg1,\r
@return The value returned by the EBC application we're going to run.\r
\r
**/\r
-STATIC\r
UINT64\r
ExecuteEbcImageEntryPoint (\r
IN EFI_HANDLE ImageHandle,\r