public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v2 0/1] Remove UNDI calls from SNP during ExitBootServices
@ 2019-10-14 12:37 Rabeda, Maciej
  2019-10-14 12:37 ` [PATCH v2 1/1] NetworkPkg/SnpDxe: Remove ExitBootServices event Rabeda, Maciej
  0 siblings, 1 reply; 4+ messages in thread
From: Rabeda, Maciej @ 2019-10-14 12:37 UTC (permalink / raw)
  To: devel; +Cc: Siyuan Fu, Jiaxin Wu

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1974

Removing calls to UNDI->Shutdown() and Stop() functions in ExitBootServices
event notification function. Since SNP event reacting to ExitBootServices
is only calling those two functions, there is no need to create that event
at all.

Adding PCD to control creation of event reacting to ExitBootServices()
call so that systems with UNDIs relying on SNP to call their Shutdown()
and Stop() can still work.

Cc: Siyuan Fu <siyuan.fu@intel.com>
Cc: Jiaxin Wu <jiaxin.wu@intel.com>

Maciej Rabeda (1):
  NetworkPkg/SnpDxe: Remove ExitBootServices event

 NetworkPkg/SnpDxe/Snp.c      | 38 +++++++++++---------
 NetworkPkg/NetworkPkg.dec    |  7 ++++
 NetworkPkg/SnpDxe/Snp.h      |  1 +
 NetworkPkg/SnpDxe/SnpDxe.inf |  3 ++
 4 files changed, 32 insertions(+), 17 deletions(-)

-- 
2.17.0.windows.1

--------------------------------------------------------------------

Intel Technology Poland sp. z o.o.
ul. Slowackiego 173 | 80-298 Gdansk | Sad Rejonowy Gdansk Polnoc | VII Wydzial Gospodarczy Krajowego Rejestru Sadowego - KRS 101882 | NIP 957-07-52-316 | Kapital zakladowy 200.000 PLN.

Ta wiadomosc wraz z zalacznikami jest przeznaczona dla okreslonego adresata i moze zawierac informacje poufne. W razie przypadkowego otrzymania tej wiadomosci, prosimy o powiadomienie nadawcy oraz trwale jej usuniecie; jakiekolwiek
przegladanie lub rozpowszechnianie jest zabronione.
This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). If you are not the intended recipient, please contact the sender and delete all copies; any review or distribution by
others is strictly prohibited.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v2 1/1] NetworkPkg/SnpDxe: Remove ExitBootServices event
  2019-10-14 12:37 [PATCH v2 0/1] Remove UNDI calls from SNP during ExitBootServices Rabeda, Maciej
@ 2019-10-14 12:37 ` Rabeda, Maciej
  2019-10-21  2:41   ` Siyuan, Fu
  0 siblings, 1 reply; 4+ messages in thread
From: Rabeda, Maciej @ 2019-10-14 12:37 UTC (permalink / raw)
  To: devel; +Cc: Siyuan Fu, Jiaxin Wu

Patch addresses Bugzilla #1972.
During ExitBootServices stage, drivers should not call any
functions known to use Memory Allocation Services. One of such
functions (as per UEFI spec) is UNDI->Shutdown().

Since UNDI drivers during ExitBootServices phase are expected
to put the adapter to such a state that it will not perform any DMA
operations, there is no need to interface UNDI by SNP driver during
that phase.

Finally, since ExitBootServices event notification function in SNP
only calls UNDI->Shutdown() and Stop() functions, there is no need
to create this event at all. Adding PCD to control creation of event
reacting to ExitBootServices() call so that systems with UNDIs relying
on SNP to call their Shutdown() and Stop() can still work.

Signed-off-by: Maciej Rabeda <maciej.rabeda@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
---

Notes:
    v2:
    - modified commit message
    - added PCD to control ExitBootServices() creation event in SnpDxe

 NetworkPkg/SnpDxe/Snp.c      | 38 +++++++++++---------
 NetworkPkg/NetworkPkg.dec    |  7 ++++
 NetworkPkg/SnpDxe/Snp.h      |  1 +
 NetworkPkg/SnpDxe/SnpDxe.inf |  3 ++
 4 files changed, 32 insertions(+), 17 deletions(-)

diff --git a/NetworkPkg/SnpDxe/Snp.c b/NetworkPkg/SnpDxe/Snp.c
index a23af05078bc..03317ffa26f1 100644
--- a/NetworkPkg/SnpDxe/Snp.c
+++ b/NetworkPkg/SnpDxe/Snp.c
@@ -647,19 +647,21 @@ SimpleNetworkDriverStart (
   PxeShutdown (Snp);
   PxeStop (Snp);
 
-  //
-  // Create EXIT_BOOT_SERIVES Event
-  //
-  Status = gBS->CreateEventEx (
-                  EVT_NOTIFY_SIGNAL,
-                  TPL_NOTIFY,
-                  SnpNotifyExitBootServices,
-                  Snp,
-                  &gEfiEventExitBootServicesGuid,
-                  &Snp->ExitBootServicesEvent
-                  );
-  if (EFI_ERROR (Status)) {
-    goto Error_DeleteSNP;
+  if (FixedPcdGetBool (PcdSnpCreateExitBootServicesEvent)) {
+    //
+    // Create EXIT_BOOT_SERIVES Event
+    //
+    Status = gBS->CreateEventEx (
+                    EVT_NOTIFY_SIGNAL,
+                    TPL_NOTIFY,
+                    SnpNotifyExitBootServices,
+                    Snp,
+                    &gEfiEventExitBootServicesGuid,
+                    &Snp->ExitBootServicesEvent
+                    );
+    if (EFI_ERROR (Status)) {
+      goto Error_DeleteSNP;
+    }
   }
 
   //
@@ -778,10 +780,12 @@ SimpleNetworkDriverStop (
     return Status;
   }
 
-  //
-  // Close EXIT_BOOT_SERIVES Event
-  //
-  gBS->CloseEvent (Snp->ExitBootServicesEvent);
+  if (FixedPcdGetBool (PcdSnpCreateExitBootServicesEvent)) {
+    //
+    // Close EXIT_BOOT_SERIVES Event
+    //
+    gBS->CloseEvent (Snp->ExitBootServicesEvent);
+  }
 
   Status = gBS->CloseProtocol (
                   Controller,
diff --git a/NetworkPkg/NetworkPkg.dec b/NetworkPkg/NetworkPkg.dec
index 944b1d1501c0..66e500cbeaf7 100644
--- a/NetworkPkg/NetworkPkg.dec
+++ b/NetworkPkg/NetworkPkg.dec
@@ -109,6 +109,13 @@
   # @Prompt TFTP block size.
   gEfiNetworkPkgTokenSpaceGuid.PcdTftpBlockSize|0x0|UINT64|0x1000000B
 
+  ## Indicates whether SnpDxe driver will create an event that will be notified
+  # upon gBS->ExitBootServices() call.
+  # TRUE - Event being triggered upon ExitBootServices call will be created
+  # FALSE - Event being triggered upon ExitBootServices call will NOT be created
+  # @Prompt Indicates whether SnpDxe creates event for ExitBootServices() call.
+  gEfiNetworkPkgTokenSpaceGuid.PcdSnpCreateExitBootServicesEvent|TRUE|BOOLEAN|0x1000000C
+
 [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
   ## IPv6 DHCP Unique Identifier (DUID) Type configuration (From RFCs 3315 and 6355).
   # 01 = DUID Based on Link-layer Address Plus Time [DUID-LLT]
diff --git a/NetworkPkg/SnpDxe/Snp.h b/NetworkPkg/SnpDxe/Snp.h
index e6b62930397d..4f64c525e357 100644
--- a/NetworkPkg/SnpDxe/Snp.h
+++ b/NetworkPkg/SnpDxe/Snp.h
@@ -26,6 +26,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 #include <Library/UefiLib.h>
 #include <Library/MemoryAllocationLib.h>
 #include <Library/PrintLib.h>
+#include <Library/PcdLib.h>
 
 #include <IndustryStandard/Pci.h>
 #include <IndustryStandard/Acpi.h>
diff --git a/NetworkPkg/SnpDxe/SnpDxe.inf b/NetworkPkg/SnpDxe/SnpDxe.inf
index afeb1526cc10..79ea789c0837 100644
--- a/NetworkPkg/SnpDxe/SnpDxe.inf
+++ b/NetworkPkg/SnpDxe/SnpDxe.inf
@@ -73,5 +73,8 @@
   gEfiNetworkInterfaceIdentifierProtocolGuid_31 ## TO_START
   gEfiPciIoProtocolGuid                         ## TO_START
 
+[Pcd]
+  gEfiNetworkPkgTokenSpaceGuid.PcdSnpCreateExitBootServicesEvent   ## CONSUMES
+
 [UserExtensions.TianoCore."ExtraFiles"]
   SnpDxeExtra.uni
-- 
2.17.0.windows.1

--------------------------------------------------------------------

Intel Technology Poland sp. z o.o.
ul. Slowackiego 173 | 80-298 Gdansk | Sad Rejonowy Gdansk Polnoc | VII Wydzial Gospodarczy Krajowego Rejestru Sadowego - KRS 101882 | NIP 957-07-52-316 | Kapital zakladowy 200.000 PLN.

Ta wiadomosc wraz z zalacznikami jest przeznaczona dla okreslonego adresata i moze zawierac informacje poufne. W razie przypadkowego otrzymania tej wiadomosci, prosimy o powiadomienie nadawcy oraz trwale jej usuniecie; jakiekolwiek
przegladanie lub rozpowszechnianie jest zabronione.
This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). If you are not the intended recipient, please contact the sender and delete all copies; any review or distribution by
others is strictly prohibited.


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2 1/1] NetworkPkg/SnpDxe: Remove ExitBootServices event
  2019-10-14 12:37 ` [PATCH v2 1/1] NetworkPkg/SnpDxe: Remove ExitBootServices event Rabeda, Maciej
@ 2019-10-21  2:41   ` Siyuan, Fu
  2019-10-21 16:42     ` [edk2-devel] " Michael D Kinney
  0 siblings, 1 reply; 4+ messages in thread
From: Siyuan, Fu @ 2019-10-21  2:41 UTC (permalink / raw)
  To: Rabeda, Maciej, devel@edk2.groups.io; +Cc: Wu, Jiaxin

Reviewed-by: Siyuan Fu <siyuan.fu@intel.com>

> -----Original Message-----
> From: Rabeda, Maciej <maciej.rabeda@intel.com>
> Sent: 2019年10月14日 20:37
> To: devel@edk2.groups.io
> Cc: Fu, Siyuan <siyuan.fu@intel.com>; Wu, Jiaxin <jiaxin.wu@intel.com>
> Subject: [PATCH v2 1/1] NetworkPkg/SnpDxe: Remove ExitBootServices
> event
> 
> Patch addresses Bugzilla #1972.
> During ExitBootServices stage, drivers should not call any
> functions known to use Memory Allocation Services. One of such
> functions (as per UEFI spec) is UNDI->Shutdown().
> 
> Since UNDI drivers during ExitBootServices phase are expected
> to put the adapter to such a state that it will not perform any DMA
> operations, there is no need to interface UNDI by SNP driver during
> that phase.
> 
> Finally, since ExitBootServices event notification function in SNP
> only calls UNDI->Shutdown() and Stop() functions, there is no need
> to create this event at all. Adding PCD to control creation of event
> reacting to ExitBootServices() call so that systems with UNDIs relying
> on SNP to call their Shutdown() and Stop() can still work.
> 
> Signed-off-by: Maciej Rabeda <maciej.rabeda@intel.com>
> Cc: Siyuan Fu <siyuan.fu@intel.com>
> Cc: Jiaxin Wu <jiaxin.wu@intel.com>
> ---
> 
> Notes:
>     v2:
>     - modified commit message
>     - added PCD to control ExitBootServices() creation event in SnpDxe
> 
>  NetworkPkg/SnpDxe/Snp.c      | 38 +++++++++++---------
>  NetworkPkg/NetworkPkg.dec    |  7 ++++
>  NetworkPkg/SnpDxe/Snp.h      |  1 +
>  NetworkPkg/SnpDxe/SnpDxe.inf |  3 ++
>  4 files changed, 32 insertions(+), 17 deletions(-)
> 
> diff --git a/NetworkPkg/SnpDxe/Snp.c b/NetworkPkg/SnpDxe/Snp.c
> index a23af05078bc..03317ffa26f1 100644
> --- a/NetworkPkg/SnpDxe/Snp.c
> +++ b/NetworkPkg/SnpDxe/Snp.c
> @@ -647,19 +647,21 @@ SimpleNetworkDriverStart (
>    PxeShutdown (Snp);
>    PxeStop (Snp);
> 
> -  //
> -  // Create EXIT_BOOT_SERIVES Event
> -  //
> -  Status = gBS->CreateEventEx (
> -                  EVT_NOTIFY_SIGNAL,
> -                  TPL_NOTIFY,
> -                  SnpNotifyExitBootServices,
> -                  Snp,
> -                  &gEfiEventExitBootServicesGuid,
> -                  &Snp->ExitBootServicesEvent
> -                  );
> -  if (EFI_ERROR (Status)) {
> -    goto Error_DeleteSNP;
> +  if (FixedPcdGetBool (PcdSnpCreateExitBootServicesEvent)) {
> +    //
> +    // Create EXIT_BOOT_SERIVES Event
> +    //
> +    Status = gBS->CreateEventEx (
> +                    EVT_NOTIFY_SIGNAL,
> +                    TPL_NOTIFY,
> +                    SnpNotifyExitBootServices,
> +                    Snp,
> +                    &gEfiEventExitBootServicesGuid,
> +                    &Snp->ExitBootServicesEvent
> +                    );
> +    if (EFI_ERROR (Status)) {
> +      goto Error_DeleteSNP;
> +    }
>    }
> 
>    //
> @@ -778,10 +780,12 @@ SimpleNetworkDriverStop (
>      return Status;
>    }
> 
> -  //
> -  // Close EXIT_BOOT_SERIVES Event
> -  //
> -  gBS->CloseEvent (Snp->ExitBootServicesEvent);
> +  if (FixedPcdGetBool (PcdSnpCreateExitBootServicesEvent)) {
> +    //
> +    // Close EXIT_BOOT_SERIVES Event
> +    //
> +    gBS->CloseEvent (Snp->ExitBootServicesEvent);
> +  }
> 
>    Status = gBS->CloseProtocol (
>                    Controller,
> diff --git a/NetworkPkg/NetworkPkg.dec b/NetworkPkg/NetworkPkg.dec
> index 944b1d1501c0..66e500cbeaf7 100644
> --- a/NetworkPkg/NetworkPkg.dec
> +++ b/NetworkPkg/NetworkPkg.dec
> @@ -109,6 +109,13 @@
>    # @Prompt TFTP block size.
> 
> gEfiNetworkPkgTokenSpaceGuid.PcdTftpBlockSize|0x0|UINT64|0x1000000B
> 
> +  ## Indicates whether SnpDxe driver will create an event that will be
> notified
> +  # upon gBS->ExitBootServices() call.
> +  # TRUE - Event being triggered upon ExitBootServices call will be created
> +  # FALSE - Event being triggered upon ExitBootServices call will NOT be
> created
> +  # @Prompt Indicates whether SnpDxe creates event for ExitBootServices()
> call.
> +
> gEfiNetworkPkgTokenSpaceGuid.PcdSnpCreateExitBootServicesEvent|TRUE|
> BOOLEAN|0x1000000C
> +
>  [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
>    ## IPv6 DHCP Unique Identifier (DUID) Type configuration (From RFCs 3315
> and 6355).
>    # 01 = DUID Based on Link-layer Address Plus Time [DUID-LLT]
> diff --git a/NetworkPkg/SnpDxe/Snp.h b/NetworkPkg/SnpDxe/Snp.h
> index e6b62930397d..4f64c525e357 100644
> --- a/NetworkPkg/SnpDxe/Snp.h
> +++ b/NetworkPkg/SnpDxe/Snp.h
> @@ -26,6 +26,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
>  #include <Library/UefiLib.h>
>  #include <Library/MemoryAllocationLib.h>
>  #include <Library/PrintLib.h>
> +#include <Library/PcdLib.h>
> 
>  #include <IndustryStandard/Pci.h>
>  #include <IndustryStandard/Acpi.h>
> diff --git a/NetworkPkg/SnpDxe/SnpDxe.inf
> b/NetworkPkg/SnpDxe/SnpDxe.inf
> index afeb1526cc10..79ea789c0837 100644
> --- a/NetworkPkg/SnpDxe/SnpDxe.inf
> +++ b/NetworkPkg/SnpDxe/SnpDxe.inf
> @@ -73,5 +73,8 @@
>    gEfiNetworkInterfaceIdentifierProtocolGuid_31 ## TO_START
>    gEfiPciIoProtocolGuid                         ## TO_START
> 
> +[Pcd]
> +  gEfiNetworkPkgTokenSpaceGuid.PcdSnpCreateExitBootServicesEvent   ##
> CONSUMES
> +
>  [UserExtensions.TianoCore."ExtraFiles"]
>    SnpDxeExtra.uni
> --
> 2.17.0.windows.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [edk2-devel] [PATCH v2 1/1] NetworkPkg/SnpDxe: Remove ExitBootServices event
  2019-10-21  2:41   ` Siyuan, Fu
@ 2019-10-21 16:42     ` Michael D Kinney
  0 siblings, 0 replies; 4+ messages in thread
From: Michael D Kinney @ 2019-10-21 16:42 UTC (permalink / raw)
  To: devel@edk2.groups.io, Fu, Siyuan, Rabeda, Maciej,
	Kinney, Michael D
  Cc: Wu, Jiaxin

Siyuan,

One comment on this patch is that the C code is using
FixedPcdGetPool() instead of PcdGetBool().  The FixedPcdGetBool()
is only recommended when the PCD type is guaranteed to be
FixedAtBuild and the PCD value must be known at compile,
with a constant value, usually to initialize fields in data
structures or when the PCD value is used in assembly code.

Since this PCD supports both Fixed and Patchable and is used
in if statements, I recommend PcdGetBool() be used.

Thanks,

Mike

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On
> Behalf Of Siyuan, Fu
> Sent: Sunday, October 20, 2019 7:42 PM
> To: Rabeda, Maciej <maciej.rabeda@intel.com>;
> devel@edk2.groups.io
> Cc: Wu, Jiaxin <jiaxin.wu@intel.com>
> Subject: Re: [edk2-devel] [PATCH v2 1/1]
> NetworkPkg/SnpDxe: Remove ExitBootServices event
> 
> Reviewed-by: Siyuan Fu <siyuan.fu@intel.com>
> 
> > -----Original Message-----
> > From: Rabeda, Maciej <maciej.rabeda@intel.com>
> > Sent: 2019年10月14日 20:37
> > To: devel@edk2.groups.io
> > Cc: Fu, Siyuan <siyuan.fu@intel.com>; Wu, Jiaxin
> <jiaxin.wu@intel.com>
> > Subject: [PATCH v2 1/1] NetworkPkg/SnpDxe: Remove
> ExitBootServices
> > event
> >
> > Patch addresses Bugzilla #1972.
> > During ExitBootServices stage, drivers should not
> call any functions
> > known to use Memory Allocation Services. One of such
> functions (as per
> > UEFI spec) is UNDI->Shutdown().
> >
> > Since UNDI drivers during ExitBootServices phase are
> expected to put
> > the adapter to such a state that it will not perform
> any DMA
> > operations, there is no need to interface UNDI by SNP
> driver during
> > that phase.
> >
> > Finally, since ExitBootServices event notification
> function in SNP
> > only calls UNDI->Shutdown() and Stop() functions,
> there is no need to
> > create this event at all. Adding PCD to control
> creation of event
> > reacting to ExitBootServices() call so that systems
> with UNDIs relying
> > on SNP to call their Shutdown() and Stop() can still
> work.
> >
> > Signed-off-by: Maciej Rabeda
> <maciej.rabeda@intel.com>
> > Cc: Siyuan Fu <siyuan.fu@intel.com>
> > Cc: Jiaxin Wu <jiaxin.wu@intel.com>
> > ---
> >
> > Notes:
> >     v2:
> >     - modified commit message
> >     - added PCD to control ExitBootServices()
> creation event in SnpDxe
> >
> >  NetworkPkg/SnpDxe/Snp.c      | 38 +++++++++++-------
> --
> >  NetworkPkg/NetworkPkg.dec    |  7 ++++
> >  NetworkPkg/SnpDxe/Snp.h      |  1 +
> >  NetworkPkg/SnpDxe/SnpDxe.inf |  3 ++
> >  4 files changed, 32 insertions(+), 17 deletions(-)
> >
> > diff --git a/NetworkPkg/SnpDxe/Snp.c
> b/NetworkPkg/SnpDxe/Snp.c index
> > a23af05078bc..03317ffa26f1 100644
> > --- a/NetworkPkg/SnpDxe/Snp.c
> > +++ b/NetworkPkg/SnpDxe/Snp.c
> > @@ -647,19 +647,21 @@ SimpleNetworkDriverStart (
> >    PxeShutdown (Snp);
> >    PxeStop (Snp);
> >
> > -  //
> > -  // Create EXIT_BOOT_SERIVES Event
> > -  //
> > -  Status = gBS->CreateEventEx (
> > -                  EVT_NOTIFY_SIGNAL,
> > -                  TPL_NOTIFY,
> > -                  SnpNotifyExitBootServices,
> > -                  Snp,
> > -                  &gEfiEventExitBootServicesGuid,
> > -                  &Snp->ExitBootServicesEvent
> > -                  );
> > -  if (EFI_ERROR (Status)) {
> > -    goto Error_DeleteSNP;
> > +  if (FixedPcdGetBool
> (PcdSnpCreateExitBootServicesEvent)) {
> > +    //
> > +    // Create EXIT_BOOT_SERIVES Event
> > +    //
> > +    Status = gBS->CreateEventEx (
> > +                    EVT_NOTIFY_SIGNAL,
> > +                    TPL_NOTIFY,
> > +                    SnpNotifyExitBootServices,
> > +                    Snp,
> > +                    &gEfiEventExitBootServicesGuid,
> > +                    &Snp->ExitBootServicesEvent
> > +                    );
> > +    if (EFI_ERROR (Status)) {
> > +      goto Error_DeleteSNP;
> > +    }
> >    }
> >
> >    //
> > @@ -778,10 +780,12 @@ SimpleNetworkDriverStop (
> >      return Status;
> >    }
> >
> > -  //
> > -  // Close EXIT_BOOT_SERIVES Event
> > -  //
> > -  gBS->CloseEvent (Snp->ExitBootServicesEvent);
> > +  if (FixedPcdGetBool
> (PcdSnpCreateExitBootServicesEvent)) {
> > +    //
> > +    // Close EXIT_BOOT_SERIVES Event
> > +    //
> > +    gBS->CloseEvent (Snp->ExitBootServicesEvent);  }
> >
> >    Status = gBS->CloseProtocol (
> >                    Controller,
> > diff --git a/NetworkPkg/NetworkPkg.dec
> b/NetworkPkg/NetworkPkg.dec
> > index 944b1d1501c0..66e500cbeaf7 100644
> > --- a/NetworkPkg/NetworkPkg.dec
> > +++ b/NetworkPkg/NetworkPkg.dec
> > @@ -109,6 +109,13 @@
> >    # @Prompt TFTP block size.
> >
> >
> gEfiNetworkPkgTokenSpaceGuid.PcdTftpBlockSize|0x0|UINT6
> 4|0x1000000B
> >
> > +  ## Indicates whether SnpDxe driver will create an
> event that will
> > + be
> > notified
> > +  # upon gBS->ExitBootServices() call.
> > +  # TRUE - Event being triggered upon
> ExitBootServices call will be
> > + created  # FALSE - Event being triggered upon
> ExitBootServices call
> > + will NOT be
> > created
> > +  # @Prompt Indicates whether SnpDxe creates event
> for
> > + ExitBootServices()
> > call.
> > +
> >
> gEfiNetworkPkgTokenSpaceGuid.PcdSnpCreateExitBootServic
> esEvent|TRUE|
> > BOOLEAN|0x1000000C
> > +
> >  [PcdsFixedAtBuild, PcdsPatchableInModule,
> PcdsDynamic, PcdsDynamicEx]
> >    ## IPv6 DHCP Unique Identifier (DUID) Type
> configuration (From RFCs
> > 3315 and 6355).
> >    # 01 = DUID Based on Link-layer Address Plus Time
> [DUID-LLT] diff
> > --git a/NetworkPkg/SnpDxe/Snp.h
> b/NetworkPkg/SnpDxe/Snp.h index
> > e6b62930397d..4f64c525e357 100644
> > --- a/NetworkPkg/SnpDxe/Snp.h
> > +++ b/NetworkPkg/SnpDxe/Snp.h
> > @@ -26,6 +26,7 @@ SPDX-License-Identifier: BSD-2-
> Clause-Patent
> > #include <Library/UefiLib.h>  #include
> <Library/MemoryAllocationLib.h>
> > #include <Library/PrintLib.h>
> > +#include <Library/PcdLib.h>
> >
> >  #include <IndustryStandard/Pci.h>
> >  #include <IndustryStandard/Acpi.h>
> > diff --git a/NetworkPkg/SnpDxe/SnpDxe.inf
> > b/NetworkPkg/SnpDxe/SnpDxe.inf index
> afeb1526cc10..79ea789c0837 100644
> > --- a/NetworkPkg/SnpDxe/SnpDxe.inf
> > +++ b/NetworkPkg/SnpDxe/SnpDxe.inf
> > @@ -73,5 +73,8 @@
> >    gEfiNetworkInterfaceIdentifierProtocolGuid_31 ##
> TO_START
> >    gEfiPciIoProtocolGuid                         ##
> TO_START
> >
> > +[Pcd]
> > +
> gEfiNetworkPkgTokenSpaceGuid.PcdSnpCreateExitBootServic
> esEvent   ##
> > CONSUMES
> > +
> >  [UserExtensions.TianoCore."ExtraFiles"]
> >    SnpDxeExtra.uni
> > --
> > 2.17.0.windows.1
> 
> 
> 


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-10-21 16:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-14 12:37 [PATCH v2 0/1] Remove UNDI calls from SNP during ExitBootServices Rabeda, Maciej
2019-10-14 12:37 ` [PATCH v2 1/1] NetworkPkg/SnpDxe: Remove ExitBootServices event Rabeda, Maciej
2019-10-21  2:41   ` Siyuan, Fu
2019-10-21 16:42     ` [edk2-devel] " Michael D Kinney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox