feat(cpu): retain Thumb instruction pipeline halfwords
This commit is contained in:
parent
47df9d05a7
commit
ea055270f4
21 changed files with 535 additions and 97 deletions
|
|
@ -85,7 +85,10 @@ They cover refill target pairs, PC writes to fallthrough, conditional branches,
|
|||
Full CPU equality checks buffer rollback and cloning. Successful instruction-semantic tests compare architectural state separately.
|
||||
Explicit invalidation tests cover debugger repair. Timed/untimed tests verify equal buffers without added nominal cycles.
|
||||
The display-runner error test allows an already buffered branch to complete before the patched unsupported word executes.
|
||||
See [ARM instruction buffering](research/arm-instruction-buffer.md) for scope and remaining timing limits.
|
||||
Thumb instruction-buffer tests verify retained P+2/P+4 halfwords, BL prefix/suffix behavior, and state-tagged target pairs.
|
||||
They also cover stores, host/DMA writes, saved-state returns, deferred errors, mirrors, debugger repair, and nominal timing.
|
||||
Bus-history repair tests explicitly invalidate buffered code or repair a data address; failure checks retain full CPU equality.
|
||||
See [ARM instruction buffering](research/arm-instruction-buffer.md) and its [Thumb extension](research/thumb-instruction-buffer.md) for remaining limits.
|
||||
The pinned public ARM ROM now reaches its completion checkpoint with r12 = 0 in debug and release builds.
|
||||
The pinned public Thumb ROM also reaches its ARM-state checkpoint with r7 = 0 in both builds.
|
||||
Empty-list Thumb regressions cover PC+6, all low bases and processor modes, banked stacks, both code alignments, and unaligned data.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue