public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH 0/4] Conflict Detection for Tcp and PxeBc Driver
@ 2018-10-29  1:53 Songpeng Li
  2018-10-29  1:53 ` [PATCH 1/4] MdeModulePkg: Add Tag Protocol for PxeBc Driver Conflict Detection Songpeng Li
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Songpeng Li @ 2018-10-29  1:53 UTC (permalink / raw)
  To: edk2-devel; +Cc: Ye Ting, Wu Jiaxin, Fu Siyuan

Please refer to the log message of each commit for more details.

Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1278
Cc: Ye Ting <ting.ye@intel.com>
Cc: Wu Jiaxin <jiaxin.wu@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Songpeng Li (4):
  MdeModulePkg: Add Tag Protocol for PxeBc Driver Conflict Detection.
  MdeModulePkg/UefiPxeBcDxe: Add Conflict Detection Process.
  NetworkPkg/UefiPxeBcDxe: Add Conflict Detection Process.
  NetworkPkg/TcpDxe: Modify the Version of Driver Binding Protocol

 MdeModulePkg/Include/Protocol/PxeBcTag.h      | 26 ++++++++++++
 MdeModulePkg/MdeModulePkg.dec                 |  5 +++
 .../Network/UefiPxeBcDxe/PxeBcDriver.c        | 19 ++++++++-
 .../Network/UefiPxeBcDxe/PxeBcImpl.h          |  3 +-
 .../Network/UefiPxeBcDxe/UefiPxeBcDxe.inf     |  1 +
 NetworkPkg/TcpDxe/TcpDriver.c                 |  4 +-
 NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c         | 42 ++++++++++++++++++-
 NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h           |  1 +
 NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf      |  1 +
 9 files changed, 96 insertions(+), 6 deletions(-)
 create mode 100644 MdeModulePkg/Include/Protocol/PxeBcTag.h

-- 
2.18.0.windows.1



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

* [PATCH 1/4] MdeModulePkg: Add Tag Protocol for PxeBc Driver Conflict Detection.
  2018-10-29  1:53 [PATCH 0/4] Conflict Detection for Tcp and PxeBc Driver Songpeng Li
@ 2018-10-29  1:53 ` Songpeng Li
  2018-10-29  1:53 ` [PATCH 2/4] MdeModulePkg/UefiPxeBcDxe: Add Conflict Detection Process Songpeng Li
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Songpeng Li @ 2018-10-29  1:53 UTC (permalink / raw)
  To: edk2-devel; +Cc: Ye Ting, Wu Jiaxin, Fu Siyuan

The current PxeBc Driver in MdeModulePkg and NetworkPkg has no conflict
detection when both installed in platform, EDKII PxeBcTag Protocol is used
to detect whether a conflict PxeBcDxeDriver has been binded.

Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1278
Cc: Ye Ting <ting.ye@intel.com>
Cc: Wu Jiaxin <jiaxin.wu@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Songpeng Li <songpeng.li@intel.com>
---
 MdeModulePkg/Include/Protocol/PxeBcTag.h | 26 ++++++++++++++++++++++++
 MdeModulePkg/MdeModulePkg.dec            |  5 +++++
 2 files changed, 31 insertions(+)
 create mode 100644 MdeModulePkg/Include/Protocol/PxeBcTag.h

diff --git a/MdeModulePkg/Include/Protocol/PxeBcTag.h b/MdeModulePkg/Include/Protocol/PxeBcTag.h
new file mode 100644
index 0000000000..3b0ca01977
--- /dev/null
+++ b/MdeModulePkg/Include/Protocol/PxeBcTag.h
@@ -0,0 +1,26 @@
+/** @file
+  EDKII Pxe Bc Tag Protocol is used to detect whether a conflict PxeBcDxeDriver
+  has been binded.
+
+  Copyright (c) 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.
+
+**/
+
+#ifndef __PXE_BC_TAG_H__
+#define __PXE_BC_TAG_H__
+
+#define EDKII_PXE_BC_TAG_PROTOCOL_GUID \
+  { \
+    0xb12b6592, 0xc54e, 0x4100, {0xbc, 0x37, 0xf0, 0x85, 0x91, 0x99, 0x24, 0x33 } \
+  }
+
+extern EFI_GUID gEdkiiPxeBcTagProtocolGuid;
+
+#endif
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
index 428eeeb670..d6a7bf8970 100644
--- a/MdeModulePkg/MdeModulePkg.dec
+++ b/MdeModulePkg/MdeModulePkg.dec
@@ -617,6 +617,11 @@
 
   ## Include/Protocol/AtaAtapiPolicy.h
   gEdkiiAtaAtapiPolicyProtocolGuid = { 0xe59cd769, 0x5083, 0x4f26,{ 0x90, 0x94, 0x6c, 0x91, 0x9f, 0x91, 0x6c, 0x4e } }
+
+  ## For Conflict Detect of PxeBcDxe from MdeModulePkg/NetworkPkg
+  ## Include/Protocol/PxeBcTag.h
+  gEdkiiPxeBcTagProtocolGuid = { 0xb12b6592, 0xc54e, 0x4100, {0xbc, 0x37, 0xf0, 0x85, 0x91, 0x99, 0x24, 0x33 } }
+
 #
 # [Error.gEfiMdeModulePkgTokenSpaceGuid]
 #   0x80000001 | Invalid value provided.
-- 
2.18.0.windows.1



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

* [PATCH 2/4] MdeModulePkg/UefiPxeBcDxe: Add Conflict Detection Process.
  2018-10-29  1:53 [PATCH 0/4] Conflict Detection for Tcp and PxeBc Driver Songpeng Li
  2018-10-29  1:53 ` [PATCH 1/4] MdeModulePkg: Add Tag Protocol for PxeBc Driver Conflict Detection Songpeng Li
@ 2018-10-29  1:53 ` Songpeng Li
  2018-10-29  3:14   ` Fu, Siyuan
  2018-10-29  1:53 ` [PATCH 3/4] NetworkPkg/UefiPxeBcDxe: " Songpeng Li
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 8+ messages in thread
From: Songpeng Li @ 2018-10-29  1:53 UTC (permalink / raw)
  To: edk2-devel; +Cc: Ye Ting, Wu Jiaxin, Fu Siyuan

The current PxeBc Driver in MdeModulePkg and NetworkPkg has no conflict
detection when both installed in platform, this process is for conflict
driver detect.

Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1278
Cc: Ye Ting <ting.ye@intel.com>
Cc: Wu Jiaxin <jiaxin.wu@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Songpeng Li <songpeng.li@intel.com>
---
 .../Network/UefiPxeBcDxe/PxeBcDriver.c        | 19 ++++++++++++++++++-
 .../Network/UefiPxeBcDxe/PxeBcImpl.h          |  3 ++-
 .../Network/UefiPxeBcDxe/UefiPxeBcDxe.inf     |  1 +
 3 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcDriver.c b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcDriver.c
index 76c140d8e3..bd16f8b2e2 100644
--- a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcDriver.c
+++ b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcDriver.c
@@ -1,7 +1,7 @@
 /** @file
   The driver binding for UEFI PXEBC protocol.
 
-Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2007 - 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
@@ -84,6 +84,19 @@ PxeBcDriverBindingSupported (
   EFI_PXE_BASE_CODE_PROTOCOL  *PxeBc;
   EFI_STATUS                  Status;
 
+  Status = gBS->OpenProtocol (
+                  ControllerHandle,
+                  &gEdkiiPxeBcTagProtocolGuid,
+                  NULL,
+                  This->DriverBindingHandle,
+                  ControllerHandle,
+                  EFI_OPEN_PROTOCOL_TEST_PROTOCOL
+                  );
+
+  if (!EFI_ERROR (Status)) {
+    return EFI_ALREADY_STARTED;
+  }
+
   Status = gBS->OpenProtocol (
                   ControllerHandle,
                   &gEfiPxeBaseCodeProtocolGuid,
@@ -370,6 +383,8 @@ PxeBcDriverBindingStart (
                   &Private->PxeBc,
                   &gEfiLoadFileProtocolGuid,
                   &Private->LoadFile,
+                  &gEdkiiPxeBcTagProtocolGuid,
+                  NULL,
                   NULL
                   );
   if (EFI_ERROR (Status)) {
@@ -573,6 +588,8 @@ PxeBcDriverBindingStop (
                   &Private->PxeBc,
                   &gEfiLoadFileProtocolGuid,
                   &Private->LoadFile,
+                  &gEdkiiPxeBcTagProtocolGuid,
+                  NULL,
                   NULL
                   );
 
diff --git a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.h b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.h
index e96b6f2c5d..0fceb35b82 100644
--- a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.h
+++ b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.h
@@ -1,6 +1,6 @@
 /** @file
 
-Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2007 - 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
@@ -32,6 +32,7 @@ typedef struct _PXEBC_PRIVATE_DATA  PXEBC_PRIVATE_DATA;
 #include <Protocol/Arp.h>
 #include <Protocol/Ip4.h>
 #include <Protocol/Ip4Config2.h>
+#include <Protocol/PxeBcTag.h>
 
 #include <Library/DebugLib.h>
 #include <Library/DevicePathLib.h>
diff --git a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
index 0424019929..dc255534cb 100644
--- a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
+++ b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
@@ -94,6 +94,7 @@
   gEfiIp4ServiceBindingProtocolGuid                ## TO_START
   gEfiIp4ProtocolGuid                              ## TO_START
   gEfiIp4Config2ProtocolGuid                       ## TO_START
+  gEdkiiPxeBcTagProtocolGuid                       ## SOMETIMES_CONSUMES
 
 [Pcd]
   gEfiMdeModulePkgTokenSpaceGuid.PcdTftpBlockSize  ## SOMETIMES_CONSUMES
-- 
2.18.0.windows.1



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

* [PATCH 3/4] NetworkPkg/UefiPxeBcDxe: Add Conflict Detection Process.
  2018-10-29  1:53 [PATCH 0/4] Conflict Detection for Tcp and PxeBc Driver Songpeng Li
  2018-10-29  1:53 ` [PATCH 1/4] MdeModulePkg: Add Tag Protocol for PxeBc Driver Conflict Detection Songpeng Li
  2018-10-29  1:53 ` [PATCH 2/4] MdeModulePkg/UefiPxeBcDxe: Add Conflict Detection Process Songpeng Li
@ 2018-10-29  1:53 ` Songpeng Li
  2018-10-29  1:53 ` [PATCH 4/4] NetworkPkg/TcpDxe: Modify the Version of Driver Binding Protocol Songpeng Li
  2018-10-29 11:40 ` [PATCH 0/4] Conflict Detection for Tcp and PxeBc Driver Leif Lindholm
  4 siblings, 0 replies; 8+ messages in thread
From: Songpeng Li @ 2018-10-29  1:53 UTC (permalink / raw)
  To: edk2-devel; +Cc: Ye Ting, Wu Jiaxin, Fu Siyuan

The current PxeBc Driver in MdeModulePkg and NetworkPkg has no conflict
detection when both installed in platform, this process is for conflict
driver detect.

Also we modified the version of the driver binding protocol of PxeBc Driver
in NetworkPkg for overriding the same driver in MdeModulePkg.

Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1278
Cc: Ye Ting <ting.ye@intel.com>
Cc: Wu Jiaxin <jiaxin.wu@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Songpeng Li <songpeng.li@intel.com>
---
 NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c    | 42 ++++++++++++++++++++++--
 NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h      |  1 +
 NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf |  1 +
 3 files changed, 42 insertions(+), 2 deletions(-)

diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c b/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
index 0ab640beca..70b0948daa 100644
--- a/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
+++ b/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
@@ -21,7 +21,7 @@ EFI_DRIVER_BINDING_PROTOCOL gPxeBcIp4DriverBinding = {
   PxeBcIp4DriverBindingSupported,
   PxeBcIp4DriverBindingStart,
   PxeBcIp4DriverBindingStop,
-  0xa,
+  0xb,
   NULL,
   NULL
 };
@@ -30,7 +30,7 @@ EFI_DRIVER_BINDING_PROTOCOL gPxeBcIp6DriverBinding = {
   PxeBcIp6DriverBindingSupported,
   PxeBcIp6DriverBindingStart,
   PxeBcIp6DriverBindingStop,
-  0xa,
+  0xb,
   NULL,
   NULL
 };
@@ -1319,6 +1319,20 @@ PxeBcSupported (
     MtftpServiceBindingGuid = &gEfiMtftp6ServiceBindingProtocolGuid;
   }
 
+  if (IpVersion == IP_VERSION_4) {
+    Status = gBS->OpenProtocol (
+                    ControllerHandle,
+                    &gEdkiiPxeBcTagProtocolGuid,
+                    NULL,
+                    This->DriverBindingHandle,
+                    ControllerHandle,
+                    EFI_OPEN_PROTOCOL_TEST_PROTOCOL
+                    );
+    if (!EFI_ERROR (Status)) {
+      return EFI_ALREADY_STARTED;
+    }
+  }
+
   //
   // Try to open the Mtftp and Dhcp protocol to test whether IP stack is ready.
   //
@@ -1492,6 +1506,23 @@ PxeBcStart (
     goto ON_ERROR;
   }
 
+  if (IpVersion == IP_VERSION_4) {
+    //
+    // Install Tag Guid For Conflict Detect
+    //
+    Status = gBS->InstallMultipleProtocolInterfaces(
+                    &ControllerHandle,
+                    &gEdkiiPxeBcTagProtocolGuid, NULL,
+                    NULL
+                    );
+    if (EFI_ERROR (Status)) {
+      //
+      // Failed to install Tag Guid
+      //
+      goto ON_ERROR;
+    }
+  }
+
   return EFI_SUCCESS;
 
 ON_ERROR:
@@ -1622,6 +1653,13 @@ PxeBcStop (
     return Status;
   }
 
+  if (IpVersion == IP_VERSION_4) {
+    gBS->UninstallMultipleProtocolInterfaces(
+           ControllerHandle,
+           &gEdkiiPxeBcTagProtocolGuid, NULL,
+           NULL
+           );
+  }
 
   if (Private->Ip4Nic != NULL && IpVersion == IP_VERSION_4) {
     PxeBcDestroyIp4Children (This, Private);
diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h b/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h
index 0bb5d51e93..453a3189db 100644
--- a/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h
+++ b/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h
@@ -41,6 +41,7 @@
 #include <Protocol/ServiceBinding.h>
 #include <Protocol/DriverBinding.h>
 #include <Protocol/AdapterInformation.h>
+#include <Protocol/PxeBcTag.h>
 
 #include <Library/DebugLib.h>
 #include <Library/BaseMemoryLib.h>
diff --git a/NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf b/NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
index 130a5456e2..8372cc8982 100644
--- a/NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
+++ b/NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
@@ -107,6 +107,7 @@
   gEfiPxeBaseCodeProtocolGuid                          ## BY_START
   gEfiLoadFileProtocolGuid                             ## BY_START
   gEfiAdapterInformationProtocolGuid                   ## SOMETIMES_CONSUMES
+  gEdkiiPxeBcTagProtocolGuid                           ## SOMETIMES_CONSUMES
 
 [Guids]
   gEfiAdapterInfoUndiIpv6SupportGuid                   ## SOMETIMES_CONSUMES ## GUID
-- 
2.18.0.windows.1



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

* [PATCH 4/4] NetworkPkg/TcpDxe: Modify the Version of Driver Binding Protocol
  2018-10-29  1:53 [PATCH 0/4] Conflict Detection for Tcp and PxeBc Driver Songpeng Li
                   ` (2 preceding siblings ...)
  2018-10-29  1:53 ` [PATCH 3/4] NetworkPkg/UefiPxeBcDxe: " Songpeng Li
@ 2018-10-29  1:53 ` Songpeng Li
  2018-10-29 11:40 ` [PATCH 0/4] Conflict Detection for Tcp and PxeBc Driver Leif Lindholm
  4 siblings, 0 replies; 8+ messages in thread
From: Songpeng Li @ 2018-10-29  1:53 UTC (permalink / raw)
  To: edk2-devel; +Cc: Ye Ting, Wu Jiaxin, Fu Siyuan

We modified the version of the driver binding protocol of Tcp Driver
in NetworkPkg for overriding the same driver in MdeModulePkg.

Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1278
Cc: Ye Ting <ting.ye@intel.com>
Cc: Wu Jiaxin <jiaxin.wu@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Songpeng Li <songpeng.li@intel.com>
---
 NetworkPkg/TcpDxe/TcpDriver.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/NetworkPkg/TcpDxe/TcpDriver.c b/NetworkPkg/TcpDxe/TcpDriver.c
index 2d4b16cd9e..824e235ce9 100644
--- a/NetworkPkg/TcpDxe/TcpDriver.c
+++ b/NetworkPkg/TcpDxe/TcpDriver.c
@@ -70,7 +70,7 @@ EFI_DRIVER_BINDING_PROTOCOL   gTcp4DriverBinding = {
   Tcp4DriverBindingSupported,
   Tcp4DriverBindingStart,
   Tcp4DriverBindingStop,
-  0xa,
+  0xb,
   NULL,
   NULL
 };
@@ -79,7 +79,7 @@ EFI_DRIVER_BINDING_PROTOCOL   gTcp6DriverBinding = {
   Tcp6DriverBindingSupported,
   Tcp6DriverBindingStart,
   Tcp6DriverBindingStop,
-  0xa,
+  0xb,
   NULL,
   NULL
 };
-- 
2.18.0.windows.1



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

* Re: [PATCH 2/4] MdeModulePkg/UefiPxeBcDxe: Add Conflict Detection Process.
  2018-10-29  1:53 ` [PATCH 2/4] MdeModulePkg/UefiPxeBcDxe: Add Conflict Detection Process Songpeng Li
@ 2018-10-29  3:14   ` Fu, Siyuan
  0 siblings, 0 replies; 8+ messages in thread
From: Fu, Siyuan @ 2018-10-29  3:14 UTC (permalink / raw)
  To: Li, Songpeng, edk2-devel@lists.01.org; +Cc: Ye, Ting, Wu, Jiaxin

Hi, Songpeng

The tag protocol guid is installed in driver binding start so it should be marked as BY_START in INF file.

> +  gEdkiiPxeBcTagProtocolGuid                       ## SOMETIMES_CONSUMES

BestRegards
Fu Siyuan

> -----Original Message-----
> From: Li, Songpeng
> Sent: Monday, October 29, 2018 9:53 AM
> To: edk2-devel@lists.01.org
> Cc: Ye, Ting <ting.ye@intel.com>; Wu, Jiaxin <jiaxin.wu@intel.com>; Fu,
> Siyuan <siyuan.fu@intel.com>
> Subject: [PATCH 2/4] MdeModulePkg/UefiPxeBcDxe: Add Conflict Detection
> Process.
> 
> The current PxeBc Driver in MdeModulePkg and NetworkPkg has no conflict
> detection when both installed in platform, this process is for conflict
> driver detect.
> 
> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1278
> Cc: Ye Ting <ting.ye@intel.com>
> Cc: Wu Jiaxin <jiaxin.wu@intel.com>
> Cc: Fu Siyuan <siyuan.fu@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Songpeng Li <songpeng.li@intel.com>
> ---
>  .../Network/UefiPxeBcDxe/PxeBcDriver.c        | 19 ++++++++++++++++++-
>  .../Network/UefiPxeBcDxe/PxeBcImpl.h          |  3 ++-
>  .../Network/UefiPxeBcDxe/UefiPxeBcDxe.inf     |  1 +
>  3 files changed, 21 insertions(+), 2 deletions(-)
> 
> diff --git a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcDriver.c
> b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcDriver.c
> index 76c140d8e3..bd16f8b2e2 100644
> --- a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcDriver.c
> +++ b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcDriver.c
> @@ -1,7 +1,7 @@
>  /** @file
>    The driver binding for UEFI PXEBC protocol.
> 
> -Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2007 - 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
> @@ -84,6 +84,19 @@ PxeBcDriverBindingSupported (
>    EFI_PXE_BASE_CODE_PROTOCOL  *PxeBc;
>    EFI_STATUS                  Status;
> 
> +  Status = gBS->OpenProtocol (
> +                  ControllerHandle,
> +                  &gEdkiiPxeBcTagProtocolGuid,
> +                  NULL,
> +                  This->DriverBindingHandle,
> +                  ControllerHandle,
> +                  EFI_OPEN_PROTOCOL_TEST_PROTOCOL
> +                  );
> +
> +  if (!EFI_ERROR (Status)) {
> +    return EFI_ALREADY_STARTED;
> +  }
> +
>    Status = gBS->OpenProtocol (
>                    ControllerHandle,
>                    &gEfiPxeBaseCodeProtocolGuid,
> @@ -370,6 +383,8 @@ PxeBcDriverBindingStart (
>                    &Private->PxeBc,
>                    &gEfiLoadFileProtocolGuid,
>                    &Private->LoadFile,
> +                  &gEdkiiPxeBcTagProtocolGuid,
> +                  NULL,
>                    NULL
>                    );
>    if (EFI_ERROR (Status)) {
> @@ -573,6 +588,8 @@ PxeBcDriverBindingStop (
>                    &Private->PxeBc,
>                    &gEfiLoadFileProtocolGuid,
>                    &Private->LoadFile,
> +                  &gEdkiiPxeBcTagProtocolGuid,
> +                  NULL,
>                    NULL
>                    );
> 
> diff --git a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.h
> b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.h
> index e96b6f2c5d..0fceb35b82 100644
> --- a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.h
> +++ b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.h
> @@ -1,6 +1,6 @@
>  /** @file
> 
> -Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2007 - 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
> @@ -32,6 +32,7 @@ typedef struct _PXEBC_PRIVATE_DATA  PXEBC_PRIVATE_DATA;
>  #include <Protocol/Arp.h>
>  #include <Protocol/Ip4.h>
>  #include <Protocol/Ip4Config2.h>
> +#include <Protocol/PxeBcTag.h>
> 
>  #include <Library/DebugLib.h>
>  #include <Library/DevicePathLib.h>
> diff --git a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
> b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
> index 0424019929..dc255534cb 100644
> --- a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
> +++ b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
> @@ -94,6 +94,7 @@
>    gEfiIp4ServiceBindingProtocolGuid                ## TO_START
>    gEfiIp4ProtocolGuid                              ## TO_START
>    gEfiIp4Config2ProtocolGuid                       ## TO_START
> +  gEdkiiPxeBcTagProtocolGuid                       ## SOMETIMES_CONSUMES
> 
>  [Pcd]
>    gEfiMdeModulePkgTokenSpaceGuid.PcdTftpBlockSize  ## SOMETIMES_CONSUMES
> --
> 2.18.0.windows.1



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

* Re: [PATCH 0/4] Conflict Detection for Tcp and PxeBc Driver
  2018-10-29  1:53 [PATCH 0/4] Conflict Detection for Tcp and PxeBc Driver Songpeng Li
                   ` (3 preceding siblings ...)
  2018-10-29  1:53 ` [PATCH 4/4] NetworkPkg/TcpDxe: Modify the Version of Driver Binding Protocol Songpeng Li
@ 2018-10-29 11:40 ` Leif Lindholm
  2018-10-30  2:22   ` Li, Songpeng
  4 siblings, 1 reply; 8+ messages in thread
From: Leif Lindholm @ 2018-10-29 11:40 UTC (permalink / raw)
  To: Songpeng Li; +Cc: edk2-devel, Ye Ting, Fu Siyuan, Wu Jiaxin

Hi Songpeng,

On Mon, Oct 29, 2018 at 09:53:22AM +0800, Songpeng Li wrote:
> Please refer to the log message of each commit for more details.
> 
> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1278
> Cc: Ye Ting <ting.ye@intel.com>
> Cc: Wu Jiaxin <jiaxin.wu@intel.com>
> Cc: Fu Siyuan <siyuan.fu@intel.com>
> Songpeng Li (4):
>   MdeModulePkg: Add Tag Protocol for PxeBc Driver Conflict Detection.
>   MdeModulePkg/UefiPxeBcDxe: Add Conflict Detection Process.
>   NetworkPkg/UefiPxeBcDxe: Add Conflict Detection Process.
>   NetworkPkg/TcpDxe: Modify the Version of Driver Binding Protocol
> 
>  MdeModulePkg/Include/Protocol/PxeBcTag.h      | 26 ++++++++++++
>  MdeModulePkg/MdeModulePkg.dec                 |  5 +++
>  .../Network/UefiPxeBcDxe/PxeBcDriver.c        | 19 ++++++++-
>  .../Network/UefiPxeBcDxe/PxeBcImpl.h          |  3 +-
>  .../Network/UefiPxeBcDxe/UefiPxeBcDxe.inf     |  1 +

Can you ensure you use the options specified in
https://github.com/tianocore/tianocore.github.io/wiki/Laszlo's-unkempt-git-guide-for-edk2-contributors-and-maintainers#contrib-23
when generating your patches?

This way we don't need to guess which files are being modified when
looking at the summary. And it sorts the files modified by decreasing
level of abstraction - so we (for example) see changes to structs
before we see changes to how structs are used.

(This comment does not in itself motivate a v2.)

Best Regards,

Leif

>  NetworkPkg/TcpDxe/TcpDriver.c                 |  4 +-
>  NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c         | 42 ++++++++++++++++++-
>  NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h           |  1 +
>  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf      |  1 +
>  9 files changed, 96 insertions(+), 6 deletions(-)
>  create mode 100644 MdeModulePkg/Include/Protocol/PxeBcTag.h
>
> -- 
> 2.18.0.windows.1
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel


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

* Re: [PATCH 0/4] Conflict Detection for Tcp and PxeBc Driver
  2018-10-29 11:40 ` [PATCH 0/4] Conflict Detection for Tcp and PxeBc Driver Leif Lindholm
@ 2018-10-30  2:22   ` Li, Songpeng
  0 siblings, 0 replies; 8+ messages in thread
From: Li, Songpeng @ 2018-10-30  2:22 UTC (permalink / raw)
  To: Leif Lindholm; +Cc: edk2-devel@lists.01.org, Ye, Ting, Fu, Siyuan, Wu, Jiaxin

Thanks for the review, this patch and its version 2 are both dropped.


Best,
Songpeng


-----Original Message-----
From: Leif Lindholm [mailto:leif.lindholm@linaro.org] 
Sent: Monday, October 29, 2018 7:40 PM
To: Li, Songpeng <songpeng.li@intel.com>
Cc: edk2-devel@lists.01.org; Ye, Ting <ting.ye@intel.com>; Fu, Siyuan <siyuan.fu@intel.com>; Wu, Jiaxin <jiaxin.wu@intel.com>
Subject: Re: [edk2] [PATCH 0/4] Conflict Detection for Tcp and PxeBc Driver

Hi Songpeng,

On Mon, Oct 29, 2018 at 09:53:22AM +0800, Songpeng Li wrote:
> Please refer to the log message of each commit for more details.
> 
> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1278
> Cc: Ye Ting <ting.ye@intel.com>
> Cc: Wu Jiaxin <jiaxin.wu@intel.com>
> Cc: Fu Siyuan <siyuan.fu@intel.com>
> Songpeng Li (4):
>   MdeModulePkg: Add Tag Protocol for PxeBc Driver Conflict Detection.
>   MdeModulePkg/UefiPxeBcDxe: Add Conflict Detection Process.
>   NetworkPkg/UefiPxeBcDxe: Add Conflict Detection Process.
>   NetworkPkg/TcpDxe: Modify the Version of Driver Binding Protocol
> 
>  MdeModulePkg/Include/Protocol/PxeBcTag.h      | 26 ++++++++++++
>  MdeModulePkg/MdeModulePkg.dec                 |  5 +++
>  .../Network/UefiPxeBcDxe/PxeBcDriver.c        | 19 ++++++++-
>  .../Network/UefiPxeBcDxe/PxeBcImpl.h          |  3 +-
>  .../Network/UefiPxeBcDxe/UefiPxeBcDxe.inf     |  1 +

Can you ensure you use the options specified in
https://github.com/tianocore/tianocore.github.io/wiki/Laszlo's-unkempt-git-guide-for-edk2-contributors-and-maintainers#contrib-23
when generating your patches?

This way we don't need to guess which files are being modified when looking at the summary. And it sorts the files modified by decreasing level of abstraction - so we (for example) see changes to structs before we see changes to how structs are used.

(This comment does not in itself motivate a v2.)

Best Regards,

Leif

>  NetworkPkg/TcpDxe/TcpDriver.c                 |  4 +-
>  NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c         | 42 ++++++++++++++++++-
>  NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h           |  1 +
>  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf      |  1 +
>  9 files changed, 96 insertions(+), 6 deletions(-)  create mode 100644 
> MdeModulePkg/Include/Protocol/PxeBcTag.h
>
> --
> 2.18.0.windows.1
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel


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

end of thread, other threads:[~2018-10-30  2:22 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-29  1:53 [PATCH 0/4] Conflict Detection for Tcp and PxeBc Driver Songpeng Li
2018-10-29  1:53 ` [PATCH 1/4] MdeModulePkg: Add Tag Protocol for PxeBc Driver Conflict Detection Songpeng Li
2018-10-29  1:53 ` [PATCH 2/4] MdeModulePkg/UefiPxeBcDxe: Add Conflict Detection Process Songpeng Li
2018-10-29  3:14   ` Fu, Siyuan
2018-10-29  1:53 ` [PATCH 3/4] NetworkPkg/UefiPxeBcDxe: " Songpeng Li
2018-10-29  1:53 ` [PATCH 4/4] NetworkPkg/TcpDxe: Modify the Version of Driver Binding Protocol Songpeng Li
2018-10-29 11:40 ` [PATCH 0/4] Conflict Detection for Tcp and PxeBc Driver Leif Lindholm
2018-10-30  2:22   ` Li, Songpeng

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