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
missing checks in gen_ipbus_addr_decode script #193
Comments
Hi. Both these issues have been addressed by some improvements in the script, which is now on a feature branch for testing. Could you maybe check out the updated script, try it on your design, and make sure it fixes the two issues you mention? |
Simplified logging config. See #193
With a new version of the script gen_ipbus_addr_decode (from branch feature/193-addr-table-checks) I get following error:
The same .xml file is processed without error with a script from master branch. |
Hi - if I run the script on that file, I don't see any error? The endpoint flag should be used to signify a block that has a concrete implementation in firmware as an ipbus slave or an address decoder. That means that you cannot mix 'physical' descendant nodes with 'logical' ones... |
This is my output: -bash-4.2$ ./gen_ipbus_addr_decode -v test.xml
DEBUG : ctrl 0x0 0x4 True |
I just took the script alone from github and replaced it in our ipbus installation, i.e. using our uhal (cactuscore-uhal-uhal-2.6.6-1.centos7.gcc4_8_5.x86_64) in /opt/cactus/bin/uhal/tools. Should I instead checkout branch feature/193-addr-table-checks, compile and install it in a separate directory and arrange the usage of it when starting the script? |
Hi, While I wouldn't normally recommend this, copying the script under the installed area should work in this case as all changes are contained within this script. However, if doing this you should update your installation to the latest release - version 2.7.3. Can you retry after updating the installed software, and using the version of If you still see problems after doing that, can you tell us exactly what command you are running? Thanks, |
Simplified logging config. See #193
Hi @juskoa Did you manage to retry the script as outlined in my last comment? If not, would you have time to try it out in the next couple of days? I'm asking as in principle this branch is ready to merge, and it's passed our tests so far. Since you initially reported the bugs, it would be good to verify that the script works well for you before we merge it. If you do have time to retry this script in the next few days, please could you use commit Thanks, |
Hi Tom,
I will install 2.7.3, copy the script from
branch feature/193-addr-table-checks
and check and report on gitlab hopefully before
tomorrow evening,
Cheers, Anton
…On Tue, 12 May 2020, Tom Williams wrote:
Hi @juskoa
Did you manage to retry the script as outlined in my last comment? If not, would you have time to try it out in the next couple of days? I'm asking as in principle this branch is ready to merge, and it's passed our tests so far. Since you initially reported the bugs, it would be good to verify that the script works well for you before we merge it.
If you do have time to retry this script in the next few days, please could you use commit `9c826b4c2f47f93d0beb531c10e4c8bb305fc379`?
Thanks,
Tom
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#193 (comment)
|
I installed uhal 2.7.3 and copied the script from feature/193-addr-table-checks. When endpoint length < size, at the end of .xml file i.e.:
the error is detected:
For 'too many items' inside the node it is not detected:
i.e. $? is 0 and /tmp/trigger/uhal/OverlapReport-... is not produced. |
Interesting, I’ll look into it.
|
@juskoa : I tried adding the register block you mentioned to a simple test address table, but when I did this Also, when you run this test, what's the output of running |
Hi Tom,
Here is the xml file:
Cheers, Anton |
Hi, Based on that MD5 hash, I think you have an old version of the script (commit
... and its exit code is 2. To try the latest version of the script, can you run the following commands?
Cheers, |
Yes, works fine:
Thank you for patience, Cheers, Anton |
Hello.
We had 2 issues with inconsistency inside XML file, but gen_ipbus_addr_decode script has returned 0 (success) in both cases. We have found report only in \tmp folder.
I suggest to return 1 if XML file has such errors.
A) Two registers inside one slave had the same address, so there is missing address overlap check.
Here is the example:
We have found report only in /tmp folder file OverlapReport-home-trigger-WORK-vhd-ltu_logic.xml:
Overlap report for "/home/trigger/WORK/vhd/ltu_logic.xml".
Branch 'ctpemu.SOC_tf_rate' has address 0x0000012f and mask 0xffffffff which overlaps with branch 'ctpemu.EOC_tf_rate' which has address 0x0000012f and mask 0xffffffff.
B) Endpoint width was different as block size, so there is missing check for block size in respect to endpoint width.
Here is the example:
i.e. for a 'width=6' max. size is 0x40, 'size=0x440' should be reported as an error.
Now we see at least warning in stdout of gen_ipbus_addr_decode (ret. code is still 0), and corresponding report in /tmp:
WARNING - Address overlaps observed - report file written at "/tmp/trigger/uhal/OverlapReport-home-trigger-WORK-vhd-ttcit_logic.xml
Overlap report for "/home/trigger/WORK/vhd/ttcit_logic.xml".
Branch 'ttcitcntsX.TTCitcntsX' has address range [0x00002700 - 0x0000273f] which overlaps with branch 'ttcitcnts.TTCitcnts' which has address range [0x00002600 - 0x00002a3f].
The text was updated successfully, but these errors were encountered: