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 revision 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
comparison 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>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Transfer protocol defintions used by debug agent and host. It is only\r
intended to be used by Debug related module implementation.\r
\r
Transfer protocol defintions used by debug agent and host. It is only\r
intended to be used by Debug related module implementation.\r
\r
- Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
//\r
#define DEBUG_AGENT_REVISION_03 ((0 << 16) | 03)\r
#define DEBUG_AGENT_REVISION_04 ((0 << 16) | 04)\r
//\r
#define DEBUG_AGENT_REVISION_03 ((0 << 16) | 03)\r
#define DEBUG_AGENT_REVISION_04 ((0 << 16) | 04)\r
-#define DEBUG_AGENT_REVISION DEBUG_AGENT_REVISION_04\r
#define DEBUG_AGENT_CAPABILITIES 0\r
\r
//\r
#define DEBUG_AGENT_CAPABILITIES 0\r
\r
//\r
// Compression/decompression support was added since revision 0.4.\r
// Revision 0.3 shouldn't compress the packet.\r
//\r
// Compression/decompression support was added since revision 0.4.\r
// Revision 0.3 shouldn't compress the packet.\r
//\r
- if (DEBUG_AGENT_REVISION >= DEBUG_AGENT_REVISION_04) {\r
+ if (PcdGet32(PcdTransferProtocolRevision) >= DEBUG_AGENT_REVISION_04) {\r
//\r
// Get the compressed data size without modifying the packet.\r
//\r
//\r
// Get the compressed data size without modifying the packet.\r
//\r
}\r
if (IncompatibilityFlag) {\r
//\r
}\r
if (IncompatibilityFlag) {\r
//\r
- // If the incompatible Debug Packet received, the HOST should be running transfer protocol before DEBUG_AGENT_REVISION.\r
+ // If the incompatible Debug Packet received, the HOST should be running transfer protocol before PcdTransferProtocolRevision.\r
// It could be UDK Debugger for Windows v1.1/v1.2 or for Linux v0.8/v1.2.\r
//\r
DebugPortWriteBuffer (Handle, (UINT8 *) mErrorMsgVersionAlert, AsciiStrLen (mErrorMsgVersionAlert));\r
// It could be UDK Debugger for Windows v1.1/v1.2 or for Linux v0.8/v1.2.\r
//\r
DebugPortWriteBuffer (Handle, (UINT8 *) mErrorMsgVersionAlert, AsciiStrLen (mErrorMsgVersionAlert));\r
break;\r
\r
case DEBUG_COMMAND_GET_REVISION:\r
break;\r
\r
case DEBUG_COMMAND_GET_REVISION:\r
- DebugAgentRevision.Revision = DEBUG_AGENT_REVISION;\r
+ DebugAgentRevision.Revision = PcdGet32(PcdTransferProtocolRevision);\r
DebugAgentRevision.Capabilities = DEBUG_AGENT_CAPABILITIES;\r
Status = SendDataResponsePacket ((UINT8 *) &DebugAgentRevision, (UINT16) sizeof (DEBUG_DATA_RESPONSE_GET_REVISION), DebugHeader);\r
break;\r
DebugAgentRevision.Capabilities = DEBUG_AGENT_CAPABILITIES;\r
Status = SendDataResponsePacket ((UINT8 *) &DebugAgentRevision, (UINT16) sizeof (DEBUG_DATA_RESPONSE_GET_REVISION), DebugHeader);\r
break;\r
## @file\r
# Debug Agent library instance for Dxe Core and Dxe modules.\r
#\r
## @file\r
# Debug Agent library instance for Dxe Core and Dxe modules.\r
#\r
-# Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>\r
#\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
#\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
gEfiMdePkgTokenSpaceGuid.PcdFSBClock ## SOMETIMES_CONSUMES\r
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdExceptionsIgnoredByDebugger ## SOMETIMES_CONSUMES\r
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugPortHandleBufferSize ## CONSUMES\r
gEfiMdePkgTokenSpaceGuid.PcdFSBClock ## SOMETIMES_CONSUMES\r
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdExceptionsIgnoredByDebugger ## SOMETIMES_CONSUMES\r
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugPortHandleBufferSize ## CONSUMES\r
+ gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdTransferProtocolRevision ## CONSUMES\r
## @file\r
# Debug Agent library instance for SEC Core and PEI modules.\r
#\r
## @file\r
# Debug Agent library instance for SEC Core and PEI modules.\r
#\r
-# Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>\r
#\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
#\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
gEfiMdePkgTokenSpaceGuid.PcdFSBClock ## SOMETIMES_CONSUMES\r
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdExceptionsIgnoredByDebugger ## SOMETIMES_CONSUMES\r
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugPortHandleBufferSize ## SOMETIMES_CONSUMES\r
gEfiMdePkgTokenSpaceGuid.PcdFSBClock ## SOMETIMES_CONSUMES\r
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdExceptionsIgnoredByDebugger ## SOMETIMES_CONSUMES\r
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugPortHandleBufferSize ## SOMETIMES_CONSUMES\r
+ gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdTransferProtocolRevision ## CONSUMES\r
## @file\r
# Debug Agent library instance for SMM modules.\r
#\r
## @file\r
# Debug Agent library instance for SMM modules.\r
#\r
-# Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>\r
#\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
#\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
gEfiMdePkgTokenSpaceGuid.PcdFSBClock ## SOMETIMES_CONSUMES\r
# Skip Page Fault exception (14) by default in SMM\r
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdExceptionsIgnoredByDebugger|0x00004000 ## SOMETIMES_CONSUMES\r
gEfiMdePkgTokenSpaceGuid.PcdFSBClock ## SOMETIMES_CONSUMES\r
# Skip Page Fault exception (14) by default in SMM\r
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdExceptionsIgnoredByDebugger|0x00004000 ## SOMETIMES_CONSUMES\r
+ gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdTransferProtocolRevision ## CONSUMES\r
# and host, PeCoffExtraActionLib instance to report symbol path information,\r
# etc.\r
#\r
# and host, PeCoffExtraActionLib instance to report symbol path information,\r
# etc.\r
#\r
-# Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>\r
# This program and the accompanying materials are licensed and made available under \r
# the terms and conditions of the BSD License that accompanies this distribution. \r
# The full text of the license may be found at\r
# This program and the accompanying materials are licensed and made available under \r
# the terms and conditions of the BSD License that accompanies this distribution. \r
# The full text of the license may be found at\r
# @Prompt Configure debug device detection timeout value.\r
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbXhciDebugDetectTimeout|3000000|UINT64|0x00000009\r
\r
# @Prompt Configure debug device detection timeout value.\r
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdUsbXhciDebugDetectTimeout|3000000|UINT64|0x00000009\r
\r
+ ## Default revision of the debug agent transfer protocol.\r
+ # The upper 16 bits indicate the major revision and the lower 16 bits indicate the minor revision.\r
+ # For example, a value of 0x00000004 stands for revision 0.4.\r
+ # Debug packet compression and decompression is supported since revision 0.4.\r
+ # @Prompt Default revision of the debug agent transfer protocol.\r
+ gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdTransferProtocolRevision|0x00000004|UINT32|0x0000000a\r
+\r
[UserExtensions.TianoCore."ExtraFiles"]\r
SourceLevelDebugPkgExtra.uni\r
[UserExtensions.TianoCore."ExtraFiles"]\r
SourceLevelDebugPkgExtra.uni\r
// and host, PeCoffExtraActionLib instance to report symbol path information,\r
// etc.\r
//\r
// and host, PeCoffExtraActionLib instance to report symbol path information,\r
// etc.\r
//\r
-// Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>\r
+// Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>\r
//\r
// This program and the accompanying materials are licensed and made available under\r
// the terms and conditions of the BSD License that accompanies this distribution.\r
//\r
// This program and the accompanying materials are licensed and made available under\r
// the terms and conditions of the BSD License that accompanies this distribution.\r
#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdUsbXhciDebugDetectTimeout_HELP #language en-US "Per XHCI spec, software shall impose a timeout between the detection of the Debug Host\n"\r
"connection and the DbC Run transition to 1. This PCD specifies the timeout value in microsecond."\r
\r
#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdUsbXhciDebugDetectTimeout_HELP #language en-US "Per XHCI spec, software shall impose a timeout between the detection of the Debug Host\n"\r
"connection and the DbC Run transition to 1. This PCD specifies the timeout value in microsecond."\r
\r
+#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdTransferProtocolRevision_PROMPT #language en-US "Default revision of the debug agent transfer protocol."\r
+\r
+#string STR_gEfiSourceLevelDebugPkgTokenSpaceGuid_PcdTransferProtocolRevision_HELP #language en-US "The upper 16 bits indicate the major revision and the lower 16 bits indicate\n"\r
+ "the minor revision.\n"\r
+ "For example, a value of 0x00000004 stands for revision 0.4.\n"\r
+ "Debug packet compression and decompression is supported since revision 0.4."\r
+\r