From nobody Wed May 1 23:28:05 2024 Delivered-To: importer@patchew.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1504240963000980.0508440188256; Thu, 31 Aug 2017 21:42:43 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id CEE3921E7493B; Thu, 31 Aug 2017 21:39:56 -0700 (PDT) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 9976F21E74914 for ; Thu, 31 Aug 2017 21:39:55 -0700 (PDT) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 31 Aug 2017 21:42:39 -0700 Received: from shwdeopenpsi014.ccr.corp.intel.com ([10.239.9.13]) by orsmga002.jf.intel.com with ESMTP; 31 Aug 2017 21:42:38 -0700 X-Original-To: edk2-devel@lists.01.org X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,456,1498546800"; d="scan'208";a="130587421" From: Hao Wu To: edk2-devel@lists.01.org Date: Fri, 1 Sep 2017 12:42:37 +0800 Message-Id: <20170901044237.3260-1-hao.a.wu@intel.com> X-Mailer: git-send-email 2.12.0.windows.1 Subject: [edk2] [PATCH v3] SourceLevelDebugPkg: Use Pcd for the revision of transfer protocol 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: Hao Wu , Ruiyu Ni MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" V3 changes: Add detailed description for the usage of the Pcd in package DEC file. Update the comment for the introduced Pcd in module INF files. V2 changes: Instead of using a global variable, use a Pcd for transfer protocol revision. Previously, the revison of the debug agent transfer protocol is reflected by a macro. This commit introduces a Pcd to reflect the revision in order to avoid the comparision of two macros, which will generate a constant result detected by code checkers. Cc: Ruiyu Ni Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Hao Wu Reviewed-by: Ruiyu Ni --- SourceLevelDebugPkg/Include/TransferProtocol.h | 3 +-- .../Library/DebugAgent/DebugAgentCommon/DebugAgent.c | 6 +++--- SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf | 1 + SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf | 1 + SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf | 1 + SourceLevelDebugPkg/SourceLevelDebugPkg.dec | 9 +++++= +++- SourceLevelDebugPkg/SourceLevelDebugPkg.uni | 9 +++++= +++- 7 files changed, 23 insertions(+), 7 deletions(-) diff --git a/SourceLevelDebugPkg/Include/TransferProtocol.h b/SourceLevelDe= bugPkg/Include/TransferProtocol.h index ef7c891c39..5f9f35b5d7 100644 --- a/SourceLevelDebugPkg/Include/TransferProtocol.h +++ b/SourceLevelDebugPkg/Include/TransferProtocol.h @@ -2,7 +2,7 @@ Transfer protocol defintions used by debug agent and host. It is only intended to be used by Debug related module implementation. =20 - Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.
+ Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BS= D License which accompanies this distribution. The full text of the license may b= e found at @@ -24,7 +24,6 @@ // #define DEBUG_AGENT_REVISION_03 ((0 << 16) | 03) #define DEBUG_AGENT_REVISION_04 ((0 << 16) | 04) -#define DEBUG_AGENT_REVISION DEBUG_AGENT_REVISION_04 #define DEBUG_AGENT_CAPABILITIES 0 =20 // diff --git a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugA= gent.c b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent= .c index f156fe24db..36b1ef924c 100644 --- a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c +++ b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c @@ -1564,7 +1564,7 @@ ReadMemoryAndSendResponsePacket ( // Compression/decompression support was added since revision 0.4. // Revision 0.3 shouldn't compress the packet. // - if (DEBUG_AGENT_REVISION >=3D DEBUG_AGENT_REVISION_04) { + if (PcdGet32(PcdTransferProtocolRevision) >=3D DEBUG_AGENT_REVISION_04= ) { // // Get the compressed data size without modifying the packet. // @@ -1711,7 +1711,7 @@ AttachHost ( } if (IncompatibilityFlag) { // - // If the incompatible Debug Packet received, the HOST should be runni= ng transfer protocol before DEBUG_AGENT_REVISION. + // If the incompatible Debug Packet received, the HOST should be runni= ng transfer protocol before PcdTransferProtocolRevision. // It could be UDK Debugger for Windows v1.1/v1.2 or for Linux v0.8/v1= .2. // DebugPortWriteBuffer (Handle, (UINT8 *) mErrorMsgVersionAlert, AsciiSt= rLen (mErrorMsgVersionAlert)); @@ -2192,7 +2192,7 @@ CommandCommunication ( break; =20 case DEBUG_COMMAND_GET_REVISION: - DebugAgentRevision.Revision =3D DEBUG_AGENT_REVISION; + DebugAgentRevision.Revision =3D PcdGet32(PcdTransferProtocolRevision= ); DebugAgentRevision.Capabilities =3D DEBUG_AGENT_CAPABILITIES; Status =3D SendDataResponsePacket ((UINT8 *) &DebugAgentRevision, (U= INT16) sizeof (DEBUG_DATA_RESPONSE_GET_REVISION), DebugHeader); break; diff --git a/SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf b/= SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf index ce36345bab..7a2b4378a6 100644 --- a/SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf +++ b/SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf @@ -101,4 +101,5 @@ gEfiMdePkgTokenSpaceGuid.PcdFSBClock ##= SOMETIMES_CONSUMES gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdExceptionsIgnoredByDebugger ##= SOMETIMES_CONSUMES gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugPortHandleBufferSize ##= CONSUMES + gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdTransferProtocolRevision ##= CONSUMES =20 diff --git a/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf= b/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf index 12c2a71b78..12534a298c 100644 --- a/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf +++ b/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf @@ -91,4 +91,5 @@ gEfiMdePkgTokenSpaceGuid.PcdFSBClock ##= SOMETIMES_CONSUMES gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdExceptionsIgnoredByDebugger ##= SOMETIMES_CONSUMES gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugPortHandleBufferSize ##= SOMETIMES_CONSUMES + gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdTransferProtocolRevision ##= CONSUMES =20 diff --git a/SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf b/= SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf index 1fa5745b1c..580ae5bc80 100644 --- a/SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf +++ b/SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf @@ -86,4 +86,5 @@ gEfiMdePkgTokenSpaceGuid.PcdFSBClock = ## SOMETIMES_CONSUMES # Skip Page Fault exception (14) by default in SMM gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdExceptionsIgnoredByDebugger|0x0= 0004000 ## SOMETIMES_CONSUMES + gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdTransferProtocolRevision = ## CONSUMES =20 diff --git a/SourceLevelDebugPkg/SourceLevelDebugPkg.dec b/SourceLevelDebug= Pkg/SourceLevelDebugPkg.dec index 9579c3e006..c9a47f6255 100644 --- a/SourceLevelDebugPkg/SourceLevelDebugPkg.dec +++ b/SourceLevelDebugPkg/SourceLevelDebugPkg.dec @@ -6,7 +6,7 @@ # and host, PeCoffExtraActionLib instance to report symbol path informatio= n, # etc. # -# Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.
+# Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.
# This program and the accompanying materials are licensed and made availa= ble under=20 # the terms and conditions of the BSD License that accompanies this distri= bution. =20 # The full text of the license may be found at @@ -112,5 +112,12 @@ # @Prompt Configure debug device detection timeout value. gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbXhciDebugDetectTimeout|30000= 00|UINT64|0x00000009 =20 + ## Default revision of the debug agent transfer protocol. + # The upper 16 bits indicate the major revision and the lower 16 bits i= ndicate the minor revision. + # For example, a value of 0x00000004 stands for revision 0.4. + # Debug packet compression and decompression is supported since revisio= n 0.4. + # @Prompt Default revision of the debug agent transfer protocol. + gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdTransferProtocolRevision|0x0000= 0004|UINT32|0x0000000a + [UserExtensions.TianoCore."ExtraFiles"] SourceLevelDebugPkgExtra.uni diff --git a/SourceLevelDebugPkg/SourceLevelDebugPkg.uni b/SourceLevelDebug= Pkg/SourceLevelDebugPkg.uni index 533dafbfc8..781b717e4e 100644 --- a/SourceLevelDebugPkg/SourceLevelDebugPkg.uni +++ b/SourceLevelDebugPkg/SourceLevelDebugPkg.uni @@ -8,7 +8,7 @@ // and host, PeCoffExtraActionLib instance to report symbol path informati= on, // etc. // -// Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.
+// Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.
// // This program and the accompanying materials are licensed and made avail= able under // the terms and conditions of the BSD License that accompanies this distr= ibution. @@ -91,3 +91,10 @@ #string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdUsbXhciDebugDetectTim= eout_HELP #language en-US "Per XHCI spec, software shall impose a timeout = between the detection of the Debug Host\n" = "connection and the DbC Run transition to 1. Thi= s PCD specifies the timeout value in microsecond." =20 +#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdTransferProtocolRevis= ion_PROMPT #language en-US "Default revision of the debug agent transfer p= rotocol." + +#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdTransferProtocolRevis= ion_HELP #language en-US "The upper 16 bits indicate the major revision an= d the lower 16 bits indicate\n" + = "the minor revision.\n" + = "For example, a value of 0x00000004 stands for re= vision 0.4.\n" + = "Debug packet compression and decompression is su= pported since revision 0.4." + --=20 2.12.0.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel