Skip to content

spec: Thread Context block (0x0011); format v1.1#1

Open
ricardojrdez wants to merge 1 commit into
MemorySlice:mainfrom
reverseame:feat/thread-context-block
Open

spec: Thread Context block (0x0011); format v1.1#1
ricardojrdez wants to merge 1 commit into
MemorySlice:mainfrom
reverseame:feat/thread-context-block

Conversation

@ricardojrdez

Copy link
Copy Markdown

Summary

Specifies the Thread Context block (0x0011), previously reserved, so a
slice can carry the per-thread CPU register file needed to emulate / step
execution from the snapshot.

Changes

  • New Section 5.7 with the Thread Context payload (Tables 19a/19b): thread
    id, scheduling state, optional name, and self-describing register entries
    (lowercase mnemonic, width, and PC/SP/FP/flags role bits so a consumer can
    locate them without architecture-specific knowledge).
  • 0x0011 removed from the "reserved" list (Table 11) and a producer
    conformance note added.
  • Document version aligned to 1.1.0.

Notes

  • The Markdown is updated; the PDF needs regenerating with the project's
    toolchain (my local pandoc dropped some math glyphs).

Implemented by the producer (memslicer) and a consumer (radare2 plugins);
see the companion PRs.

Add Section 5.7 specifying the Thread Context block payload (Tables 19a/19b):
a per-thread register file (TID, scheduling state, optional name, and
self-describing register entries with PC/SP/FP/flags role bits) so a consumer
can reconstruct CPU state and emulate/step execution from a slice.

Mark 0x0011 as specified (no longer reserved), add the producer conformance
note, and align the document version to 1.1.0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant