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