public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Wang, Jian J" <jian.j.wang@intel.com>
To: "Zhang, Shenglei" <shenglei.zhang@intel.com>,
	"edk2-devel@lists.01.org" <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
Date: Mon, 18 Feb 2019 14:15:33 +0000	[thread overview]
Message-ID: <D827630B58408649ACB04F44C5100036258B13BB@SHSMSX107.ccr.corp.intel.com> (raw)
In-Reply-To: <20190218085240.8400-1-shenglei.zhang@intel.com>


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



  reply	other threads:[~2019-02-18 14:16 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-18  8:52 [PATCH] MdeModulePkg/PropertiesTableAttributesDxe: Remove this driver Shenglei Zhang
2019-02-18 14:15 ` Wang, Jian J [this message]
2019-02-18 14:22   ` Zeng, Star
2019-02-19  3:38     ` Ni, Ray

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=D827630B58408649ACB04F44C5100036258B13BB@SHSMSX107.ccr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox