Skip to content

Bugfixes of TSX Instructions in features branch#36

Open
smetzlaff wants to merge 2 commits into
avadhpatel:featuresfrom
smetzlaff:features
Open

Bugfixes of TSX Instructions in features branch#36
smetzlaff wants to merge 2 commits into
avadhpatel:featuresfrom
smetzlaff:features

Conversation

@smetzlaff
Copy link
Copy Markdown

Fixed two bugs regarding the Intel TSX specification: XABORT was not working. XTEST returned the wrong return code.

The explicit abort (XABORT) was not working properly. First, on issue
the ReorderBufferEntry::issue() was continued after flushing the pipeline
on XABORT, which caused erroneous behaviour. Second, in
TsxCache::handle_upper_interconnect() the check_tsx_invalidated()
function is called on XABORT, but it does not make sense, since it mixes
the TsxStatus and TsxMESICacheLineState data types up.
The result of the XTEST instruction was wrong. According to the
specification the ZF flag needs to be cleared, if the XTEST instruction
is executed in a transaction. Otherwise the ZF flag is to be set.
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