* [PATCH] MdeModulePkg/PropertiesTableAttributesDxe: Remove this driver @ 2019-02-18 8:52 Shenglei Zhang 2019-02-18 14:15 ` Wang, Jian J 0 siblings, 1 reply; 4+ messages in thread From: Shenglei Zhang @ 2019-02-18 8:52 UTC (permalink / raw) To: edk2-devel; +Cc: Jian J Wang, Hao Wu, Ray Ni, Star Zeng 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.wang@intel.com> Cc: Hao Wu <hao.a.wu@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Star Zeng <star.zeng@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Shenglei Zhang <shenglei.zhang@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/PropertiesTableAttributesDxe.c delete mode 100644 MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxe.inf delete mode 100644 MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxe.uni delete mode 100644 MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxeExtra.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/PropertiesTableAttributesDxe.inf MdeModulePkg/Universal/FileExplorerDxe/FileExplorerDxe.inf { <LibraryClasses> FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf diff --git a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxe.c b/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxe.c deleted file mode 100644 index 4d1a46f64c..0000000000 --- a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxe.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_DATA) == 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/PropertiesTableAttributesDxe.inf b/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxe.inf deleted file mode 100644 index a8edf854bb..0000000000 --- a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxe.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/PropertiesTableAttributesDxe.uni b/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxe.uni deleted file mode 100644 index 9df097f7ce..0000000000 --- a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxe.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/PropertiesTableAttributesDxeExtra.uni b/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxeExtra.uni deleted file mode 100644 index e107e78523..0000000000 --- a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttributesDxeExtra.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 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] MdeModulePkg/PropertiesTableAttributesDxe: Remove this driver 2019-02-18 8:52 [PATCH] MdeModulePkg/PropertiesTableAttributesDxe: Remove this driver Shenglei Zhang @ 2019-02-18 14:15 ` Wang, Jian J 2019-02-18 14:22 ` Zeng, Star 0 siblings, 1 reply; 4+ messages in thread From: Wang, Jian J @ 2019-02-18 14:15 UTC (permalink / raw) To: Zhang, Shenglei, edk2-devel@lists.01.org; +Cc: Wu, Hao A, Ni, Ray, Zeng, Star Reviewed-by: Jian J Wang <jian.j.wang@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.wang@intel.com>; Wu, Hao A <hao.a.wu@intel.com>; > Ni, Ray <ray.ni@intel.com>; Zeng, Star <star.zeng@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.wang@intel.com> > Cc: Hao Wu <hao.a.wu@intel.com> > Cc: Ray Ni <ray.ni@intel.com> > Cc: Star Zeng <star.zeng@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Shenglei Zhang <shenglei.zhang@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/PropertiesTableAttribu > tesDxe.c > delete mode 100644 > MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttribu > tesDxe.inf > delete mode 100644 > MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttribu > tesDxe.uni > delete mode 100644 > MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttribu > 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/PropertiesTableAttribu > tesDxe.inf > MdeModulePkg/Universal/FileExplorerDxe/FileExplorerDxe.inf { > <LibraryClasses> > FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf > diff --git > a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttri > butesDxe.c > b/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttri > butesDxe.c > deleted file mode 100644 > index 4d1a46f64c..0000000000 > --- > a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttri > 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/PropertiesTableAttri > butesDxe.inf > b/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttri > butesDxe.inf > deleted file mode 100644 > index a8edf854bb..0000000000 > --- > a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttri > 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/PropertiesTableAttri > butesDxe.uni > b/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttri > butesDxe.uni > deleted file mode 100644 > index 9df097f7ce..0000000000 > --- > a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttri > 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/PropertiesTableAttri > butesDxeExtra.uni > b/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttri > butesDxeExtra.uni > deleted file mode 100644 > index e107e78523..0000000000 > --- > a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAttri > 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 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] MdeModulePkg/PropertiesTableAttributesDxe: Remove this driver 2019-02-18 14:15 ` Wang, Jian J @ 2019-02-18 14:22 ` Zeng, Star 2019-02-19 3:38 ` Ni, Ray 0 siblings, 1 reply; 4+ messages in thread From: Zeng, Star @ 2019-02-18 14:22 UTC (permalink / raw) To: Wang, Jian J, Zhang, Shenglei, edk2-devel@lists.01.org; +Cc: Wu, Hao A, Ni, Ray Reviewed-by: Star Zeng <star.zeng@intel.com> -----Original Message----- From: Wang, Jian J Sent: Monday, February 18, 2019 10:16 PM To: Zhang, Shenglei <shenglei.zhang@intel.com>; edk2-devel@lists.01.org Cc: Wu, Hao A <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>; Zeng, Star <star.zeng@intel.com> Subject: RE: [PATCH] MdeModulePkg/PropertiesTableAttributesDxe: Remove this driver Reviewed-by: Jian J Wang <jian.j.wang@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.wang@intel.com>; Wu, Hao A > <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>; Zeng, Star > <star.zeng@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.wang@intel.com> > Cc: Hao Wu <hao.a.wu@intel.com> > Cc: Ray Ni <ray.ni@intel.com> > Cc: Star Zeng <star.zeng@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Shenglei Zhang <shenglei.zhang@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 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] MdeModulePkg/PropertiesTableAttributesDxe: Remove this driver 2019-02-18 14:22 ` Zeng, Star @ 2019-02-19 3:38 ` Ni, Ray 0 siblings, 0 replies; 4+ messages in thread From: Ni, Ray @ 2019-02-19 3:38 UTC (permalink / raw) To: Zeng, Star, Wang, Jian J, Zhang, Shenglei, edk2-devel@lists.01.org Cc: Wu, Hao A Reviewed-by: Ray Ni <ray.ni@intel.com> > -----Original Message----- > From: Zeng, Star <star.zeng@intel.com> > Sent: Monday, February 18, 2019 10:22 PM > To: Wang, Jian J <jian.j.wang@intel.com>; Zhang, Shenglei > <shenglei.zhang@intel.com>; edk2-devel@lists.01.org > Cc: Wu, Hao A <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com> > Subject: RE: [PATCH] MdeModulePkg/PropertiesTableAttributesDxe: > Remove this driver > > Reviewed-by: Star Zeng <star.zeng@intel.com> > > -----Original Message----- > From: Wang, Jian J > Sent: Monday, February 18, 2019 10:16 PM > To: Zhang, Shenglei <shenglei.zhang@intel.com>; edk2-devel@lists.01.org > Cc: Wu, Hao A <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>; Zeng, > Star <star.zeng@intel.com> > Subject: RE: [PATCH] MdeModulePkg/PropertiesTableAttributesDxe: > Remove this driver > > > Reviewed-by: Jian J Wang <jian.j.wang@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.wang@intel.com>; Wu, Hao A > > <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>; Zeng, Star > > <star.zeng@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.wang@intel.com> > > Cc: Hao Wu <hao.a.wu@intel.com> > > Cc: Ray Ni <ray.ni@intel.com> > > Cc: Star Zeng <star.zeng@intel.com> > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Signed-off-by: Shenglei Zhang <shenglei.zhang@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/PropertiesTableAt > t > > ribu > > tesDxe.c > > delete mode 100644 > > > MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAt > t > > ribu > > tesDxe.inf > > delete mode 100644 > > > MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAt > t > > ribu > > tesDxe.uni > > delete mode 100644 > > > MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTableAt > t > > 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/PropertiesTableAt > t > > ribu > > tesDxe.inf > > MdeModulePkg/Universal/FileExplorerDxe/FileExplorerDxe.inf { > > <LibraryClasses> > > > > FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.i > > nf > > diff --git > > > a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTable > A > > ttri > > butesDxe.c > > > b/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTable > A > > ttri > > butesDxe.c > > deleted file mode 100644 > > index 4d1a46f64c..0000000000 > > --- > > > a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTable > A > > 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/PropertiesTable > A > > ttri > > butesDxe.inf > > > b/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTable > A > > ttri > > butesDxe.inf > > deleted file mode 100644 > > index a8edf854bb..0000000000 > > --- > > > a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTable > A > > 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/PropertiesTable > A > > ttri > > butesDxe.uni > > > b/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTable > A > > ttri > > butesDxe.uni > > deleted file mode 100644 > > index 9df097f7ce..0000000000 > > --- > > > a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTable > A > > 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/PropertiesTable > A > > ttri > > butesDxeExtra.uni > > > b/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTable > A > > ttri > > butesDxeExtra.uni > > deleted file mode 100644 > > index e107e78523..0000000000 > > --- > > > a/MdeModulePkg/Universal/PropertiesTableAttributesDxe/PropertiesTable > A > > 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 ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-02-19 3:42 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-02-18 8:52 [PATCH] MdeModulePkg/PropertiesTableAttributesDxe: Remove this driver Shenglei Zhang 2019-02-18 14:15 ` Wang, Jian J 2019-02-18 14:22 ` Zeng, Star 2019-02-19 3:38 ` Ni, Ray
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox