InOsEmuPkg: Make build dir different for IA-32. Fix PCD XIP issues.

Signed-off-by andrewfish



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11851 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
andrewfish
2011-06-18 22:23:46 +00:00
parent 417a8020ab
commit e7523e0619
5 changed files with 25 additions and 21 deletions

View File

@@ -65,7 +65,7 @@
gInOsEmuPkgTokenSpaceGuid.PcdEmuApCount|L"0"|VOID*|0x00001019 gInOsEmuPkgTokenSpaceGuid.PcdEmuApCount|L"0"|VOID*|0x00001019
## Magic page to implement PEI Services Table Pointer Lib ## Magic page to implement PEI Services Table Pointer Lib
gInOsEmuPkgTokenSpaceGuid.PcdPeiServicesTablePage|0x1000000000|UINT64|0x0000101b gInOsEmuPkgTokenSpaceGuid.PcdPeiServicesTablePage|0x1003000000|UINT64|0x0000101b
## Size of the packet filter ## Size of the packet filter
gInOsEmuPkgTokenSpaceGuid.PcdNetworkPacketFilterSize|524288|UINT32|0x0000101c gInOsEmuPkgTokenSpaceGuid.PcdNetworkPacketFilterSize|524288|UINT32|0x0000101c

View File

@@ -670,19 +670,19 @@ SecPeCoffGetEntryPoint (
} }
if (ImageContext.ImageAddress != (UINTN)Pe32Data) { if (ImageContext.ImageAddress != (UINTN)Pe32Data) {
// //
// Relocate image to match the address where it resides // Relocate image to match the address where it resides
// //
ImageContext.ImageAddress = (UINTN)Pe32Data; ImageContext.ImageAddress = (UINTN)Pe32Data;
Status = PeCoffLoaderLoadImage (&ImageContext); Status = PeCoffLoaderLoadImage (&ImageContext);
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
return Status; return Status;
} }
Status = PeCoffLoaderRelocateImage (&ImageContext); Status = PeCoffLoaderRelocateImage (&ImageContext);
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
return Status; return Status;
} }
} else { } else {
// //
// Or just return image entry point // Or just return image entry point

View File

@@ -27,7 +27,12 @@
PLATFORM_GUID = 05FD064D-1073-E844-936C-A0E16317107D PLATFORM_GUID = 05FD064D-1073-E844-936C-A0E16317107D
PLATFORM_VERSION = 0.3 PLATFORM_VERSION = 0.3
DSC_ SPECIFICATION = 0x00010005 DSC_ SPECIFICATION = 0x00010005
!if $(BUILD_32)
OUTPUT_DIRECTORY = Build/EmuUnixIa32
!else
OUTPUT_DIRECTORY = Build/EmuUnixX64 OUTPUT_DIRECTORY = Build/EmuUnixX64
!endif
SUPPORTED_ARCHITECTURES = X64|IA32 SUPPORTED_ARCHITECTURES = X64|IA32
BUILD_TARGETS = DEBUG|RELEASE BUILD_TARGETS = DEBUG|RELEASE
SKUID_IDENTIFIER = DEFAULT SKUID_IDENTIFIER = DEFAULT

View File

@@ -152,13 +152,13 @@
showTypeColumn = 0; showTypeColumn = 0;
sourceDirectories = ( sourceDirectories = (
); );
startupPath = ../../../../Build/EmuUnixX64/DEBUG_XCLANG/IA32; startupPath = ../../../../Build/EmuUnixIa32/DEBUG_XCLANG/IA32;
}; };
BA11A1020FB10BCE00D06FEC /* SecMain.dll */ = { BA11A1020FB10BCE00D06FEC /* SecMain.dll */ = {
isa = PBXFileReference; isa = PBXFileReference;
lastKnownFileType = "compiled.mach-o.executable"; lastKnownFileType = "compiled.mach-o.executable";
name = SecMain.dll; name = SecMain.dll;
path = ../../../../Build/EmuUnixX64/DEBUG_XCLANG/IA32/SecMain; path = ../../../../Build/EmuUnixIa32/DEBUG_XCLANG/IA32/SecMain;
sourceTree = SOURCE_ROOT; sourceTree = SOURCE_ROOT;
}; };
BA11A11A0FB10E0700D06FEC /* SecGdbScriptBreak */ = { BA11A11A0FB10E0700D06FEC /* SecGdbScriptBreak */ = {

View File

@@ -57,7 +57,6 @@ case `uname` in
TARGET_TOOLS=XCODE32 TARGET_TOOLS=XCODE32
UNIXPKG_TOOLS=XCLANG UNIXPKG_TOOLS=XCLANG
fi fi
# NETWORK_SUPPORT="-D NETWORK_SUPPORT"
BUILD_NEW_SHELL="-D BUILD_NEW_SHELL" BUILD_NEW_SHELL="-D BUILD_NEW_SHELL"
BUILD_FAT="-D BUILD_FAT" BUILD_FAT="-D BUILD_FAT"
;; ;;
@@ -65,7 +64,7 @@ case `uname` in
esac esac
BUILD_ROOT_ARCH=$WORKSPACE/Build/EmuUnixX64/DEBUG_"$UNIXPKG_TOOLS"/IA32 BUILD_ROOT_ARCH=$WORKSPACE/Build/EmuUnixIa32/DEBUG_"$UNIXPKG_TOOLS"/IA32
if [[ ! -f `which build` || ! -f `which GenFv` ]]; if [[ ! -f `which build` || ! -f `which GenFv` ]];
then then
@@ -92,7 +91,7 @@ do
# This .gdbinit script sets a breakpoint that loads symbols for the PE/COFFEE # This .gdbinit script sets a breakpoint that loads symbols for the PE/COFFEE
# images that get loaded in SecMain # images that get loaded in SecMain
# #
cp $WORKSPACE/InOsEmuPkg/Unix/.gdbinit $WORKSPACE/Build/EmuUnixX64/DEBUG_"$UNIXPKG_TOOLS"/IA32 cp $WORKSPACE/InOsEmuPkg/Unix/.gdbinit $WORKSPACE/Build/EmuUnixIa32/DEBUG_"$UNIXPKG_TOOLS"/IA32
;; ;;
esac esac
@@ -122,8 +121,8 @@ done
# #
echo $PATH echo $PATH
echo `which build` echo `which build`
build -p $WORKSPACE/InOsEmuPkg/Unix/UnixX64.dsc -a IA32 -t $TARGET_TOOLS -D SEC_ONLY -n 3 $1 $2 $3 $4 $5 $6 $7 $8 modules build -p $WORKSPACE/InOsEmuPkg/Unix/UnixX64.dsc -a IA32 -t $TARGET_TOOLS -D SEC_ONLY -D BUILD_32 -n 3 $1 $2 $3 $4 $5 $6 $7 $8 modules
build -p $WORKSPACE/InOsEmuPkg/Unix/UnixX64.dsc -a IA32 -t $UNIXPKG_TOOLS $NETWORK_SUPPORT $BUILD_NEW_SHELL $BUILD_FAT -n 3 $1 $2 $3 $4 $5 $6 $7 $8 build -p $WORKSPACE/InOsEmuPkg/Unix/UnixX64.dsc -a IA32 -t $UNIXPKG_TOOLS -D BUILD_32 $NETWORK_SUPPORT $BUILD_NEW_SHELL $BUILD_FAT -n 3 $1 $2 $3 $4 $5 $6 $7 $8
cp $WORKSPACE/Build/EmuUnixX64/DEBUG_"$TARGET_TOOLS"/IA32/SecMain $WORKSPACE/Build/EmuUnixX64/DEBUG_"$UNIXPKG_TOOLS"/IA32 cp $WORKSPACE/Build/EmuUnixIa32/DEBUG_"$TARGET_TOOLS"/IA32/SecMain $WORKSPACE/Build/EmuUnixIa32/DEBUG_"$UNIXPKG_TOOLS"/IA32
exit $? exit $?