diff --git a/spec/ctxp-format.adoc b/spec/ctxp-format.adoc index 1d097b7..8265a55 100644 --- a/spec/ctxp-format.adoc +++ b/spec/ctxp-format.adoc @@ -79,7 +79,7 @@ image::images/data-model.drawio.png[] * Map of human-readable names for decimal-encoded source ids, in the form ** Source Id → Source name (byte to string) -* A source name must not be given for every source id. +* A source name need not be given for every source id. * A source id should not appear twice in the map. [[sec:trace_events]] @@ -97,13 +97,13 @@ SYNC:: Core with `source_id` reached instruction at `target` address. Typically INTERRUPT:: Core with `source_id` reached `target` address because of an interrupt. The last known instruction address that got executed, or at least tried to be executed (for example for invalid-opcode) before the interrupt is given by `origin`, and the next known address `target` is the instruction where the core continues. The optional `cycle_count` specifies when `target` got reached. -RFI:: Short for return-from-interrupt. CPU came back from an interrupt. The of last known executed instruction address is given at `origin`, and the first known instruction address where the CPU continues is `target`. +RFI:: Short for return-from-interrupt. CPU came back from an interrupt. The last known executed instruction address is given at `origin`, and the first known instruction address where the CPU continues is `target`. BRANCH_TAKEN:: Core with `source_id` reached `target` address after taking a branch instruction. All types of branches are considered - may they be conditional, unconditional, direct or indirect, *except for calls & returns* (see `CALL`/`RETURN`). `origin` is the address of the branch instruction, while `target` is the destination of the branch instruction. The optional `cycle_count` specifies when `target` got reached. BRANCH_NOTTAKEN:: Core with `source_id` reached `target` address after skipping a conditional branch (may it be direct or indirect). `origin` is the address of the branch instruction, and `target` the address of the reached instruction directly after the skipped branch. The optional `cycle_count` specifies when `target` got reached. -CALL:: Core with `source_id` reached `target` address by a call instruction. `origin` is the callers instruction address. The optional `cycle_count` specifies when `target` got reached. +CALL:: Core with `source_id` reached `target` address by a call instruction. `origin` is the caller's instruction address. The optional `cycle_count` specifies when `target` got reached. RETURN:: Core with `source_id` reached `target` after executing a return instruction. `origin` represents the instruction address of the return. The optional `cycle_count` specifies when `target` got reached. @@ -158,7 +158,7 @@ META:#0="CPU0",#1="CPU1",#2="CPU2",#3="CPU\\\"3\"" - Followed by the trace data, as list of events in each line: + [source] -#::()?:()?: (@ )? +#::()?:()? (@ )? ** `TYPE:string` must be a type defined in <>. ** Presence of `VALUE 1` and `VALUE 2` depend on `TYPE`, defined in <>. Colons are always present.