From 2ce311322c72857f73138c45358e722607a1e80c Mon Sep 17 00:00:00 2001 From: ajfish Date: Wed, 26 Jul 2006 15:23:35 +0000 Subject: Removed cross references from PciCf8Lib and PciExpressLib class to PciLib class. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added PeCoffLoaderGetMachineType to the PeCoffGetEntryPointLibrary Class. Document to be updated. Added the PeCoffLoaderImageReadFromMemory() and PeCoffLoaderRelocateImageForRuntime () to the PcCoffLib. Updated EfiImage.h and removed EFI_IMAGE_OPTIONAL_HEADER and EFI_IMAGE_NT_HEADERS as they were replaced with checking the MachineType. PeCoffLib – Added checks for MachineType so the PeCoff lib can load any PE32 or PE32+ image. The relocations are still limited to IA32, X64, IPF, and EBC. I also added a re-relocator function to remove PeLoader Code from Runtime Lib. Even though there is only one instance of the re-relocator I wanted to get all the PeCoff loader code together. Replaced DEBUG_CODE() macro with DEBUG_CODE_START() and DEBUG_CODE_END() so you can debug through the DEBUG_CODE() macros. Also removed PE/COFF code and replaced with library usage. I also updated the IO Instrinsic lib to use _ReadWriteBarrior() to help with sync problems git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1103 6f19259b-4bc3-4df7-8a09-765794883524 --- MdePkg/Library/BasePciCf8Lib/PciLib.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'MdePkg/Library/BasePciCf8Lib') diff --git a/MdePkg/Library/BasePciCf8Lib/PciLib.c b/MdePkg/Library/BasePciCf8Lib/PciLib.c index cbbd407ead..272d641ff3 100644 --- a/MdePkg/Library/BasePciCf8Lib/PciLib.c +++ b/MdePkg/Library/BasePciCf8Lib/PciLib.c @@ -1315,7 +1315,7 @@ PciCf8ReadBuffer ( // // Read a byte if StartAddress is byte aligned // - *(UINT8*)Buffer = PciCf8Read8 (StartAddress); + *(volatile UINT8 *)Buffer = PciCf8Read8 (StartAddress); StartAddress += sizeof (UINT8); Size -= sizeof (UINT8); Buffer = (UINT8*)Buffer + 1; @@ -1325,7 +1325,7 @@ PciCf8ReadBuffer ( // // Read a word if StartAddress is word aligned // - *(UINT16*)Buffer = PciCf8Read16 (StartAddress); + *(volatile UINT16 *)Buffer = PciCf8Read16 (StartAddress); StartAddress += sizeof (UINT16); Size -= sizeof (UINT16); Buffer = (UINT16*)Buffer + 1; @@ -1335,7 +1335,7 @@ PciCf8ReadBuffer ( // // Read as many double words as possible // - *(UINT32*)Buffer = PciCf8Read32 (StartAddress); + *(volatile UINT32 *)Buffer = PciCf8Read32 (StartAddress); StartAddress += sizeof (UINT32); Size -= sizeof (UINT32); Buffer = (UINT32*)Buffer + 1; @@ -1345,7 +1345,7 @@ PciCf8ReadBuffer ( // // Read the last remaining word if exist // - *(UINT16*)Buffer = PciCf8Read16 (StartAddress); + *(volatile UINT16 *)Buffer = PciCf8Read16 (StartAddress); StartAddress += sizeof (UINT16); Size -= sizeof (UINT16); Buffer = (UINT16*)Buffer + 1; @@ -1355,7 +1355,7 @@ PciCf8ReadBuffer ( // // Read the last remaining byte if exist // - *(UINT8*)Buffer = PciCf8Read8 (StartAddress); + *(volatile UINT8 *)Buffer = PciCf8Read8 (StartAddress); } return ReturnValue; -- cgit v1.2.3