From patchwork Fri Sep 22 13:58:30 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: gary guo X-Patchwork-Id: 114027 Delivered-To: patch@linaro.org Received: by 10.140.106.117 with SMTP id d108csp3340728qgf; Fri, 22 Sep 2017 07:05:56 -0700 (PDT) X-Received: by 10.84.212.2 with SMTP id d2mr9189381pli.412.1506089155867; Fri, 22 Sep 2017 07:05:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1506089155; cv=none; d=google.com; s=arc-20160816; b=k3LfZVEW6WrqHW4/ojxY9c1TdL0qcXsEsJd2ddPNBKb3eEt4jb3JuGEgL6o+Ehjkr5 yq73zE/IN/RhqD5H0LEe4QXA9tufBcKa6Zp9LRTAT7jx5juEeIhxaFRLHt/TbVR6C/pk pT/+WG3svbxs5jIKxrA6Mcui1xwd2TquGlxDy6QAHWe3kH7Qt/gJBe1Ntt4n3IsazQx2 LimhTI4gjtnZB2nCcnswHzm/VShvbTIZK8wEU64CDJ538h2qMrezjUBKRCB2+lJH174S EAgCXuA/nJPFZ9yrsj+tnzEPh6FjxQxpdoEjFSeATAL11a7LwNhNnX8wb5LlIubM+jKz TXCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=IZP9IQxbU9EhlIIuuxAhIQXXy9wvLOsy1En+x+WJngQ=; b=Boti+QxE6j1/gjdy4xLRRKvisP1t/9BnUZqup9vwEmchzEYh0K57Pu7U808r4r58Pk LbX15zujFkw+Simhca9GlhQGgjgdyiyV26B53cwghOVzSZb3s5weoW0xL6Udv+vuTdR3 RCQbnNq/+6CeTgkRqvnGJbqmYOGuqZuTDo3yjxorfayvrpO+KRa+e8qXhrTogKz4ZDx0 Hg3quT0G5R9NU3KaNXjh4XcUd4JasXxhFZAWFK0qNleGinyZai+c9LAakbF6NPnz7WhJ BJipJYPyKtvkjJN9Gj/YrTvHtySsnXUn8iiChQ78vQmKhFtwRlhooPWv2LJDOFstFL+p 6V6A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=HyTj3UVF; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from ml01.01.org (ml01.01.org. [198.145.21.10]) by mx.google.com with ESMTPS id z96si2865376plh.577.2017.09.22.07.05.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 22 Sep 2017 07:05:55 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) client-ip=198.145.21.10; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=HyTj3UVF; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 198.145.21.10 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 453E721D046DE; Fri, 22 Sep 2017 07:02:47 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received: from mail-pg0-x22d.google.com (mail-pg0-x22d.google.com [IPv6:2607:f8b0:400e:c05::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 9148621E43B7B for ; Fri, 22 Sep 2017 07:02:45 -0700 (PDT) Received: by mail-pg0-x22d.google.com with SMTP id m30so641682pgn.6 for ; Fri, 22 Sep 2017 07:05:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=8rKIBUL9W5nARNOYFeIsBWviD+XcS4i13WVQsZk8CP4=; b=HyTj3UVF8cVcBk0QEveENB4wyF+XFhmc5aJMSmGSH64mcPuWbZp31Sy1NGZN2XtBYn 44exCeqTqErP7h43m10xo12epxiGtEnWbl35QOPCJSMJ0mPNizBNCSzigZORTcwh6n1R +TJ5fNozfUZmBx7XtbzklXR5RfPs2P/4WMy5s= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=8rKIBUL9W5nARNOYFeIsBWviD+XcS4i13WVQsZk8CP4=; b=i/ZP64A2njhyk4M4U16V3gw5YDH/GNxw2IquRe1h0PWHzlXwZZzOuaaDlenK4CbHl1 69gvWsl6BBys3vZI1mjbiIUctInG6nelnV5Jj+jCtZTceShfmbeBJPrVAqh8AAN9D/Z9 78H3GN72cxJ22R9NdiZX7IiKCY43VQYglk4zHzzhTfw5qcaXsn/YTtXT4Gcb4L3/fzGe 1WBuSoo6C5JyEqox5DcYeA3QEQIvujv2vTY7WjsOvDLXpF+HuP5vmxe3TwnsSxyEa/PT yLBumkDXnVpYJCV/kNcATHkJglTeLD7e/c2vM49kZEaaYm3cchbm84zV5CTudnWkTdDl 7paw== X-Gm-Message-State: AHPjjUj3XSnYbCkepdCt8gKWB+48BIc3nVhG9GdzmhX9eqeQaMP8gF7x 7/2KAYc8QkhSDePsam/UHTiFQw== X-Google-Smtp-Source: AOwi7QClwbMYL71WdvOGjVeMcZXVDjBgcc/535BRWku31Et+uQm4ENxfdfrrFR/u1RMQkg5+LAnJrA== X-Received: by 10.101.68.130 with SMTP id l2mr9589145pgq.346.1506089148343; Fri, 22 Sep 2017 07:05:48 -0700 (PDT) Received: from localhost.localdomain ([119.145.15.121]) by smtp.gmail.com with ESMTPSA id f11sm8072143pgt.65.2017.09.22.07.05.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 22 Sep 2017 07:05:47 -0700 (PDT) From: Heyi Guo To: leif.lindholm@linaro.org, linaro-uefi@lists.linaro.org, edk2-devel@lists.01.org, graeme.gregory@linaro.org Date: Fri, 22 Sep 2017 21:58:30 +0800 Message-Id: <1506088728-53634-4-git-send-email-heyi.guo@linaro.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1506088728-53634-1-git-send-email-heyi.guo@linaro.org> References: <1506088728-53634-1-git-send-email-heyi.guo@linaro.org> Subject: [edk2] [PATCH edk2-platforms v4 02/11] Hisilicon/D03/Net: Update Snp driver X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: huangming23@huawei.com, ard.biesheuvel@linaro.org, zhangjinsong2@huawei.com, Heyi Guo , wanghuiqiang@huawei.com, guoheyi@huawei.com, waip23@126.com, mengfanrong@huawei.com MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" 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 Signed-off-by: Heyi Guo --- 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 --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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

<-80n0e9y~G5F6t`F;`sj8pkHF` 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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|*