Perfect the msa of the following modules, DiskIo, Partition, English and Ebc.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2480 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -6,8 +6,9 @@
|
||||
<GuidValue>13AC6DD0-73D0-11D4-B06B-00AA00BD6DE7</GuidValue>
|
||||
<Version>1.0</Version>
|
||||
<Abstract>Component description file for Ebc module.</Abstract>
|
||||
<Description>This module for the EBC virtual machine implementation.</Description>
|
||||
<Copyright>Copyright (c) 2006, Intel Corporation</Copyright>
|
||||
<Description>This module for the EBC virtual machine implementation produces
|
||||
EBC and EBC debug support protocols.</Description>
|
||||
<Copyright>Copyright (c) 2006 - 2007, Intel Corporation</Copyright>
|
||||
<License>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
|
||||
@@ -17,7 +18,7 @@
|
||||
<Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>
|
||||
</MsaHeader>
|
||||
<ModuleDefinitions>
|
||||
<SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>
|
||||
<SupportedArchitectures>IA32 X64 IPF</SupportedArchitectures>
|
||||
<BinaryModule>false</BinaryModule>
|
||||
<OutputFileBasename>Ebc</OutputFileBasename>
|
||||
</ModuleDefinitions>
|
||||
@@ -25,30 +26,23 @@
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||
<Keyword>BaseLib</Keyword>
|
||||
</LibraryClass>
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED" RecommendedInstanceGuid="bda39d3a-451b-4350-8266-81ab10fa0523">
|
||||
<Keyword>DebugLib</Keyword>
|
||||
<HelpText>Recommended libary Instance is PeiDxeDebugLibReportStatusCode instance in MdePkg.</HelpText>
|
||||
</LibraryClass>
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||
<Keyword>UefiDriverEntryPoint</Keyword>
|
||||
</LibraryClass>
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||
<Keyword>ReportStatusCodeLib</Keyword>
|
||||
</LibraryClass>
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||
<Keyword>UefiLib</Keyword>
|
||||
</LibraryClass>
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||
<Keyword>BaseLib</Keyword>
|
||||
</LibraryClass>
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED" RecommendedInstanceGuid="f1bbe03d-2f28-4dee-bec7-d98d7a30c36a">
|
||||
<Keyword>BaseMemoryLib</Keyword>
|
||||
</LibraryClass>
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||
<Keyword>MemoryAllocationLib</Keyword>
|
||||
<HelpText>Recommended libary Instance is DxeMemoryLib instance in MdePkg.</HelpText>
|
||||
</LibraryClass>
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||
<Keyword>UefiBootServicesTableLib</Keyword>
|
||||
</LibraryClass>
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||
<Keyword>MemoryAllocationLib</Keyword>
|
||||
</LibraryClass>
|
||||
</LibraryClassDefinitions>
|
||||
<SourceFiles>
|
||||
<Filename>EbcInt.c</Filename>
|
||||
@@ -56,18 +50,18 @@
|
||||
<Filename>EbcExecute.c</Filename>
|
||||
<Filename>EbcExecute.h</Filename>
|
||||
<Filename>Ebc.dxs</Filename>
|
||||
<Filename SupArchList="IA32">Ia32/EbcLowLevel.asm</Filename>
|
||||
<Filename SupArchList="IA32">Ia32/EbcLowLevel.S</Filename>
|
||||
<Filename SupArchList="IA32" ToolChainFamily="MSFT">Ia32/EbcLowLevel.asm</Filename>
|
||||
<Filename SupArchList="IA32" ToolChainFamily="GCC">Ia32/EbcLowLevel.S</Filename>
|
||||
<Filename SupArchList="IA32">Ia32/EbcSupport.c</Filename>
|
||||
<Filename SupArchList="X64">x64/EbcLowLevel.asm</Filename>
|
||||
<Filename SupArchList="X64" ToolChainFamily="gcc">x64/EbcLowLevel.S</Filename>
|
||||
<Filename SupArchList="X64" ToolChainFamily="MSFT">x64/EbcLowLevel.asm</Filename>
|
||||
<Filename SupArchList="X64" ToolChainFamily="GCC">x64/EbcLowLevel.S</Filename>
|
||||
<Filename SupArchList="X64">x64/EbcSupport.c</Filename>
|
||||
<Filename SupArchList="IPF">Ipf/EbcLowLevel.s</Filename>
|
||||
<Filename SupArchList="IPF">Ipf/EbcSupport.c</Filename>
|
||||
<Filename SupArchList="IPF">Ipf/EbcSupport.h</Filename>
|
||||
</SourceFiles>
|
||||
<PackageDependencies>
|
||||
<Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
|
||||
<Package PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d"/>
|
||||
</PackageDependencies>
|
||||
<Protocols>
|
||||
<Protocol Usage="ALWAYS_PRODUCED">
|
||||
|
@@ -222,12 +222,9 @@ Returns:
|
||||
//
|
||||
// Allocate memory for our protocol. Then fill in the blanks.
|
||||
//
|
||||
Status = gBS->AllocatePool (
|
||||
EfiBootServicesData,
|
||||
sizeof (EFI_EBC_PROTOCOL),
|
||||
(VOID **) &EbcProtocol
|
||||
);
|
||||
if (Status != EFI_SUCCESS) {
|
||||
EbcProtocol = AllocatePool (sizeof (EFI_EBC_PROTOCOL));
|
||||
|
||||
if (EbcProtocol == NULL) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
@@ -273,7 +270,7 @@ Returns:
|
||||
}
|
||||
|
||||
if (HandleBuffer != NULL) {
|
||||
gBS->FreePool (HandleBuffer);
|
||||
FreePool (HandleBuffer);
|
||||
HandleBuffer = NULL;
|
||||
}
|
||||
//
|
||||
@@ -287,19 +284,16 @@ Returns:
|
||||
EbcProtocol
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
gBS->FreePool (EbcProtocol);
|
||||
FreePool (EbcProtocol);
|
||||
return Status;
|
||||
}
|
||||
}
|
||||
//
|
||||
// Allocate memory for our debug protocol. Then fill in the blanks.
|
||||
//
|
||||
Status = gBS->AllocatePool (
|
||||
EfiBootServicesData,
|
||||
sizeof (EFI_DEBUG_SUPPORT_PROTOCOL),
|
||||
(VOID **) &EbcDebugProtocol
|
||||
);
|
||||
if (Status != EFI_SUCCESS) {
|
||||
EbcDebugProtocol = AllocatePool (sizeof (EFI_DEBUG_SUPPORT_PROTOCOL));
|
||||
|
||||
if (EbcDebugProtocol == NULL) {
|
||||
goto ErrorExit;
|
||||
}
|
||||
|
||||
@@ -322,7 +316,7 @@ Returns:
|
||||
// This is recoverable, so free the memory and continue.
|
||||
//
|
||||
if (EFI_ERROR (Status)) {
|
||||
gBS->FreePool (EbcDebugProtocol);
|
||||
FreePool (EbcDebugProtocol);
|
||||
goto ErrorExit;
|
||||
}
|
||||
//
|
||||
@@ -370,11 +364,11 @@ ErrorExit:
|
||||
}
|
||||
|
||||
if (HandleBuffer != NULL) {
|
||||
gBS->FreePool (HandleBuffer);
|
||||
FreePool (HandleBuffer);
|
||||
HandleBuffer = NULL;
|
||||
}
|
||||
|
||||
gBS->FreePool (EbcProtocol);
|
||||
FreePool (EbcProtocol);
|
||||
|
||||
return Status;
|
||||
}
|
||||
@@ -894,8 +888,8 @@ Returns:
|
||||
ThunkList = ImageList->ThunkList;
|
||||
while (ThunkList != NULL) {
|
||||
NextThunkList = ThunkList->Next;
|
||||
gBS->FreePool (ThunkList->ThunkBuffer);
|
||||
gBS->FreePool (ThunkList);
|
||||
FreePool (ThunkList->ThunkBuffer);
|
||||
FreePool (ThunkList);
|
||||
ThunkList = NextThunkList;
|
||||
}
|
||||
//
|
||||
@@ -912,7 +906,7 @@ Returns:
|
||||
//
|
||||
// Now free up the image list element
|
||||
//
|
||||
gBS->FreePool (ImageList);
|
||||
FreePool (ImageList);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -970,12 +964,9 @@ Returns:
|
||||
//
|
||||
// Allocate a new one
|
||||
//
|
||||
Status = gBS->AllocatePool (
|
||||
EfiBootServicesData,
|
||||
sizeof (EBC_IMAGE_LIST),
|
||||
(VOID **) &ImageList
|
||||
);
|
||||
if (Status != EFI_SUCCESS) {
|
||||
ImageList = AllocatePool (sizeof (EBC_IMAGE_LIST));
|
||||
|
||||
if (ImageList == NULL) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
@@ -987,12 +978,9 @@ Returns:
|
||||
//
|
||||
// Ok, now create a new thunk element to add to the list
|
||||
//
|
||||
Status = gBS->AllocatePool (
|
||||
EfiBootServicesData,
|
||||
sizeof (EBC_THUNK_LIST),
|
||||
(VOID **) &ThunkList
|
||||
);
|
||||
if (Status != EFI_SUCCESS) {
|
||||
ThunkList = AllocatePool (sizeof (EBC_THUNK_LIST));
|
||||
|
||||
if (ThunkList == NULL) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
//
|
||||
@@ -1061,8 +1049,8 @@ Returns:
|
||||
//
|
||||
// Allocate memory for the protocol, then fill in the fields
|
||||
//
|
||||
Status = gBS->AllocatePool (EfiBootServicesData, sizeof (EFI_EBC_VM_TEST_PROTOCOL), (VOID **) &EbcVmTestProtocol);
|
||||
if (Status != EFI_SUCCESS) {
|
||||
EbcVmTestProtocol = AllocatePool (sizeof (EFI_EBC_VM_TEST_PROTOCOL));
|
||||
if (EbcVmTestProtocol == NULL) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
EbcVmTestProtocol->Execute = (EBC_VM_TEST_EXECUTE) EbcExecuteInstructions;
|
||||
@@ -1078,7 +1066,7 @@ Returns:
|
||||
Handle = NULL;
|
||||
Status = gBS->InstallProtocolInterface (&Handle, &mEfiEbcVmTestProtocolGuid, EFI_NATIVE_INTERFACE, EbcVmTestProtocol);
|
||||
if (EFI_ERROR (Status)) {
|
||||
gBS->FreePool (EbcVmTestProtocol);
|
||||
FreePool (EbcVmTestProtocol);
|
||||
}
|
||||
return Status;
|
||||
}
|
||||
|
@@ -371,7 +371,6 @@ Returns:
|
||||
UINT32 Addr;
|
||||
INT32 Size;
|
||||
INT32 ThunkSize;
|
||||
EFI_STATUS Status;
|
||||
|
||||
//
|
||||
// Check alignment of pointer to EBC code
|
||||
@@ -383,12 +382,9 @@ Returns:
|
||||
Size = EBC_THUNK_SIZE;
|
||||
ThunkSize = Size;
|
||||
|
||||
Status = gBS->AllocatePool (
|
||||
EfiBootServicesData,
|
||||
Size,
|
||||
(VOID *) &Ptr
|
||||
);
|
||||
if (Status != EFI_SUCCESS) {
|
||||
Ptr = AllocatePool (Size);
|
||||
|
||||
if (Ptr == NULL) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
//
|
||||
|
@@ -319,7 +319,6 @@ Returns:
|
||||
UINT64 *Data64Ptr;
|
||||
UINT32 ThunkSize;
|
||||
UINT32 Size;
|
||||
EFI_STATUS Status;
|
||||
|
||||
//
|
||||
// Check alignment of pointer to EBC code, which must always be aligned
|
||||
@@ -335,12 +334,9 @@ Returns:
|
||||
//
|
||||
Size = EBC_THUNK_SIZE + EBC_THUNK_ALIGNMENT - 1;
|
||||
ThunkSize = Size;
|
||||
Status = gBS->AllocatePool (
|
||||
EfiBootServicesData,
|
||||
Size,
|
||||
(VOID *) &Ptr
|
||||
);
|
||||
if (Status != EFI_SUCCESS) {
|
||||
Ptr = AllocatePool (Size);
|
||||
|
||||
if (Ptr == NULL) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
//
|
||||
@@ -872,6 +868,6 @@ Returns:
|
||||
Source = (VOID *) EbcSp;
|
||||
Destination = (VOID *) ((UINT8 *) EbcSp - FrameSize - CPU_STACK_ALIGNMENT);
|
||||
Destination = (VOID *) ((UINTN) ((UINTN) Destination + CPU_STACK_ALIGNMENT - 1) &~((UINTN) CPU_STACK_ALIGNMENT - 1));
|
||||
gBS->CopyMem (Destination, Source, FrameSize);
|
||||
CopyMem (Destination, Source, FrameSize);
|
||||
EbcAsmLLCALLEX ((UINTN) CallAddr, (UINTN) Destination);
|
||||
}
|
||||
|
@@ -331,7 +331,6 @@ Returns:
|
||||
UINT64 Addr;
|
||||
INT32 Size;
|
||||
INT32 ThunkSize;
|
||||
EFI_STATUS Status;
|
||||
|
||||
//
|
||||
// Check alignment of pointer to EBC code
|
||||
@@ -343,12 +342,9 @@ Returns:
|
||||
Size = EBC_THUNK_SIZE;
|
||||
ThunkSize = Size;
|
||||
|
||||
Status = gBS->AllocatePool (
|
||||
EfiBootServicesData,
|
||||
Size,
|
||||
(VOID *) &Ptr
|
||||
);
|
||||
if (Status != EFI_SUCCESS) {
|
||||
Ptr = AllocatePool (Size);
|
||||
|
||||
if (Ptr == NULL) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
//
|
||||
|
Reference in New Issue
Block a user