mirror of https://github.com/acidanthera/audk.git
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:
parent
8f6b43f235
commit
6626ad113e
|
@ -7,7 +7,7 @@
|
|||
<Version>1.0</Version>
|
||||
<Abstract>Component description file for DiskIo module.</Abstract>
|
||||
<Description>DiskIo driver that layers it's self on every Block IO protocol in the system.</Description>
|
||||
<Copyright>Copyright (c) 2006, Intel Corporation</Copyright>
|
||||
<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
|
||||
|
@ -22,8 +22,9 @@
|
|||
<OutputFileBasename>DiskIo</OutputFileBasename>
|
||||
</ModuleDefinitions>
|
||||
<LibraryClassDefinitions>
|
||||
<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>UefiDriverModelLib</Keyword>
|
||||
|
|
|
@ -171,7 +171,7 @@ ErrorExit:
|
|||
if (EFI_ERROR (Status)) {
|
||||
|
||||
if (Private != NULL) {
|
||||
gBS->FreePool (Private);
|
||||
FreePool (Private);
|
||||
}
|
||||
|
||||
gBS->CloseProtocol (
|
||||
|
@ -249,7 +249,7 @@ DiskIoDriverBindingStop (
|
|||
}
|
||||
|
||||
if (!EFI_ERROR (Status)) {
|
||||
gBS->FreePool (Private);
|
||||
FreePool (Private);
|
||||
}
|
||||
|
||||
return Status;
|
||||
|
@ -474,7 +474,7 @@ DiskIoReadDisk (
|
|||
|
||||
Done:
|
||||
if (PreData != NULL) {
|
||||
gBS->FreePool (PreData);
|
||||
FreePool (PreData);
|
||||
}
|
||||
|
||||
return Status;
|
||||
|
@ -722,7 +722,7 @@ DiskIoWriteDisk (
|
|||
|
||||
Done:
|
||||
if (PreData != NULL) {
|
||||
gBS->FreePool (PreData);
|
||||
FreePool (PreData);
|
||||
}
|
||||
|
||||
return Status;
|
||||
|
|
|
@ -279,7 +279,7 @@ Returns:
|
|||
}
|
||||
}
|
||||
|
||||
gBS->FreePool (VolDescriptor);
|
||||
FreePool (VolDescriptor);
|
||||
|
||||
return Found;
|
||||
}
|
||||
|
|
|
@ -310,19 +310,19 @@ Returns:
|
|||
|
||||
Done:
|
||||
if (ProtectiveMbr != NULL) {
|
||||
gBS->FreePool (ProtectiveMbr);
|
||||
FreePool (ProtectiveMbr);
|
||||
}
|
||||
if (PrimaryHeader != NULL) {
|
||||
gBS->FreePool (PrimaryHeader);
|
||||
FreePool (PrimaryHeader);
|
||||
}
|
||||
if (BackupHeader != NULL) {
|
||||
gBS->FreePool (BackupHeader);
|
||||
FreePool (BackupHeader);
|
||||
}
|
||||
if (PartEntry != NULL) {
|
||||
gBS->FreePool (PartEntry);
|
||||
FreePool (PartEntry);
|
||||
}
|
||||
if (PEntryStatus != NULL) {
|
||||
gBS->FreePool (PEntryStatus);
|
||||
FreePool (PEntryStatus);
|
||||
}
|
||||
|
||||
return GptValid;
|
||||
|
@ -376,7 +376,7 @@ Returns:
|
|||
PartHdr
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
gBS->FreePool (PartHdr);
|
||||
FreePool (PartHdr);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -385,18 +385,18 @@ Returns:
|
|||
PartHdr->MyLBA != Lba
|
||||
) {
|
||||
DEBUG ((EFI_D_INFO, " !Valid efi partition table header\n"));
|
||||
gBS->FreePool (PartHdr);
|
||||
FreePool (PartHdr);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
CopyMem (PartHeader, PartHdr, sizeof (EFI_PARTITION_TABLE_HEADER));
|
||||
if (!PartitionCheckGptEntryArrayCRC (BlockIo, DiskIo, PartHeader)) {
|
||||
gBS->FreePool (PartHdr);
|
||||
FreePool (PartHdr);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
DEBUG ((EFI_D_INFO, " Valid efi partition table header\n"));
|
||||
gBS->FreePool (PartHdr);
|
||||
FreePool (PartHdr);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@ -449,7 +449,7 @@ Returns:
|
|||
Ptr
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
gBS->FreePool (Ptr);
|
||||
FreePool (Ptr);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -458,11 +458,11 @@ Returns:
|
|||
Status = gBS->CalculateCrc32 (Ptr, Size, &Crc);
|
||||
if (EFI_ERROR (Status)) {
|
||||
DEBUG ((EFI_D_ERROR, "CheckPEntryArrayCRC: Crc calculation failed\n"));
|
||||
gBS->FreePool (Ptr);
|
||||
FreePool (Ptr);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
gBS->FreePool (Ptr);
|
||||
FreePool (Ptr);
|
||||
|
||||
return (BOOLEAN) (PartHeader->PartitionEntryArrayCRC32 == Crc);
|
||||
}
|
||||
|
@ -555,8 +555,8 @@ Returns:
|
|||
);
|
||||
|
||||
Done:
|
||||
gBS->FreePool (PartHdr);
|
||||
gBS->FreePool (Ptr);
|
||||
FreePool (PartHdr);
|
||||
FreePool (Ptr);
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
return FALSE;
|
||||
|
|
|
@ -184,7 +184,7 @@ Returns:
|
|||
if (DevicePathType (LastDevicePathNode) == MEDIA_DEVICE_PATH &&
|
||||
DevicePathSubType (LastDevicePathNode) == MEDIA_HARDDRIVE_DP
|
||||
) {
|
||||
gBS->CopyMem (&ParentHdDev, LastDevicePathNode, sizeof (ParentHdDev));
|
||||
CopyMem (&ParentHdDev, LastDevicePathNode, sizeof (ParentHdDev));
|
||||
} else {
|
||||
LastDevicePathNode = NULL;
|
||||
}
|
||||
|
@ -319,7 +319,7 @@ Returns:
|
|||
}
|
||||
|
||||
Done:
|
||||
gBS->FreePool (Mbr);
|
||||
FreePool (Mbr);
|
||||
|
||||
return Found;
|
||||
}
|
||||
|
|
|
@ -384,8 +384,8 @@ PartitionDriverBindingStop (
|
|||
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER
|
||||
);
|
||||
} else {
|
||||
gBS->FreePool (Private->DevicePath);
|
||||
gBS->FreePool (Private);
|
||||
FreePool (Private->DevicePath);
|
||||
FreePool (Private);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -653,7 +653,7 @@ Returns:
|
|||
Private->DevicePath = AppendDevicePathNode (ParentDevicePath, DevicePathNode);
|
||||
|
||||
if (Private->DevicePath == NULL) {
|
||||
gBS->FreePool (Private);
|
||||
FreePool (Private);
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
|
@ -693,8 +693,8 @@ Returns:
|
|||
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER
|
||||
);
|
||||
} else {
|
||||
gBS->FreePool (Private->DevicePath);
|
||||
gBS->FreePool (Private);
|
||||
FreePool (Private->DevicePath);
|
||||
FreePool (Private);
|
||||
}
|
||||
|
||||
return Status;
|
||||
|
|
|
@ -6,8 +6,11 @@
|
|||
<GuidValue>1FA1F39E-FEFF-4aae-BD7B-38A070A3B609</GuidValue>
|
||||
<Version>1.0</Version>
|
||||
<Abstract>Component description file for Partition module.</Abstract>
|
||||
<Description>Partition driver that produces logical BlockIo devices from a physical BlockIo device.</Description>
|
||||
<Copyright>Copyright (c) 2006, Intel Corporation</Copyright>
|
||||
<Description>Partition driver produces the logical BlockIo device
|
||||
that represents the bytes Start to End of the Parent Block IO
|
||||
device (one partition of physical BlockIo device,
|
||||
which can be one of GPT, MBR, ElTorito partition).</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
|
||||
|
@ -22,8 +25,9 @@
|
|||
<OutputFileBasename>Partition</OutputFileBasename>
|
||||
</ModuleDefinitions>
|
||||
<LibraryClassDefinitions>
|
||||
<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>UefiDriverModelLib</Keyword>
|
||||
|
@ -71,12 +75,18 @@
|
|||
<Protocol Usage="TO_START">
|
||||
<ProtocolCName>gEfiDevicePathProtocolGuid</ProtocolCName>
|
||||
</Protocol>
|
||||
<Protocol Usage="BY_START">
|
||||
<ProtocolCName>gEfiDevicePathProtocolGuid</ProtocolCName>
|
||||
</Protocol>
|
||||
<Protocol Usage="BY_START">
|
||||
<ProtocolCName>gEfiBlockIoProtocolGuid</ProtocolCName>
|
||||
</Protocol>
|
||||
</Protocols>
|
||||
<Guids>
|
||||
<GuidCNames Usage="SOMETIMES_CONSUMED">
|
||||
<GuidCName>gEfiPartTypeSystemPartGuid</GuidCName>
|
||||
</GuidCNames>
|
||||
<GuidCNames Usage="ALWAYS_CONSUMED">
|
||||
<GuidCNames Usage="SOMETIMES_CONSUMED">
|
||||
<GuidCName>gEfiPartTypeUnusedGuid</GuidCName>
|
||||
</GuidCNames>
|
||||
</Guids>
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
<GuidValue>CD3BAFB6-50FB-4fe8-8E4E-AB74D2C1A600</GuidValue>
|
||||
<Version>1.0</Version>
|
||||
<Abstract>Component description file for English module for unicode collation.</Abstract>
|
||||
<Description>This driver installs EFI_UNICODE_COLLATION_PROTOCOL protocol to provide Unicode strings function.</Description>
|
||||
<Copyright>Copyright (c) 2006, Intel Corporation</Copyright>
|
||||
<Description>This driver installs UEFI EFI_UNICODE_COLLATION_PROTOCOL protocol to provide Unicode strings function.</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
|
||||
|
@ -22,8 +22,9 @@
|
|||
<OutputFileBasename>English</OutputFileBasename>
|
||||
</ModuleDefinitions>
|
||||
<LibraryClassDefinitions>
|
||||
<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>
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
//
|
||||
|
|
Loading…
Reference in New Issue