* [PATCH] SourceLevelDebugPkg/DebugAgentCommon: Use global variable for revision @ 2017-08-29 13:09 Hao Wu 2017-08-29 13:22 ` Ni, Ruiyu 2017-08-29 15:01 ` Ard Biesheuvel 0 siblings, 2 replies; 6+ messages in thread From: Hao Wu @ 2017-08-29 13:09 UTC (permalink / raw) To: edk2-devel; +Cc: Hao Wu, Ruiyu Ni Since some static code checkers complain that comparing two macros will generate a constant result, this commit uses a global variable to reflect the revision information of the debug agent, rather than using a macro directly. Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Hao Wu <hao.a.wu@intel.com> --- .../Library/DebugAgent/DebugAgentCommon/DebugAgent.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c index f156fe24db..93af009f96 100644 --- a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c +++ b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c @@ -130,7 +130,8 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_VECTOR_HANDOFF_INFO mVectorHandoffInfoDebugAge } }; -GLOBAL_REMOVE_IF_UNREFERENCED UINTN mVectorHandoffInfoCount = sizeof (mVectorHandoffInfoDebugAgent) / sizeof (EFI_VECTOR_HANDOFF_INFO); +GLOBAL_REMOVE_IF_UNREFERENCED UINTN mVectorHandoffInfoCount = sizeof (mVectorHandoffInfoDebugAgent) / sizeof (EFI_VECTOR_HANDOFF_INFO); +GLOBAL_REMOVE_IF_UNREFERENCED UINT32 mDebugAgentRevision = DEBUG_AGENT_REVISION; /** Calculate CRC16 for target data. @@ -1564,7 +1565,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 (mDebugAgentRevision >= DEBUG_AGENT_REVISION_04) { // // Get the compressed data size without modifying the packet. // @@ -2192,7 +2193,7 @@ CommandCommunication ( break; case DEBUG_COMMAND_GET_REVISION: - DebugAgentRevision.Revision = DEBUG_AGENT_REVISION; + DebugAgentRevision.Revision = mDebugAgentRevision; DebugAgentRevision.Capabilities = DEBUG_AGENT_CAPABILITIES; Status = SendDataResponsePacket ((UINT8 *) &DebugAgentRevision, (UINT16) sizeof (DEBUG_DATA_RESPONSE_GET_REVISION), DebugHeader); break; -- 2.12.0.windows.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] SourceLevelDebugPkg/DebugAgentCommon: Use global variable for revision 2017-08-29 13:09 [PATCH] SourceLevelDebugPkg/DebugAgentCommon: Use global variable for revision Hao Wu @ 2017-08-29 13:22 ` Ni, Ruiyu 2017-08-29 15:01 ` Ard Biesheuvel 1 sibling, 0 replies; 6+ messages in thread From: Ni, Ruiyu @ 2017-08-29 13:22 UTC (permalink / raw) To: Wu, Hao A, edk2-devel@lists.01.org Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> -----Original Message----- From: Wu, Hao A Sent: Tuesday, August 29, 2017 9:09 PM To: edk2-devel@lists.01.org Cc: Wu, Hao A <hao.a.wu@intel.com>; Ni, Ruiyu <ruiyu.ni@intel.com> Subject: [PATCH] SourceLevelDebugPkg/DebugAgentCommon: Use global variable for revision Since some static code checkers complain that comparing two macros will generate a constant result, this commit uses a global variable to reflect the revision information of the debug agent, rather than using a macro directly. Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Hao Wu <hao.a.wu@intel.com> --- .../Library/DebugAgent/DebugAgentCommon/DebugAgent.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c index f156fe24db..93af009f96 100644 --- a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c +++ b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c @@ -130,7 +130,8 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_VECTOR_HANDOFF_INFO mVectorHandoffInfoDebugAge } }; -GLOBAL_REMOVE_IF_UNREFERENCED UINTN mVectorHandoffInfoCount = sizeof (mVectorHandoffInfoDebugAgent) / sizeof (EFI_VECTOR_HANDOFF_INFO); +GLOBAL_REMOVE_IF_UNREFERENCED UINTN mVectorHandoffInfoCount = sizeof (mVectorHandoffInfoDebugAgent) / sizeof (EFI_VECTOR_HANDOFF_INFO); +GLOBAL_REMOVE_IF_UNREFERENCED UINT32 mDebugAgentRevision = DEBUG_AGENT_REVISION; /** Calculate CRC16 for target data. @@ -1564,7 +1565,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 (mDebugAgentRevision >= DEBUG_AGENT_REVISION_04) { // // Get the compressed data size without modifying the packet. // @@ -2192,7 +2193,7 @@ CommandCommunication ( break; case DEBUG_COMMAND_GET_REVISION: - DebugAgentRevision.Revision = DEBUG_AGENT_REVISION; + DebugAgentRevision.Revision = mDebugAgentRevision; DebugAgentRevision.Capabilities = DEBUG_AGENT_CAPABILITIES; Status = SendDataResponsePacket ((UINT8 *) &DebugAgentRevision, (UINT16) sizeof (DEBUG_DATA_RESPONSE_GET_REVISION), DebugHeader); break; -- 2.12.0.windows.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] SourceLevelDebugPkg/DebugAgentCommon: Use global variable for revision 2017-08-29 13:09 [PATCH] SourceLevelDebugPkg/DebugAgentCommon: Use global variable for revision Hao Wu 2017-08-29 13:22 ` Ni, Ruiyu @ 2017-08-29 15:01 ` Ard Biesheuvel 2017-08-29 16:00 ` Kinney, Michael D 1 sibling, 1 reply; 6+ messages in thread From: Ard Biesheuvel @ 2017-08-29 15:01 UTC (permalink / raw) To: Hao Wu; +Cc: edk2-devel@lists.01.org, Ruiyu Ni On 29 August 2017 at 14:09, Hao Wu <hao.a.wu@intel.com> wrote: > Since some static code checkers complain that comparing two macros will > generate a constant result, this commit uses a global variable to > reflect the revision information of the debug agent, rather than using a > macro directly. > > Cc: Ruiyu Ni <ruiyu.ni@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Hao Wu <hao.a.wu@intel.com> > --- > .../Library/DebugAgent/DebugAgentCommon/DebugAgent.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c > index f156fe24db..93af009f96 100644 > --- a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c > +++ b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c > @@ -130,7 +130,8 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_VECTOR_HANDOFF_INFO mVectorHandoffInfoDebugAge > } > }; > > -GLOBAL_REMOVE_IF_UNREFERENCED UINTN mVectorHandoffInfoCount = sizeof (mVectorHandoffInfoDebugAgent) / sizeof (EFI_VECTOR_HANDOFF_INFO); > +GLOBAL_REMOVE_IF_UNREFERENCED UINTN mVectorHandoffInfoCount = sizeof (mVectorHandoffInfoDebugAgent) / sizeof (EFI_VECTOR_HANDOFF_INFO); > +GLOBAL_REMOVE_IF_UNREFERENCED UINT32 mDebugAgentRevision = DEBUG_AGENT_REVISION; > > /** > Calculate CRC16 for target data. > @@ -1564,7 +1565,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 (mDebugAgentRevision >= DEBUG_AGENT_REVISION_04) { > // > // Get the compressed data size without modifying the packet. > // > @@ -2192,7 +2193,7 @@ CommandCommunication ( > break; > > case DEBUG_COMMAND_GET_REVISION: > - DebugAgentRevision.Revision = DEBUG_AGENT_REVISION; > + DebugAgentRevision.Revision = mDebugAgentRevision; > DebugAgentRevision.Capabilities = DEBUG_AGENT_CAPABILITIES; > Status = SendDataResponsePacket ((UINT8 *) &DebugAgentRevision, (UINT16) sizeof (DEBUG_DATA_RESPONSE_GET_REVISION), DebugHeader); > break; > -- > 2.12.0.windows.1 > Can we *please* fix the tools instead? mDebugAgentRevision has external linkage, and so the compiler is forced to perform this check at runtime instead of at build time. Or at least use a STATIC variable so the compiler can see that mDebugAgentRevision is never modified from its default value. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] SourceLevelDebugPkg/DebugAgentCommon: Use global variable for revision 2017-08-29 15:01 ` Ard Biesheuvel @ 2017-08-29 16:00 ` Kinney, Michael D 2017-08-30 11:12 ` Wu, Hao A 0 siblings, 1 reply; 6+ messages in thread From: Kinney, Michael D @ 2017-08-29 16:00 UTC (permalink / raw) To: Ard Biesheuvel, Wu, Hao A, Kinney, Michael D Cc: Ni, Ruiyu, edk2-devel@lists.01.org Ard, I agree. Adding const would be an improvement too. But I would prefer to not add a global variable at all. When could this check ever evaluate to false? Compression has been supported for a long time now. It appears that a developer would have to modify SourceLevelDebugPkg\Include\TransferProtocol.h to select an older protocol revision. If we really want build configuration of the protocol revision then we should use a PCD feature flag or a FixedAtBuild PCD to allow the developer to configure it from the DSC file. Mike > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On > Behalf Of Ard Biesheuvel > Sent: Tuesday, August 29, 2017 8:01 AM > To: Wu, Hao A <hao.a.wu@intel.com> > Cc: Ni, Ruiyu <ruiyu.ni@intel.com>; edk2-devel@lists.01.org > Subject: Re: [edk2] [PATCH] > SourceLevelDebugPkg/DebugAgentCommon: Use global variable for > revision > > On 29 August 2017 at 14:09, Hao Wu <hao.a.wu@intel.com> wrote: > > Since some static code checkers complain that comparing two > macros will > > generate a constant result, this commit uses a global > variable to > > reflect the revision information of the debug agent, rather > than using a > > macro directly. > > > > Cc: Ruiyu Ni <ruiyu.ni@intel.com> > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Signed-off-by: Hao Wu <hao.a.wu@intel.com> > > --- > > .../Library/DebugAgent/DebugAgentCommon/DebugAgent.c > | 7 ++++--- > > 1 file changed, 4 insertions(+), 3 deletions(-) > > > > diff --git > a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Debug > Agent.c > b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Debug > Agent.c > > index f156fe24db..93af009f96 100644 > > --- > a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Debug > Agent.c > > +++ > b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Debug > Agent.c > > @@ -130,7 +130,8 @@ GLOBAL_REMOVE_IF_UNREFERENCED > EFI_VECTOR_HANDOFF_INFO mVectorHandoffInfoDebugAge > > } > > }; > > > > -GLOBAL_REMOVE_IF_UNREFERENCED UINTN mVectorHandoffInfoCount > = sizeof (mVectorHandoffInfoDebugAgent) / sizeof > (EFI_VECTOR_HANDOFF_INFO); > > +GLOBAL_REMOVE_IF_UNREFERENCED UINTN mVectorHandoffInfoCount > = sizeof (mVectorHandoffInfoDebugAgent) / sizeof > (EFI_VECTOR_HANDOFF_INFO); > > +GLOBAL_REMOVE_IF_UNREFERENCED UINT32 mDebugAgentRevision > = DEBUG_AGENT_REVISION; > > > > /** > > Calculate CRC16 for target data. > > @@ -1564,7 +1565,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 (mDebugAgentRevision >= DEBUG_AGENT_REVISION_04) { > > // > > // Get the compressed data size without modifying the > packet. > > // > > @@ -2192,7 +2193,7 @@ CommandCommunication ( > > break; > > > > case DEBUG_COMMAND_GET_REVISION: > > - DebugAgentRevision.Revision = DEBUG_AGENT_REVISION; > > + DebugAgentRevision.Revision = mDebugAgentRevision; > > DebugAgentRevision.Capabilities = > DEBUG_AGENT_CAPABILITIES; > > Status = SendDataResponsePacket ((UINT8 *) > &DebugAgentRevision, (UINT16) sizeof > (DEBUG_DATA_RESPONSE_GET_REVISION), DebugHeader); > > break; > > -- > > 2.12.0.windows.1 > > > > Can we *please* fix the tools instead? mDebugAgentRevision has > external linkage, and so the compiler is forced to perform this > check > at runtime instead of at build time. Or at least use a STATIC > variable > so the compiler can see that mDebugAgentRevision is never > modified > from its default value. > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] SourceLevelDebugPkg/DebugAgentCommon: Use global variable for revision 2017-08-29 16:00 ` Kinney, Michael D @ 2017-08-30 11:12 ` Wu, Hao A 2017-08-30 12:48 ` Ni, Ruiyu 0 siblings, 1 reply; 6+ messages in thread From: Wu, Hao A @ 2017-08-30 11:12 UTC (permalink / raw) To: Kinney, Michael D, Ard Biesheuvel; +Cc: Ni, Ruiyu, edk2-devel@lists.01.org Thanks a lot for the feedbacks. I will switch to using PCD for configuring revision and send out V2 of the patch. Best Regards, Hao Wu > -----Original Message----- > From: Kinney, Michael D > Sent: Wednesday, August 30, 2017 12:00 AM > To: Ard Biesheuvel; Wu, Hao A; Kinney, Michael D > Cc: Ni, Ruiyu; edk2-devel@lists.01.org > Subject: RE: [edk2] [PATCH] SourceLevelDebugPkg/DebugAgentCommon: Use > global variable for revision > > Ard, > > I agree. Adding const would be an improvement too. > > But I would prefer to not add a global variable at all. > > When could this check ever evaluate to false? Compression has > been supported for a long time now. > > It appears that a developer would have to modify > SourceLevelDebugPkg\Include\TransferProtocol.h to select an > older protocol revision. > > If we really want build configuration of the protocol revision > then we should use a PCD feature flag or a FixedAtBuild PCD to > allow the developer to configure it from the DSC file. > > Mike > > > -----Original Message----- > > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On > > Behalf Of Ard Biesheuvel > > Sent: Tuesday, August 29, 2017 8:01 AM > > To: Wu, Hao A <hao.a.wu@intel.com> > > Cc: Ni, Ruiyu <ruiyu.ni@intel.com>; edk2-devel@lists.01.org > > Subject: Re: [edk2] [PATCH] > > SourceLevelDebugPkg/DebugAgentCommon: Use global variable for > > revision > > > > On 29 August 2017 at 14:09, Hao Wu <hao.a.wu@intel.com> wrote: > > > Since some static code checkers complain that comparing two > > macros will > > > generate a constant result, this commit uses a global > > variable to > > > reflect the revision information of the debug agent, rather > > than using a > > > macro directly. > > > > > > Cc: Ruiyu Ni <ruiyu.ni@intel.com> > > > Contributed-under: TianoCore Contribution Agreement 1.1 > > > Signed-off-by: Hao Wu <hao.a.wu@intel.com> > > > --- > > > .../Library/DebugAgent/DebugAgentCommon/DebugAgent.c > > | 7 ++++--- > > > 1 file changed, 4 insertions(+), 3 deletions(-) > > > > > > diff --git > > a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Debug > > Agent.c > > b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Debug > > Agent.c > > > index f156fe24db..93af009f96 100644 > > > --- > > a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Debug > > Agent.c > > > +++ > > b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Debug > > Agent.c > > > @@ -130,7 +130,8 @@ GLOBAL_REMOVE_IF_UNREFERENCED > > EFI_VECTOR_HANDOFF_INFO mVectorHandoffInfoDebugAge > > > } > > > }; > > > > > > -GLOBAL_REMOVE_IF_UNREFERENCED UINTN mVectorHandoffInfoCount > > = sizeof (mVectorHandoffInfoDebugAgent) / sizeof > > (EFI_VECTOR_HANDOFF_INFO); > > > +GLOBAL_REMOVE_IF_UNREFERENCED UINTN mVectorHandoffInfoCount > > = sizeof (mVectorHandoffInfoDebugAgent) / sizeof > > (EFI_VECTOR_HANDOFF_INFO); > > > +GLOBAL_REMOVE_IF_UNREFERENCED UINT32 mDebugAgentRevision > > = DEBUG_AGENT_REVISION; > > > > > > /** > > > Calculate CRC16 for target data. > > > @@ -1564,7 +1565,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 (mDebugAgentRevision >= DEBUG_AGENT_REVISION_04) { > > > // > > > // Get the compressed data size without modifying the > > packet. > > > // > > > @@ -2192,7 +2193,7 @@ CommandCommunication ( > > > break; > > > > > > case DEBUG_COMMAND_GET_REVISION: > > > - DebugAgentRevision.Revision = DEBUG_AGENT_REVISION; > > > + DebugAgentRevision.Revision = mDebugAgentRevision; > > > DebugAgentRevision.Capabilities = > > DEBUG_AGENT_CAPABILITIES; > > > Status = SendDataResponsePacket ((UINT8 *) > > &DebugAgentRevision, (UINT16) sizeof > > (DEBUG_DATA_RESPONSE_GET_REVISION), DebugHeader); > > > break; > > > -- > > > 2.12.0.windows.1 > > > > > > > Can we *please* fix the tools instead? mDebugAgentRevision has > > external linkage, and so the compiler is forced to perform this > > check > > at runtime instead of at build time. Or at least use a STATIC > > variable > > so the compiler can see that mDebugAgentRevision is never > > modified > > from its default value. > > _______________________________________________ > > edk2-devel mailing list > > edk2-devel@lists.01.org > > https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] SourceLevelDebugPkg/DebugAgentCommon: Use global variable for revision 2017-08-30 11:12 ` Wu, Hao A @ 2017-08-30 12:48 ` Ni, Ruiyu 0 siblings, 0 replies; 6+ messages in thread From: Ni, Ruiyu @ 2017-08-30 12:48 UTC (permalink / raw) To: Wu, Hao A, Kinney, Michael D, Ard Biesheuvel; +Cc: edk2-devel@lists.01.org Yes. I agree with Mike's idea to use FixedAtBuild PCD for the debug agent transfer protocol revision. -----Original Message----- From: Wu, Hao A Sent: Wednesday, August 30, 2017 7:13 PM To: Kinney, Michael D <michael.d.kinney@intel.com>; Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Ni, Ruiyu <ruiyu.ni@intel.com>; edk2-devel@lists.01.org Subject: RE: [edk2] [PATCH] SourceLevelDebugPkg/DebugAgentCommon: Use global variable for revision Thanks a lot for the feedbacks. I will switch to using PCD for configuring revision and send out V2 of the patch. Best Regards, Hao Wu > -----Original Message----- > From: Kinney, Michael D > Sent: Wednesday, August 30, 2017 12:00 AM > To: Ard Biesheuvel; Wu, Hao A; Kinney, Michael D > Cc: Ni, Ruiyu; edk2-devel@lists.01.org > Subject: RE: [edk2] [PATCH] SourceLevelDebugPkg/DebugAgentCommon: Use > global variable for revision > > Ard, > > I agree. Adding const would be an improvement too. > > But I would prefer to not add a global variable at all. > > When could this check ever evaluate to false? Compression has been > supported for a long time now. > > It appears that a developer would have to modify > SourceLevelDebugPkg\Include\TransferProtocol.h to select an older > protocol revision. > > If we really want build configuration of the protocol revision then we > should use a PCD feature flag or a FixedAtBuild PCD to allow the > developer to configure it from the DSC file. > > Mike > > > -----Original Message----- > > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf > > Of Ard Biesheuvel > > Sent: Tuesday, August 29, 2017 8:01 AM > > To: Wu, Hao A <hao.a.wu@intel.com> > > Cc: Ni, Ruiyu <ruiyu.ni@intel.com>; edk2-devel@lists.01.org > > Subject: Re: [edk2] [PATCH] > > SourceLevelDebugPkg/DebugAgentCommon: Use global variable for > > revision > > > > On 29 August 2017 at 14:09, Hao Wu <hao.a.wu@intel.com> wrote: > > > Since some static code checkers complain that comparing two > > macros will > > > generate a constant result, this commit uses a global > > variable to > > > reflect the revision information of the debug agent, rather > > than using a > > > macro directly. > > > > > > Cc: Ruiyu Ni <ruiyu.ni@intel.com> > > > Contributed-under: TianoCore Contribution Agreement 1.1 > > > Signed-off-by: Hao Wu <hao.a.wu@intel.com> > > > --- > > > .../Library/DebugAgent/DebugAgentCommon/DebugAgent.c > > | 7 ++++--- > > > 1 file changed, 4 insertions(+), 3 deletions(-) > > > > > > diff --git > > a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Debug > > Agent.c > > b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Debug > > Agent.c > > > index f156fe24db..93af009f96 100644 > > > --- > > a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Debug > > Agent.c > > > +++ > > b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Debug > > Agent.c > > > @@ -130,7 +130,8 @@ GLOBAL_REMOVE_IF_UNREFERENCED > > EFI_VECTOR_HANDOFF_INFO mVectorHandoffInfoDebugAge > > > } > > > }; > > > > > > -GLOBAL_REMOVE_IF_UNREFERENCED UINTN mVectorHandoffInfoCount > > = sizeof (mVectorHandoffInfoDebugAgent) / sizeof > > (EFI_VECTOR_HANDOFF_INFO); > > > +GLOBAL_REMOVE_IF_UNREFERENCED UINTN mVectorHandoffInfoCount > > = sizeof (mVectorHandoffInfoDebugAgent) / sizeof > > (EFI_VECTOR_HANDOFF_INFO); > > > +GLOBAL_REMOVE_IF_UNREFERENCED UINT32 mDebugAgentRevision > > = DEBUG_AGENT_REVISION; > > > > > > /** > > > Calculate CRC16 for target data. > > > @@ -1564,7 +1565,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 (mDebugAgentRevision >= DEBUG_AGENT_REVISION_04) { > > > // > > > // Get the compressed data size without modifying the > > packet. > > > // > > > @@ -2192,7 +2193,7 @@ CommandCommunication ( > > > break; > > > > > > case DEBUG_COMMAND_GET_REVISION: > > > - DebugAgentRevision.Revision = DEBUG_AGENT_REVISION; > > > + DebugAgentRevision.Revision = mDebugAgentRevision; > > > DebugAgentRevision.Capabilities = > > DEBUG_AGENT_CAPABILITIES; > > > Status = SendDataResponsePacket ((UINT8 *) > > &DebugAgentRevision, (UINT16) sizeof > > (DEBUG_DATA_RESPONSE_GET_REVISION), DebugHeader); > > > break; > > > -- > > > 2.12.0.windows.1 > > > > > > > Can we *please* fix the tools instead? mDebugAgentRevision has > > external linkage, and so the compiler is forced to perform this > > check at runtime instead of at build time. Or at least use a STATIC > > variable so the compiler can see that mDebugAgentRevision is never > > modified from its default value. > > _______________________________________________ > > edk2-devel mailing list > > edk2-devel@lists.01.org > > https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-08-30 12:46 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-08-29 13:09 [PATCH] SourceLevelDebugPkg/DebugAgentCommon: Use global variable for revision Hao Wu 2017-08-29 13:22 ` Ni, Ruiyu 2017-08-29 15:01 ` Ard Biesheuvel 2017-08-29 16:00 ` Kinney, Michael D 2017-08-30 11:12 ` Wu, Hao A 2017-08-30 12:48 ` Ni, Ruiyu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox