Reviewed-by: Star Zeng <star.z...@intel.com> -----Original Message----- From: Wang, Jian J Sent: Monday, February 18, 2019 10:16 PM To: Zhang, Shenglei <shenglei.zh...@intel.com>; edk2-devel@lists.01.org Cc: Wu, Hao A <hao.a...@intel.com>; Ni, Ray <ray...@intel.com>; Zeng, Star <star.z...@intel.com> Subject: RE: [PATCH] MdeModulePkg/PropertiesTableAttributesDxe: Remove this driver
Reviewed-by: Jian J Wang <jian.j.w...@intel.com> > -----Original Message----- > From: Zhang, Shenglei > Sent: Monday, February 18, 2019 4:53 PM > To: edk2-devel@lists.01.org > Cc: Wang, Jian J <jian.j.w...@intel.com>; Wu, Hao A > <hao.a...@intel.com>; Ni, Ray <ray...@intel.com>; Zeng, Star > <star.z...@intel.com> > Subject: [PATCH] MdeModulePkg/PropertiesTableAttributesDxe: Remove > this driver > > This functionality of this driver has been deprecated and no platform > employs this driver. It can be removed completely. > https://bugzilla.tianocore.org/show_bug.cgi?id=1475 > > Cc: Jian J Wang <jian.j.w...@intel.com> > Cc: Hao Wu <hao.a...@intel.com> > Cc: Ray Ni <ray...@intel.com> > Cc: Star Zeng <star.z...@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Shenglei Zhang <shenglei.zh...@intel.com> > --- > MdeModulePkg/MdeModulePkg.dsc | 1 - > .../PropertiesTableAttributesDxe.c | 208 ------------------ > .../PropertiesTableAttributesDxe.inf | 56 ----- > .../PropertiesTableAttributesDxe.uni | 23 -- > .../PropertiesTableAttributesDxeExtra.uni | 23 -- > 5 files changed, 311 deletions(-) > delete mode 100644 > MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAtt > ribu > tesDxe.c > delete mode 100644 > MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAtt > ribu > tesDxe.inf > delete mode 100644 > MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAtt > ribu > tesDxe.uni > delete mode 100644 > MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAtt > ribu > tesDxeExtra.uni > > diff --git a/MdeModulePkg/MdeModulePkg.dsc > b/MdeModulePkg/MdeModulePkg.dsc index 4f2ac8ae89..388bca25bd 100644 > --- a/MdeModulePkg/MdeModulePkg.dsc > +++ b/MdeModulePkg/MdeModulePkg.dsc > @@ -413,7 +413,6 @@ > MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf > MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmpDxe.inf > > - > MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAtt > ribu > tesDxe.inf > MdeModulePkg/Universal/FileExplorerDxe/FileExplorerDxe.inf { > <LibraryClasses> > > FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.i > nf > diff --git > a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableA > ttri > butesDxe.c > b/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableA > ttri > butesDxe.c > deleted file mode 100644 > index 4d1a46f64c..0000000000 > --- > a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableA > ttri > butesDxe.c > +++ /dev/null > @@ -1,208 +0,0 @@ > -/** @file > - This module sets default policy for attributes of EfiACPIMemoryNVS > and EfiReservedMemoryType. > - > - This module sets EFI_MEMORY_XP for attributes of EfiACPIMemoryNVS > and EfiReservedMemoryType > - in UEFI memory map, if and only of PropertiesTable is published and > has BIT0 set. > - > -Copyright (c) 2015 - 2018, Intel Corporation. All rights > reserved.<BR> -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 > -http://opensource.org/licenses/bsd-license.php > - > -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, > -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR > IMPLIED. > - > -**/ > - > -#include <Uefi.h> > -#include <Library/DebugLib.h> > -#include <Library/UefiBootServicesTableLib.h> > -#include <Library/DxeServicesTableLib.h> -#include > <Library/UefiLib.h> -#include <Library/MemoryAllocationLib.h> > -#include <Guid/EventGroup.h> -#include <Guid/PropertiesTable.h> > - > -/** > - Converts a number of EFI_PAGEs to a size in bytes. > - > - NOTE: Do not use EFI_PAGES_TO_SIZE because it handles UINTN only. > - > - @param Pages The number of EFI_PAGES. > - > - @return The number of bytes associated with the number of > EFI_PAGEs specified > - by Pages. > -**/ > -UINT64 > -EfiPagesToSize ( > - IN UINT64 Pages > - ) > -{ > - return LShiftU64 (Pages, EFI_PAGE_SHIFT); -} > - > -/** > - Set memory attributes according to default policy. > - > - @param MemoryMap A pointer to the buffer in which firmware places > the current memory map. > - @param MemoryMapSize Size, in bytes, of the MemoryMap buffer. > - @param DescriptorSize size, in bytes, of an individual > EFI_MEMORY_DESCRIPTOR. > -**/ > -VOID > -SetMemorySpaceAttributesDefault ( > - IN EFI_MEMORY_DESCRIPTOR *MemoryMap, > - IN UINTN MemoryMapSize, > - IN UINTN DescriptorSize > - ) > -{ > - EFI_MEMORY_DESCRIPTOR *MemoryMapEntry; > - EFI_MEMORY_DESCRIPTOR *MemoryMapEnd; > - EFI_STATUS Status; > - > - DEBUG ((EFI_D_INFO, "SetMemorySpaceAttributesDefault\n")); > - > - MemoryMapEntry = MemoryMap; > - MemoryMapEnd = (EFI_MEMORY_DESCRIPTOR *) ((UINT8 *) MemoryMap + > MemoryMapSize); > - while ((UINTN)MemoryMapEntry < (UINTN)MemoryMapEnd) { > - if (MemoryMapEntry->PhysicalStart < BASE_1MB) { > - // > - // Do not touch memory space below 1MB > - // > - MemoryMapEntry = NEXT_MEMORY_DESCRIPTOR (MemoryMapEntry, > DescriptorSize); > - continue; > - } > - switch (MemoryMapEntry->Type) { > - case EfiRuntimeServicesCode: > - case EfiRuntimeServicesData: > - // > - // should be handled later; > - // > - break; > - case EfiReservedMemoryType: > - case EfiACPIMemoryNVS: > - // > - // Handle EfiReservedMemoryType and EfiACPIMemoryNVS, because there > might be firmware executable there. > - // > - DEBUG ((EFI_D_INFO, "SetMemorySpaceAttributes - %016lx - %016lx > (%016lx) ...\n", > - MemoryMapEntry->PhysicalStart, > - MemoryMapEntry->PhysicalStart + EfiPagesToSize (MemoryMapEntry- > >NumberOfPages), > - MemoryMapEntry->Attribute > - )); > - Status = gDS->SetMemorySpaceCapabilities ( > - MemoryMapEntry->PhysicalStart, > - EfiPagesToSize (MemoryMapEntry->NumberOfPages), > - MemoryMapEntry->Attribute | EFI_MEMORY_XP > - ); > - DEBUG ((EFI_D_INFO, "SetMemorySpaceCapabilities - %r\n", Status)); > - break; > - } > - > - MemoryMapEntry = NEXT_MEMORY_DESCRIPTOR (MemoryMapEntry, > DescriptorSize); > - } > - > - return ; > -} > - > -/** > - Update memory attributes according to default policy. > - > - @param[in] Event The Event this notify function registered to. > - @param[in] Context Pointer to the context data registered to the Event. > -**/ > -VOID > -EFIAPI > -UpdateMemoryAttributesDefault ( > - EFI_EVENT Event, > - VOID *Context > - ) > -{ > - EFI_STATUS Status; > - EFI_MEMORY_DESCRIPTOR *MemoryMap; > - UINTN MemoryMapSize; > - UINTN MapKey; > - UINTN DescriptorSize; > - UINT32 DescriptorVersion; > - EFI_PROPERTIES_TABLE *PropertiesTable; > - > - DEBUG ((EFI_D_INFO, "UpdateMemoryAttributesDefault\n")); > - Status = EfiGetSystemConfigurationTable (&gEfiPropertiesTableGuid, > (VOID **) &PropertiesTable); > - if (EFI_ERROR (Status)) { > - goto Done; > - } > - > - ASSERT (PropertiesTable != NULL); > - > - DEBUG ((EFI_D_INFO, "MemoryProtectionAttribute - 0x%016lx\n", > PropertiesTable->MemoryProtectionAttribute)); > - if ((PropertiesTable->MemoryProtectionAttribute & > EFI_PROPERTIES_RUNTIME_MEMORY_PROTECTION_NON_EXECUTABLE_PE_D > ATA) == 0) { > - goto Done; > - } > - > - // > - // Get the EFI memory map. > - // > - MemoryMapSize = 0; > - MemoryMap = NULL; > - Status = gBS->GetMemoryMap ( > - &MemoryMapSize, > - MemoryMap, > - &MapKey, > - &DescriptorSize, > - &DescriptorVersion > - ); > - ASSERT (Status == EFI_BUFFER_TOO_SMALL); > - do { > - MemoryMap = (EFI_MEMORY_DESCRIPTOR *) AllocatePool > (MemoryMapSize); > - ASSERT (MemoryMap != NULL); > - Status = gBS->GetMemoryMap ( > - &MemoryMapSize, > - MemoryMap, > - &MapKey, > - &DescriptorSize, > - &DescriptorVersion > - ); > - if (EFI_ERROR (Status)) { > - FreePool (MemoryMap); > - } > - } while (Status == EFI_BUFFER_TOO_SMALL); > - ASSERT_EFI_ERROR (Status); > - > - SetMemorySpaceAttributesDefault (MemoryMap, MemoryMapSize, > DescriptorSize); > - > -Done: > - gBS->CloseEvent (Event); > - > - return ; > -} > - > -/** > - The entrypoint of properties table attribute driver. > - > - @param ImageHandle The firmware allocated handle for the EFI image. > - @param SystemTable A pointer to the EFI System Table. > - > - @retval EFI_SUCCESS It always returns EFI_SUCCESS. > - > -**/ > -EFI_STATUS > -EFIAPI > -InitializePropertiesTableAttributesDxe ( > - IN EFI_HANDLE ImageHandle, > - IN EFI_SYSTEM_TABLE *SystemTable > - ) > -{ > - EFI_STATUS Status; > - EFI_EVENT ReadyToBootEvent; > - > - Status = gBS->CreateEventEx ( > - EVT_NOTIFY_SIGNAL, > - TPL_CALLBACK, > - UpdateMemoryAttributesDefault, > - NULL, > - &gEfiEventReadyToBootGuid, > - &ReadyToBootEvent > - ); > - ASSERT_EFI_ERROR (Status); > - > - return EFI_SUCCESS; > -} > diff --git > a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableA > ttri > butesDxe.inf > b/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableA > ttri > butesDxe.inf > deleted file mode 100644 > index a8edf854bb..0000000000 > --- > a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableA > ttri > butesDxe.inf > +++ /dev/null > @@ -1,56 +0,0 @@ > -## @file > -# This module sets default policy for attributes of EfiACPIMemoryNVS > and EfiReservedMemoryType. > -# > -# This module sets EFI_MEMORY_XP for attributes of EfiACPIMemoryNVS > and EfiReservedMemoryType -# in UEFI memory map, if and only of > PropertiesTable is published and has BIT0 set. > -# > -# Copyright (c) 2015 - 2018, Intel Corporation. All rights > reserved.<BR> -# -# 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 -# > http://opensource.org/licenses/bsd-license.php > -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" > BASIS, > -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS > OR IMPLIED. > -# > -# > -## > - > -[Defines] > - INF_VERSION = 0x00010005 > - BASE_NAME = PropertiesTableAttributesDxe > - MODULE_UNI_FILE = PropertiesTableAttributesDxe.uni > - FILE_GUID = AA48FBB2-9F87-4DFD-B416-575938F0C8F4 > - MODULE_TYPE = DXE_DRIVER > - VERSION_STRING = 1.0 > - ENTRY_POINT = InitializePropertiesTableAttributesDxe > - > -# > -# The following information is for reference only and not required by > the build tools. > -# > -# VALID_ARCHITECTURES = IA32 X64 EBC > -# > - > -[Sources] > - PropertiesTableAttributesDxe.c > - > -[Packages] > - MdePkg/MdePkg.dec > - > -[LibraryClasses] > - UefiDriverEntryPoint > - UefiBootServicesTableLib > - DxeServicesTableLib > - DebugLib > - UefiLib > - MemoryAllocationLib > - > -[Guids] > - gEfiEventReadyToBootGuid ## CONSUMES ## Event > - gEfiPropertiesTableGuid ## CONSUMES ## SystemTable > - > -[Depex] > - TRUE > - > -[UserExtensions.TianoCore."ExtraFiles"] > - PropertiesTableAttributesDxeExtra.uni > diff --git > a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableA > ttri > butesDxe.uni > b/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableA > ttri > butesDxe.uni > deleted file mode 100644 > index 9df097f7ce..0000000000 > --- > a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableA > ttri > butesDxe.uni > +++ /dev/null > @@ -1,23 +0,0 @@ > -// /** @file > -// This module sets default policy for attributes of > EfiACPIMemoryNVS and EfiReservedMemoryType. > -// > -// This module sets EFI_MEMORY_XP for attributes of EfiACPIMemoryNVS > and EfiReservedMemoryType -// in UEFI memory map, if and only of > PropertiesTable is published and has > BIT0 set. > -// > -// Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> > -// -// 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 -// http://opensource.org/licenses/bsd-license.php > -// > -// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" > BASIS, > -// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS > OR IMPLIED. > -// > -// **/ > - > - > -#string STR_MODULE_ABSTRACT #language en-US "This module sets > default policy for attributes of EfiACPIMemoryNVS and > EfiReservedMemoryType." > - > -#string STR_MODULE_DESCRIPTION #language en-US "This module sets > EFI_MEMORY_XP for attributes of EfiACPIMemoryNVS and > EfiReservedMemoryType in UEFI memory map, if and only of > PropertiesTable is published and has BIT0 set." > - > diff --git > a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableA > ttri > butesDxeExtra.uni > b/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableA > ttri > butesDxeExtra.uni > deleted file mode 100644 > index e107e78523..0000000000 > --- > a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableA > ttri > butesDxeExtra.uni > +++ /dev/null > @@ -1,23 +0,0 @@ > -// /** @file > -// This module sets default policy for attributes of > EfiACPIMemoryNVS and EfiReservedMemoryType. > -// > -// This module sets EFI_MEMORY_XP for attributes of EfiACPIMemoryNVS > and EfiReservedMemoryType -// in UEFI memory map, if and only of > PropertiesTable is published and has > BIT0 set. > -// > -// Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> > -// -// 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 -// http://opensource.org/licenses/bsd-license.php > -// > -// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" > BASIS, > -// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS > OR IMPLIED. > -// > -// **/ > - > -#string STR_PROPERTIES_MODULE_NAME > -#language en-US > -"PropertiesTable Attributes Setting DXE Driver" > - > - > -- > 2.18.0.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel