Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Supporting consecutive STF_INST_MEM_CONTENT records #48

Open
bit-hack opened this issue Dec 9, 2024 · 0 comments
Open

Supporting consecutive STF_INST_MEM_CONTENT records #48

bit-hack opened this issue Dec 9, 2024 · 0 comments

Comments

@bit-hack
Copy link

bit-hack commented Dec 9, 2024

I have been hitting an issue when trying to encode memory accesses of greater than 8 bytes.

The specification says of STF_INST_MEM_CONTENT records:

For memory accesses with data size greater than 8 bytes, use multiple STF_INST_MEM_CONTENT records, where the first STF_INST_MEM_CONTENT record refers to the address specified in the STF_INST_MEM_ACCESS record, and subsequent STF_INST_MEM_CONTENT records refer to subsequent target addresses appropriately incremented to preserve continuity of data.

Trying this however, I triggered an assert in stf_lib, stf-inc/stf_inst_reader.hpp: 147

stf_assert(desc != IntDescriptor::STF_INST_MEM_CONTENT,

                    stf_assert(desc != IntDescriptor::STF_INST_MEM_CONTENT,
                               "Saw MemContentRecord without accompanying MemAccessRecord");

It seems like stf_lib currently only supports a single STF_INST_MEM_CONTENT record following a STF_INST_MEM_ACCESS.

stf_lib was happy if I break larger accesses into multiple smaller (64bit or less) accesses with STF_INST_MEM_ACCESS and STF_INST_MEM_CONTENT pairs, but this doesn't correctly reflect the access being performed.

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

No branches or pull requests

1 participant