diff mbox series

[edk2,edk2-platforms,v4,02/11] Hisilicon/D03/Net: Update Snp driver

Message ID 1506088728-53634-4-git-send-email-heyi.guo@linaro.org
State New
Headers show
Series None | expand

Commit Message

gary guo Sept. 22, 2017, 1:58 p.m. UTC
1. Replace SnpPV660Dxe with SnpPV600Dxe;
2. Add SnpPlatform:
     Install protocol to enable nic port which are using.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <huangming23@huawei.com>

Signed-off-by: Heyi Guo <heyi.guo@linaro.org>

---
 Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi | Bin 0 -> 26688 bytes
 Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf |  24 +++++++++++++++++
 Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi | Bin 56832 -> 0 bytes
 Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf |  27 --------------------
 Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.efi | Bin 0 -> 3040 bytes
 Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.inf |  24 +++++++++++++++++
 6 files changed, 48 insertions(+), 27 deletions(-)

-- 
1.9.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
diff mbox series

Patch

diff --git a/Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi b/Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.efi
new file mode 100644
index 0000000000000000000000000000000000000000..8ce6a6d610be59ddf9c8c54f9c788adb784f9525
GIT binary patch
literal 26688
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

literal 0
HcmV?d00001

diff --git a/Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf b/Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
new file mode 100644
index 0000000..90e478d
--- /dev/null
+++ b/Platform/Hisilicon/D03/Drivers/Net/SnpPV600Dxe/SnpPV600Dxe.inf
@@ -0,0 +1,24 @@ 
+#/** @file
+#
+#    Copyright (c) 2017, Hisilicon Limited. All rights reserved.
+#    Copyright (c) 2017, Linaro Limited. All rights reserved.
+#
+#    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                    = 0x00010019
+  BASE_NAME                      = SnpPV600Dxe
+  FILE_GUID                      = 3247F15F-3612-4803-BD4E-4104D7EF944A
+  MODULE_TYPE                    = DXE_DRIVER
+  VERSION_STRING                 = 1.0
+
+[Binaries.AARCH64]
+  PE32|SnpPV600Dxe.efi|*
diff --git a/Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi b/Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.efi
deleted file mode 100644
index eb6940372a87c37b17a393d1b1fa1eb6157ed9af..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 56832
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

diff --git a/Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf b/Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf
deleted file mode 100644
index 204ef17..0000000
--- a/Platform/Hisilicon/D03/Drivers/Net/SnpPV660Dxe/SnpPV600Dxe.inf
+++ /dev/null
@@ -1,27 +0,0 @@ 
-#/** @file
-#
-#    Copyright (c) 2016, Hisilicon Limited. All rights reserved.
-#    Copyright (c) 2016-2017, Linaro Limited. All rights reserved.
-#
-#    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                      = SnpPV600Dxe
-  FILE_GUID                      = 92D37768-571C-48d9-BEF5-9744AE2FDAF4
-  MODULE_TYPE                    = UEFI_DRIVER
-  VERSION_STRING                 = 1.0
-
-  ENTRY_POINT                    = InitializeSnpPV600Driver
-  UNLOAD_IMAGE                   = SnpPV600Unload
-
-[Binaries]
-  PE32|SnpPV600Dxe.efi|*
diff --git a/Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.efi b/Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.efi
new file mode 100644
index 0000000000000000000000000000000000000000..5e7d8bd2311f5089fdb8c0b490d5611804ee7a29
GIT binary patch
literal 3040
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
HL^S^bP?JAL

literal 0
HcmV?d00001

diff --git a/Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.inf b/Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.inf
new file mode 100644
index 0000000..10b2003
--- /dev/null
+++ b/Platform/Hisilicon/D03/Drivers/Net/SnpPlatform/SnpPlatform.inf
@@ -0,0 +1,24 @@ 
+#/** @file
+#
+#    Copyright (c) 2017, Hisilicon Limited. All rights reserved.
+#    Copyright (c) 2017, Linaro Limited. All rights reserved.
+#
+#    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                    = 0x00010019
+  BASE_NAME                      = SnpPlatform
+  FILE_GUID                      = 102D8FC9-20A4-42EB-AC14-1C98BA5B17A8
+  MODULE_TYPE                    = DXE_DRIVER
+  VERSION_STRING                 = 1.0
+
+[Binaries.AARCH64]
+  PE32|SnpPlatform.efi|*