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

CR-1172341 XRT Test Code fails with 202320.2.16.175 packages #7667

Merged

Conversation

stsoe
Copy link
Collaborator

@stsoe stsoe commented Aug 19, 2023

Problem solved by the commit

Move caching of command header to the very first start() of a run object.

Bug / issue (if any) fixed, which PR introduced the bug, how it was discovered

In #7608 the internally initialized ert command header is cached as part of a run object. The caching is done for repeated invocation of same run object to reset the header to a known good initial state. However, caching during construction of the run object is to early for some use cases where the header is changed in the host code to support legacy command opcodes.

How problem was solved, alternative solutions (if any) and why they were rejected

This PR fixes the problem by delaying caching until the very first invocation of xrt::run::start(). This allows for host code to manipulate the underlying command packet, which is necessary for support of legacy ERT_EXEC_WRITE.

Risks (if any) associated the changes in the commit

No risk, affects only existing failing use cases where command packet is manipulated in host code prior to first xrt::run invocation. Repeated use of same xrt::run object must not change the command header after first invocation.

Move caching of command header to the very first start() of a run object.

In Xilinx#7608 the internally initialized ert command header is cached as
part of a run object.  The caching is done for repeated invocation of
same run object to reset the header to a known good initial state.
However, caching during construction of the run object is to early for
some use cases where the header is changed in the host code to support
legacy command opcodes.

This PR fixes the problem by delaying caching until the very first
invocation of xrt::run::start().  This allows for host code to
manipulate the underlying command packet, which is necessary for
support of legacy ERT_EXEC_WRITE.
@gbuildx
Copy link
Collaborator

gbuildx commented Aug 19, 2023

Build Passed!

@chvamshi-xilinx chvamshi-xilinx merged commit eba10b6 into Xilinx:master Aug 21, 2023
2 checks passed
@stsoe stsoe deleted the CR-1172341_cachhe_hdr_exec_write branch September 19, 2023 16:43
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.

4 participants