public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Ni, Ruiyu" <ruiyu.ni@intel.com>
To: "Zeng, Star" <star.zeng@intel.com>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Cc: "Gao, Liming" <liming.gao@intel.com>
Subject: Re: [PATCH 1/3] MdeModulePkg/DxeResetSystemLib: Avoid depending on UefiRuntimeLib
Date: Mon, 4 Jun 2018 03:25:39 +0000	[thread overview]
Message-ID: <734D49CCEBEEF84792F5B80ED585239D5BD23310@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <0C09AFA07DD0434D9E2A0C6AEB0483103BB51BAE@shsmsx102.ccr.corp.intel.com>

No.
DxeResetSystemLib cannot be used by runtime driver.
1. the gRT is not converted by itself.
2. Even if we change the library implementation to convert gRT in VirtualAddressChange callback,
when DXE driver links to this library, the problem similar to UefiRuntimeLib still occurs.

So I will make a V2 patch to remove runtime driver support.

Thanks/Ray

> -----Original Message-----
> From: Zeng, Star
> Sent: Monday, June 4, 2018 10:37 AM
> To: Ni, Ruiyu <ruiyu.ni@intel.com>; edk2-devel@lists.01.org
> Cc: Gao, Liming <liming.gao@intel.com>; Zeng, Star <star.zeng@intel.com>
> Subject: RE: [PATCH 1/3] MdeModulePkg/DxeResetSystemLib: Avoid
> depending on UefiRuntimeLib
> 
> Could interfaces in DxeResetSystemLib be used by runtime code?
> If yes, gRT needs to be converted for runtime environment as we discussed
> about it at https://lists.01.org/pipermail/edk2-devel/2018-
> February/021260.html before.
> 
> 
> 
> Thanks,
> Star
> 
> -----Original Message-----
> From: Ni, Ruiyu
> Sent: Friday, June 1, 2018 3:22 PM
> To: edk2-devel@lists.01.org
> Cc: Zeng, Star <star.zeng@intel.com>; Gao, Liming <liming.gao@intel.com>
> Subject: [PATCH 1/3] MdeModulePkg/DxeResetSystemLib: Avoid depending
> on UefiRuntimeLib
> 
> Current DxeResetSystemLib depends on UefiRuntimeLib because it calls
> EfiResetSystem() API exposed by UefiRuntimeLib.
> 
> Due to the commit XXX which reverts UefiRuntimeLib to only support
> DXE_RUNTIME_DRIVER, removing UefiRuntimeLib dependency makes the
> DxeResetSystemLib can be used by DXE drivers.
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
> Cc: Star Zeng <star.zeng@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> ---
>  MdeModulePkg/Library/DxeResetSystemLib/DxeResetSystemLib.c   | 10
> +++++-----
>  MdeModulePkg/Library/DxeResetSystemLib/DxeResetSystemLib.inf |  3 +--
>  2 files changed, 6 insertions(+), 7 deletions(-)
> 
> diff --git
> a/MdeModulePkg/Library/DxeResetSystemLib/DxeResetSystemLib.c
> b/MdeModulePkg/Library/DxeResetSystemLib/DxeResetSystemLib.c
> index ea452e3231..76bca223ae 100644
> --- a/MdeModulePkg/Library/DxeResetSystemLib/DxeResetSystemLib.c
> +++ b/MdeModulePkg/Library/DxeResetSystemLib/DxeResetSystemLib.c
> @@ -14,7 +14,7 @@
> 
>  #include <PiDxe.h>
>  #include <Library/ResetSystemLib.h>
> -#include <Library/UefiRuntimeLib.h>
> +#include <Library/UefiRuntimeServicesTableLib.h>
> 
>  /**
>    This function causes a system-wide reset (cold reset), in which @@ -30,7
> +30,7 @@ ResetCold (
>    VOID
>    )
>  {
> -  EfiResetSystem (EfiResetCold, EFI_SUCCESS, 0, NULL);
> +  gRT->ResetSystem (EfiResetCold, EFI_SUCCESS, 0, NULL);
>  }
> 
>  /**
> @@ -45,7 +45,7 @@ ResetWarm (
>    VOID
>    )
>  {
> -  EfiResetSystem (EfiResetWarm, EFI_SUCCESS, 0, NULL);
> +  gRT->ResetSystem (EfiResetWarm, EFI_SUCCESS, 0, NULL);
>  }
> 
>  /**
> @@ -60,7 +60,7 @@ ResetShutdown (
>    VOID
>    )
>  {
> -  EfiResetSystem (EfiResetShutdown, EFI_SUCCESS, 0, NULL);
> +  gRT->ResetSystem (EfiResetShutdown, EFI_SUCCESS, 0, NULL);
>  }
> 
>  /**
> @@ -94,5 +94,5 @@ ResetPlatformSpecific (
>    IN VOID    *ResetData
>    )
>  {
> -  EfiResetSystem (EfiResetPlatformSpecific, EFI_SUCCESS, DataSize,
> ResetData);
> +  gRT->ResetSystem (EfiResetPlatformSpecific, EFI_SUCCESS, DataSize,
> + ResetData);
>  }
> diff --git
> a/MdeModulePkg/Library/DxeResetSystemLib/DxeResetSystemLib.inf
> b/MdeModulePkg/Library/DxeResetSystemLib/DxeResetSystemLib.inf
> index 6eb2766b93..0d97d5899b 100644
> --- a/MdeModulePkg/Library/DxeResetSystemLib/DxeResetSystemLib.inf
> +++ b/MdeModulePkg/Library/DxeResetSystemLib/DxeResetSystemLib.inf
> @@ -35,5 +35,4 @@ [Packages]
>    MdeModulePkg/MdeModulePkg.dec
> 
>  [LibraryClasses]
> -  UefiRuntimeLib
> -
> +  UefiRuntimeServicesTableLib
> --
> 2.16.1.windows.1



  reply	other threads:[~2018-06-04  3:26 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-01  7:22 [PATCH 0/3] Fix bugs in core ResetSystem software stack Ruiyu Ni
2018-06-01  7:22 ` [PATCH 1/3] MdeModulePkg/DxeResetSystemLib: Avoid depending on UefiRuntimeLib Ruiyu Ni
2018-06-01 19:06   ` Laszlo Ersek
2018-06-04  3:02     ` Ni, Ruiyu
2018-06-04  2:36   ` Zeng, Star
2018-06-04  3:25     ` Ni, Ruiyu [this message]
2018-06-01  7:22 ` [PATCH 2/3] MdeModulePkg: Make sure ResetSystemRuntimeDxe uses ResetSystemLibNull Ruiyu Ni
2018-06-01  7:22 ` [PATCH 3/3] MdePkg/UefiRuntimeLib: Do not allow to be linked by DXE driver Ruiyu Ni
2018-06-01  9:24   ` Gao, Liming

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=734D49CCEBEEF84792F5B80ED585239D5BD23310@SHSMSX104.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