From 288ed5907950a0231f214ef33d6a4b0b262f88d5 Mon Sep 17 00:00:00 2001 From: Jordan Justen Date: Thu, 2 Jul 2015 07:23:33 +0000 Subject: Revert tree to r17801 Revert r17802 "BaseTools: AArch64: use explicit linker scripts" Revert r17803 "ArmVirtPkg: build runtime drivers with 64 KB section alignment" Revert r17804 "IntelFrameworkModulePkg: AcpiS3SaveDxe: prepare for End-of-Dxe callback" Revert r17805 "IntelFrameworkModulePkg: AcpiS3SaveDxe: call S3Ready() at End-of-Dxe" Revert r17806 "OvmfPkg: AcpiS3SaveDxe: prepare for End-of-Dxe callback" Requested-by: Ard Biesheuvel Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17807 6f19259b-4bc3-4df7-8a09-765794883524 --- ArmVirtPkg/ArmVirt.dsc.inc | 3 -- BaseTools/Conf/tools_def.template | 23 +++++----- BaseTools/Scripts/gcc-aarch64-64K-align-ld-script | 4 -- BaseTools/Scripts/gcc-aarch64-ld-script | 39 ----------------- .../Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c | 51 ---------------------- .../Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf | 1 - OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c | 5 --- 7 files changed, 10 insertions(+), 116 deletions(-) delete mode 100644 BaseTools/Scripts/gcc-aarch64-64K-align-ld-script delete mode 100644 BaseTools/Scripts/gcc-aarch64-ld-script diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc index 8893dfa74c..7ec0de4344 100644 --- a/ArmVirtPkg/ArmVirt.dsc.inc +++ b/ArmVirtPkg/ArmVirt.dsc.inc @@ -16,9 +16,6 @@ [Defines] DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x8000004F -[BuildOptions.AARCH64.EDKII.DXE_RUNTIME_DRIVER] - *_*_AARCH64_DLINK_FLAGS = --script=$(EDK_TOOLS_PATH)/Scripts/gcc-aarch64-64K-align-ld-script - [LibraryClasses.common] !if $(TARGET) == RELEASE DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index 7edd759095..88ec2e138d 100644 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -3821,12 +3821,9 @@ DEFINE GCC_ARM_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mword-relocations -m DEFINE GCC_AARCH64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mcmodel=large -mlittle-endian -fno-short-enums -save-temps -fverbose-asm -fsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -fno-builtin -Wno-address DEFINE GCC_DLINK_FLAGS_COMMON = -nostdlib --pie DEFINE GCC_IA32_X64_DLINK_COMMON = DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections -DEFINE GCC_ARM_AARCH64_DLINK_COMMON= --emit-relocs -nostdlib --gc-sections -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map -DEFINE GCC_ARM_DLINK_FLAGS = DEF(GCC_ARM_AARCH64_DLINK_COMMON) -Ttext=0x0 -DEFINE GCC_AARCH64_DLINK_FLAGS = DEF(GCC_ARM_AARCH64_DLINK_COMMON) --script=$(EDK_TOOLS_PATH)/Scripts/gcc-aarch64-ld-script +DEFINE GCC_ARM_AARCH64_DLINK_COMMON= -Ttext=0x0 --emit-relocs -nostdlib --gc-sections -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map DEFINE GCC_IA32_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) -DEFINE GCC_ARM_ASLDLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS) --entry ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) -DEFINE GCC_AARCH64_ASLDLINK_FLAGS = DEF(GCC_AARCH64_DLINK_FLAGS) --entry ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) +DEFINE GCC_ARM_AARCH64_ASLDLINK_FLAGS = DEF(GCC_ARM_AARCH64_DLINK_COMMON) --entry ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEFINE GCC_IA32_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map DEFINE GCC_IPF_DLINK_FLAGS = -nostdlib -O2 --gc-sections --dll -static --entry $(IMAGE_ENTRY_POINT) --undefined $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map DEFINE GCC_IPF_OBJCOPY_FLAGS = -I elf64-ia64-little -O efi-bsdrv-ia64 @@ -3869,8 +3866,8 @@ DEFINE GCC46_X64_DLINK_FLAGS = DEF(GCC45_X64_DLINK_FLAGS) DEFINE GCC46_ASM_FLAGS = DEF(GCC45_ASM_FLAGS) DEFINE GCC46_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian DEFINE GCC46_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC44_ALL_CC_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector -DEFINE GCC46_ARM_DLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS) --oformat=elf32-littlearm -DEFINE GCC46_ARM_ASLDLINK_FLAGS = DEF(GCC_ARM_ASLDLINK_FLAGS) --oformat=elf32-littlearm +DEFINE GCC46_ARM_DLINK_FLAGS = DEF(GCC_ARM_AARCH64_DLINK_COMMON) --oformat=elf32-littlearm +DEFINE GCC46_ARM_ASLDLINK_FLAGS = DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS) --oformat=elf32-littlearm DEFINE GCC47_IA32_CC_FLAGS = DEF(GCC46_IA32_CC_FLAGS) DEFINE GCC47_X64_CC_FLAGS = DEF(GCC46_X64_CC_FLAGS) @@ -3884,9 +3881,9 @@ DEFINE GCC47_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GC DEFINE GCC47_ARM_CC_FLAGS = DEF(GCC46_ARM_CC_FLAGS) -mno-unaligned-access DEFINE GCC47_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC44_ALL_CC_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) DEFINE GCC47_ARM_DLINK_FLAGS = DEF(GCC46_ARM_DLINK_FLAGS) -DEFINE GCC47_AARCH64_DLINK_FLAGS = DEF(GCC_AARCH64_DLINK_FLAGS) +DEFINE GCC47_AARCH64_DLINK_FLAGS = DEF(GCC_ARM_AARCH64_DLINK_COMMON) DEFINE GCC47_ARM_ASLDLINK_FLAGS = DEF(GCC46_ARM_ASLDLINK_FLAGS) -DEFINE GCC47_AARCH64_ASLDLINK_FLAGS = DEF(GCC_AARCH64_ASLDLINK_FLAGS) +DEFINE GCC47_AARCH64_ASLDLINK_FLAGS = DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS) DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC47_IA32_CC_FLAGS) DEFINE GCC48_X64_CC_FLAGS = DEF(GCC47_X64_CC_FLAGS) @@ -3900,9 +3897,9 @@ DEFINE GCC48_AARCH64_ASM_FLAGS = DEF(GCC47_AARCH64_ASM_FLAGS) DEFINE GCC48_ARM_CC_FLAGS = DEF(GCC47_ARM_CC_FLAGS) DEFINE GCC48_AARCH64_CC_FLAGS = DEF(GCC47_AARCH64_CC_FLAGS) DEFINE GCC48_ARM_DLINK_FLAGS = DEF(GCC47_ARM_DLINK_FLAGS) -DEFINE GCC48_AARCH64_DLINK_FLAGS = DEF(GCC47_AARCH64_DLINK_FLAGS) +DEFINE GCC48_AARCH64_DLINK_FLAGS = DEF(GCC_ARM_AARCH64_DLINK_COMMON) DEFINE GCC48_ARM_ASLDLINK_FLAGS = DEF(GCC47_ARM_ASLDLINK_FLAGS) -DEFINE GCC48_AARCH64_ASLDLINK_FLAGS = DEF(GCC47_AARCH64_ASLDLINK_FLAGS) +DEFINE GCC48_AARCH64_ASLDLINK_FLAGS = DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS) DEFINE GCC49_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) DEFINE GCC49_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) @@ -3916,9 +3913,9 @@ DEFINE GCC49_AARCH64_ASM_FLAGS = DEF(GCC48_AARCH64_ASM_FLAGS) DEFINE GCC49_ARM_CC_FLAGS = DEF(GCC48_ARM_CC_FLAGS) DEFINE GCC49_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) DEFINE GCC49_ARM_DLINK_FLAGS = DEF(GCC48_ARM_DLINK_FLAGS) -DEFINE GCC49_AARCH64_DLINK_FLAGS = DEF(GCC48_AARCH64_DLINK_FLAGS) +DEFINE GCC49_AARCH64_DLINK_FLAGS = DEF(GCC_ARM_AARCH64_DLINK_COMMON) DEFINE GCC49_ARM_ASLDLINK_FLAGS = DEF(GCC48_ARM_ASLDLINK_FLAGS) -DEFINE GCC49_AARCH64_ASLDLINK_FLAGS = DEF(GCC48_AARCH64_ASLDLINK_FLAGS) +DEFINE GCC49_AARCH64_ASLDLINK_FLAGS = DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS) #################################################################################### # diff --git a/BaseTools/Scripts/gcc-aarch64-64K-align-ld-script b/BaseTools/Scripts/gcc-aarch64-64K-align-ld-script deleted file mode 100644 index 8aa4c5f08c..0000000000 --- a/BaseTools/Scripts/gcc-aarch64-64K-align-ld-script +++ /dev/null @@ -1,4 +0,0 @@ -SECTIONS { - .text : ALIGN(0x10000) { } - .data : ALIGN(0x10000) { } -} diff --git a/BaseTools/Scripts/gcc-aarch64-ld-script b/BaseTools/Scripts/gcc-aarch64-ld-script deleted file mode 100644 index 29095c268e..0000000000 --- a/BaseTools/Scripts/gcc-aarch64-ld-script +++ /dev/null @@ -1,39 +0,0 @@ -SECTIONS { - /* - * Put the .text section at 0x0 explicitly. While we know it will minimally - * end up at 0x280, (the size of the PE/COFF headers being 0x250 bytes and the - * minimum alignment 0x40), choosing 0x280 as the offset causes problems when - * linking objects with a greater .text alignment, since the section's base - * must adhere to its own alignment. - * Using 0x0 will result in the PE/COFF binary's memory layout to be shifted - * with respect to the ELF version, but this shouldn't be a problem as long as - * the .data's offset relative to .text is kept the same. - */ - .text 0x0 : ALIGN(0x40) { - *(.text .text.* .rodata .rodata.*) - } - - /* - * The alignment of the .data section needs to be less than or equal to the - * alignment of the .text section. This ensures that the relative offset - * between these sections is the same in the ELF and the PE/COFF version of - * this binary. - */ - .data : ALIGN(0x40) { - *(.data .data.*) - *(.bss .bss.* *COM*) - } - .rela ALIGN(0x20) : { - *(.rela .rela.*) - } - - /DISCARD/ : { - *(.note.GNU-stack) - *(.interp) - *(.dynsym) - *(.dynstr) - *(.dynamic) - *(.hash) - *(.comment) - } -} diff --git a/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c b/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c index e0fa866535..6de1871f67 100644 --- a/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c +++ b/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c @@ -2,7 +2,6 @@ This is an implementation of the ACPI S3 Save protocol. This is defined in S3 boot path specification 0.9. -Copyright (c) 2015, Red Hat, Inc.
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
This program and the accompanying materials @@ -28,7 +27,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include #include #include -#include #include #include @@ -424,8 +422,6 @@ LegacyGetS3MemorySize ( OUT UINTN *Size ) { - ASSERT (FALSE); - if (Size == NULL) { return EFI_INVALID_PARAMETER; } @@ -473,8 +469,6 @@ S3Ready ( } AlreadyEntered = TRUE; - ASSERT (LegacyMemoryAddress == NULL); - AcpiS3Context = AllocateMemoryBelow4G (EfiReservedMemoryType, sizeof(*AcpiS3Context)); ASSERT (AcpiS3Context != NULL); AcpiS3ContextBuffer = (EFI_PHYSICAL_ADDRESS)(UINTN)AcpiS3Context; @@ -550,40 +544,6 @@ S3Ready ( return EFI_SUCCESS; } -/** - Callback function executed when the EndOfDxe event group is signaled. - - @param[in] Event Event whose notification function is being invoked. - @param[in] Context The pointer to the notification function's context, which - is implementation-dependent. -**/ -VOID -EFIAPI -OnEndOfDxe ( - IN EFI_EVENT Event, - IN VOID *Context - ) -{ - EFI_STATUS Status; - - // - // Our S3Ready() function ignores both of its parameters, and always - // succeeds. - // - Status = S3Ready ( - NULL, // This - NULL // LegacyMemoryAddress - ); - ASSERT_EFI_ERROR (Status); - - // - // Close the event, deregistering the callback and freeing resources. - // - Status = gBS->CloseEvent (Event); - ASSERT_EFI_ERROR (Status); -} - - /** The Driver Entry Point. @@ -605,7 +565,6 @@ InstallAcpiS3Save ( ) { EFI_STATUS Status; - EFI_EVENT EndOfDxeEvent; if (!FeaturePcdGet(PcdPlatformCsmSupport)) { // @@ -627,15 +586,5 @@ InstallAcpiS3Save ( &mS3Save ); ASSERT_EFI_ERROR (Status); - - Status = gBS->CreateEventEx ( - EVT_NOTIFY_SIGNAL, - TPL_CALLBACK, - OnEndOfDxe, - NULL, /* NotifyContext */ - &gEfiEndOfDxeEventGroupGuid, - &EndOfDxeEvent - ); - ASSERT_EFI_ERROR (Status); return Status; } diff --git a/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf b/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf index e5fb92e4c5..c5dec0546a 100644 --- a/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf +++ b/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf @@ -60,7 +60,6 @@ ## SOMETIMES_CONSUMES ## Variable:L"AcpiGlobalVariable" ## SOMETIMES_PRODUCES ## Variable:L"AcpiGlobalVariable" gEfiAcpiVariableCompatiblityGuid - gEfiEndOfDxeEventGroupGuid ## CONSUMES ## Event [Protocols] gEfiAcpiS3SaveProtocolGuid ## PRODUCES diff --git a/OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c b/OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c index f05764af8b..f322981b53 100644 --- a/OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c +++ b/OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c @@ -2,7 +2,6 @@ This is an implementation of the ACPI S3 Save protocol. This is defined in S3 boot path specification 0.9. -Copyright (c) 2014-2015, Red Hat, Inc.
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.
This program and the accompanying materials @@ -403,8 +402,6 @@ LegacyGetS3MemorySize ( OUT UINTN *Size ) { - ASSERT (FALSE); - if (Size == NULL) { return EFI_INVALID_PARAMETER; } @@ -494,8 +491,6 @@ S3Ready ( } AlreadyEntered = TRUE; - ASSERT (LegacyMemoryAddress == NULL); - AcpiS3Context = AllocateMemoryBelow4G (EfiReservedMemoryType, sizeof(*AcpiS3Context)); ASSERT (AcpiS3Context != NULL); AcpiS3ContextBuffer = (EFI_PHYSICAL_ADDRESS)(UINTN)AcpiS3Context; -- cgit v1.2.3