public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Ni, Ruiyu" <ruiyu.ni@intel.com>
To: "Wu, Hao A" <hao.a.wu@intel.com>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: [PATCH v2] SourceLevelDebugPkg: Use Pcd for the revision of transfer protocol
Date: Fri, 1 Sep 2017 04:15:23 +0000	[thread overview]
Message-ID: <734D49CCEBEEF84792F5B80ED585239D5BA1E7E2@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <20170901021230.21436-1-hao.a.wu@intel.com>

Hao,
I have 2 comments regarding to the INF and DEC change. Check below.

Thanks/Ray

> -----Original Message-----
> From: Wu, Hao A
> Sent: Friday, September 1, 2017 10:13 AM
> To: edk2-devel@lists.01.org
> Cc: Wu, Hao A <hao.a.wu@intel.com>; Ni, Ruiyu <ruiyu.ni@intel.com>
> Subject: [PATCH v2] SourceLevelDebugPkg: Use Pcd for the revision of
> transfer protocol
> 
> 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 <ruiyu.ni@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Hao Wu <hao.a.wu@intel.com>
> ---
>  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                        | 7 ++++++-
>  SourceLevelDebugPkg/SourceLevelDebugPkg.uni                        | 6 +++++-
>  7 files changed, 18 insertions(+), 7 deletions(-)
> 
> diff --git a/SourceLevelDebugPkg/Include/TransferProtocol.h
> b/SourceLevelDebugPkg/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.
> 
> -  Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2010 - 2017, 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
> @@ -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
> 
>  //
> diff --git
> a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Debug
> Agent.c
> b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Debug
> Agent.c
> index f156fe24db..36b1ef924c 100644
> ---
> a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Debug
> Agent.c
> +++
> b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Debug
> Agent.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 >= DEBUG_AGENT_REVISION_04) {
> +    if (PcdGet32(PcdTransferProtocolRevision) >=
> 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 running
> transfer protocol before DEBUG_AGENT_REVISION.
> +    // If the incompatible Debug Packet received, the HOST should be running
> 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,
> AsciiStrLen (mErrorMsgVersionAlert));
> @@ -2192,7 +2192,7 @@ CommandCommunication (
>        break;
> 
>      case DEBUG_COMMAND_GET_REVISION:
> -      DebugAgentRevision.Revision = DEBUG_AGENT_REVISION;
> +      DebugAgentRevision.Revision = PcdGet32(PcdTransferProtocolRevision);
>        DebugAgentRevision.Capabilities = DEBUG_AGENT_CAPABILITIES;
>        Status = SendDataResponsePacket ((UINT8 *) &DebugAgentRevision,
> (UINT16) sizeof (DEBUG_DATA_RESPONSE_GET_REVISION), DebugHeader);
>        break;
> diff --git
> a/SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
> b/SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
> index ce36345bab..17b1ac5a89 100644
> --- a/SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
> +++ b/SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
> @@ -101,4 +101,5 @@
>    gEfiMdePkgTokenSpaceGuid.PcdFSBClock                                  ##
> SOMETIMES_CONSUMES
> 
> gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdExceptionsIgnoredByDebugg
> er  ## SOMETIMES_CONSUMES
>    gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugPortHandleBufferSize
> ## CONSUMES
> +  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdTransferProtocolRevision
> ## SOMETIMES_CONSUMES
> 
> diff --git
> a/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
> b/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
> index 12c2a71b78..2f2bc6c162 100644
> --- a/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
> +++ b/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
> @@ -91,4 +91,5 @@
>    gEfiMdePkgTokenSpaceGuid.PcdFSBClock                                  ##
> SOMETIMES_CONSUMES
> 
> gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdExceptionsIgnoredByDebugg
> er  ## SOMETIMES_CONSUMES
>    gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugPortHandleBufferSize
> ## SOMETIMES_CONSUMES
> +  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdTransferProtocolRevision
> ## SOMETIMES_CONSUMES
> 
> diff --git
> a/SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf
> b/SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf
> index 1fa5745b1c..df7ad75d68 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.PcdExceptionsIgnoredByDebugg
> er|0x00004000  ## SOMETIMES_CONSUMES
> +  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdTransferProtocolRevision
> ## SOMETIMES_CONSUMES
1. Why SOMETIMES_CONSUMES instead of CONSUMES?

> 
> diff --git a/SourceLevelDebugPkg/SourceLevelDebugPkg.dec
> b/SourceLevelDebugPkg/SourceLevelDebugPkg.dec
> index 9579c3e006..18f9410539 100644
> --- a/SourceLevelDebugPkg/SourceLevelDebugPkg.dec
> +++ b/SourceLevelDebugPkg/SourceLevelDebugPkg.dec
> @@ -6,7 +6,7 @@
>  # and host, PeCoffExtraActionLib instance to report symbol path information,
>  # etc.
>  #
> -# Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2010 - 2017, 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 that accompanies this
> distribution.
>  # The full text of the license may be found at
> @@ -112,5 +112,10 @@
>    # @Prompt Configure debug device detection timeout value.
> 
> gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbXhciDebugDetectTimeout
> |3000000|UINT64|0x00000009
> 
> +  ## Default revision of the debug agent transfer protocol.
> +  #  Debug packet compression and decompression is supported since
> revision 0.4.

2. Please describe the PcdTransferProtocolRevision layout. Upper 2-byte for
major revision, lower-2-byte for minor revision. 0x0004 stands for 0.4.

> +  # @Prompt Default revision of the debug agent transfer protocol.
> +
> gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdTransferProtocolRevision|0x4
> |UINT32|0x0000000a
> +
>  [UserExtensions.TianoCore."ExtraFiles"]
>    SourceLevelDebugPkgExtra.uni
> diff --git a/SourceLevelDebugPkg/SourceLevelDebugPkg.uni
> b/SourceLevelDebugPkg/SourceLevelDebugPkg.uni
> index 533dafbfc8..d90a112e2c 100644
> --- a/SourceLevelDebugPkg/SourceLevelDebugPkg.uni
> +++ b/SourceLevelDebugPkg/SourceLevelDebugPkg.uni
> @@ -8,7 +8,7 @@
>  // and host, PeCoffExtraActionLib instance to report symbol path
> information,
>  // etc.
>  //
> -// Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
> +// Copyright (c) 2010 - 2017, 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 that accompanies this
> distribution.
> @@ -91,3 +91,7 @@
>  #string
> STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdUsbXhciDebugDetectTi
> meout_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. This PCD specifies the timeout value in microsecond."
> 
> +#string
> STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdTransferProtocolRevisio
> n_PROMPT  #language en-US "Default revision of the debug agent transfer
> protocol."
> +
> +#string
> STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdTransferProtocolRevisio
> n_HELP  #language en-US "Debug packet compression and decompression is
> supported since revision 0.4."
> +
> --
> 2.12.0.windows.1



  reply	other threads:[~2017-09-01  4:12 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-01  2:12 [PATCH v2] SourceLevelDebugPkg: Use Pcd for the revision of transfer protocol Hao Wu
2017-09-01  4:15 ` Ni, Ruiyu [this message]
2017-09-01  4:23   ` Wu, Hao A

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=734D49CCEBEEF84792F5B80ED585239D5BA1E7E2@SHSMSX104.ccr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox