From 1aaaaaf1b298fb093c6f33cef7fe2fc03c35bb45 Mon Sep 17 00:00:00 2001 From: Iain Robertson Date: Mon, 21 Oct 2024 00:58:48 +0100 Subject: [PATCH 1/3] Clarified when support packet must be sent --- payload.adoc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/payload.adoc b/payload.adoc index dab4a5e..e6e57ab 100644 --- a/payload.adoc +++ b/payload.adoc @@ -235,13 +235,13 @@ instruction context. [[sec:format33]] === Format 3 subformat 3 - Support -This packet provides supporting information to aid the decoder. It is -issued when +This packet provides supporting information to aid the decoder. It must be issued: + +* Before the first sync packet, in order to ensure the decoder is aware of how the encoder is configured. It is recommended this be sent as soon as the encoder is enabled (*trTeEnable* changes from 0 to 1). This reduces the likelihood of having to generate two packets (support and sync-start) at the point tracing actually starts; +* When tracing ceases for any reason (*trTeEnable* set to 0, trace-off trigger, halt, reset, loss of filter qualification, etc.), in order to inform the decoder that the preceding packet reported the address of the final traced instruction; +* If one or more trace packets cannot be sent (for example, due back-pressure from the packet transport infrastructure); +* If the operating mode of the encoder changes. -* Trace is enabled or disabled; -* The operating mode changes; -* One or more trace packets cannot be sent (for example, due -back-pressure from the packet transport infrastructure). The *options* field is a placeholder that must be replaced by an implementation specific set of individual bits - one for each of the From 4389b6d6fa0698a2cef08a7ed12c53b60c755609 Mon Sep 17 00:00:00 2001 From: IainCRobertson <48293834+IainCRobertson@users.noreply.github.com> Date: Fri, 25 Oct 2024 22:36:44 +0100 Subject: [PATCH 2/3] Update payload.adoc Co-authored-by: Paul Donahue <48959409+pdonahue-ventana@users.noreply.github.com> Signed-off-by: IainCRobertson <48293834+IainCRobertson@users.noreply.github.com> --- payload.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/payload.adoc b/payload.adoc index e6e57ab..43ba174 100644 --- a/payload.adoc +++ b/payload.adoc @@ -239,7 +239,7 @@ This packet provides supporting information to aid the decoder. It must be issu * Before the first sync packet, in order to ensure the decoder is aware of how the encoder is configured. It is recommended this be sent as soon as the encoder is enabled (*trTeEnable* changes from 0 to 1). This reduces the likelihood of having to generate two packets (support and sync-start) at the point tracing actually starts; * When tracing ceases for any reason (*trTeEnable* set to 0, trace-off trigger, halt, reset, loss of filter qualification, etc.), in order to inform the decoder that the preceding packet reported the address of the final traced instruction; -* If one or more trace packets cannot be sent (for example, due back-pressure from the packet transport infrastructure); +* If one or more trace packets cannot be sent (for example, due to back-pressure from the packet transport infrastructure); * If the operating mode of the encoder changes. From 9925de0accd24eedc1df7d4d04ebfab1289150c7 Mon Sep 17 00:00:00 2001 From: Iain Robertson Date: Fri, 25 Oct 2024 14:44:45 -0700 Subject: [PATCH 3/3] Further clarifications for issuing support packets --- payload.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/payload.adoc b/payload.adoc index e6e57ab..7e4e347 100644 --- a/payload.adoc +++ b/payload.adoc @@ -240,10 +240,10 @@ This packet provides supporting information to aid the decoder. It must be issu * Before the first sync packet, in order to ensure the decoder is aware of how the encoder is configured. It is recommended this be sent as soon as the encoder is enabled (*trTeEnable* changes from 0 to 1). This reduces the likelihood of having to generate two packets (support and sync-start) at the point tracing actually starts; * When tracing ceases for any reason (*trTeEnable* set to 0, trace-off trigger, halt, reset, loss of filter qualification, etc.), in order to inform the decoder that the preceding packet reported the address of the final traced instruction; * If one or more trace packets cannot be sent (for example, due back-pressure from the packet transport infrastructure); -* If the operating mode of the encoder changes. +* If the operating mode of the encoder changes such that the the information output in a previous support packet no longer applies (i.e. if *encoder_mode*, *ioptions*, *doptions* or *denable* change). -The *options* field is a placeholder that must be replaced by an +The *ioptions* and *doptions* fields are placeholders that must be replaced by an implementation specific set of individual bits - one for each of the optional modes supported by the encoder.