riscv-non-isa / riscv-arch-test

https://jira.riscv.org/browse/RVG-141?src=confmacro
Apache License 2.0
514 stars 200 forks source link

Trying to run just rv64/F does not pickup RV32/F tests? #361

Open InspireSemi opened 1 year ago

InspireSemi commented 1 year ago

When running just the F extension for RV64, I thought that it should also pick up the RV32/F tests. All it does is runt he test cases in RV64i_m/F dir.

Am I missing something?

riscof run --config ./config.ini --suite ./riscv-arch-test/riscv-test-suite/rv64i_m/F --env ./riscv-arch-test/riscv-test-suite/env

Same question for D extension..

allenjbaum commented 1 year ago

It's a completely different architecture - why should an RV64 run RV32 tests?

On Thu, Jun 8, 2023 at 9:01 AM InspireSemi @.***> wrote:

When running just the F extension for RV64, I thought that it should also pick up the RV32/F tests. All it does is runt he test cases in RV64i_m/F dir.

Am I missing something?

riscof run --config ./config.ini --suite ./riscv-arch-test/riscv-test-suite/rv64i_m/F --env ./riscv-arch-test/riscv-test-suite/env

— Reply to this email directly, view it on GitHub https://github.com/riscv-non-isa/riscv-arch-test/issues/361, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHPXVJVVFWVPAEWXBTP5W5TXKHZOXANCNFSM6AAAAAAY7QADWI . You are receiving this because you are subscribed to this thread.Message ID: @.***>

InspireSemi commented 1 year ago

F and D extensions cross the boundary. So not all of the F tests are under rv64i_m nor are all D test under the same path. You need to run the vrv32i_m tests as well.

Sent from my T-Mobile 5G Device Get Outlook for Androidhttps://aka.ms/AAb9ysg


From: Allen Baum @.> Sent: Thursday, June 8, 2023 1:45:51 PM To: riscv-non-isa/riscv-arch-test @.> Cc: Marc Karasek @.>; Author @.> Subject: Re: [riscv-non-isa/riscv-arch-test] Trying to run just rv64/F does not pickup RV32/F tests? (Issue #361)

It's a completely different architecture - why should an RV64 run RV32 tests?

On Thu, Jun 8, 2023 at 9:01 AM InspireSemi @.***> wrote:

When running just the F extension for RV64, I thought that it should also pick up the RV32/F tests. All it does is runt he test cases in RV64i_m/F dir.

Am I missing something?

riscof run --config ./config.ini --suite ./riscv-arch-test/riscv-test-suite/rv64i_m/F --env ./riscv-arch-test/riscv-test-suite/env

— Reply to this email directly, view it on GitHub https://url.avanan.click/v2/___https://github.com/riscv-non-isa/riscv-arch-test/issues/361.YXAzOmluc3BpcmVzZW1pOmE6bzphZTY4NjY4NGI5YTc4YTc1OWYxMGIxM2FhYzM4ZWQ0Nzo2OmViMzA6MmE4NzE0MzdhNjIwZWVlMTdkMzAzNTZmZDVhMDJmYWU5MzE2NTdjZDEwZTA2ZTU3MTJmNTkzNDgxOTlmMGNmMjp0OlQ;, or unsubscribe <https://url.avanan.click/v2/https://github.com/notifications/unsubscribe-auth/AHPXVJVVFWVPAEWXBTP5W5TXKHZOXANCNFSM6AAAAAAY7QADWI>___.YXAzOmluc3BpcmVzZW1pOmE6bzphZTY4NjY4NGI5YTc4YTc1OWYxMGIxM2FhYzM4ZWQ0Nzo2OjA5Nzk6ZTM1MzkxNDhkZDcwYjdjY2NiM2RmYThkNDBmOWRlMmFlNmU2ZGY1Mjk4MGZhNTA0ZGFkMDZkZTg2NGEzOGY0Mjp0OlQ; . You are receiving this because you are subscribed to this thread.Message ID: @.***>

— Reply to this email directly, view it on GitHubhttps://url.avanan.click/v2/___https://github.com/riscv-non-isa/riscv-arch-test/issues/361%23issuecomment-1583085356___.YXAzOmluc3BpcmVzZW1pOmE6bzphZTY4NjY4NGI5YTc4YTc1OWYxMGIxM2FhYzM4ZWQ0Nzo2Ojg2MDA6NGViNDk3NGQ5ZTQ1OGYzMjE3OWU2YTY0ZDYyMWNmNjcxMTI0YmQxYjVmYmQyZjJkYTQxZjZlNTFmNDE3Y2NhYTpoOlQ, or unsubscribehttps://url.avanan.click/v2/___https://github.com/notifications/unsubscribe-auth/AR3S6YY67HQ7KAGEQJ4REBLXKIFU7ANCNFSM6AAAAAAY7QADWI___.YXAzOmluc3BpcmVzZW1pOmE6bzphZTY4NjY4NGI5YTc4YTc1OWYxMGIxM2FhYzM4ZWQ0Nzo2OjE4MjI6ZTJkYjVjMjE0MmM0ODU2MjQxMjViMjc3OGNlMDVkNTA0MWQwODc1NjNiYmQ2YzczZGE2YzFmMjAxYjVkYTAyYzpoOlQ. You are receiving this because you authored the thread.Message ID: @.***>

pawks commented 1 year ago

The fault is in this argument of the command: --suite ./riscv-arch-test/riscv-test-suite/rv64i_m/F. The suite argument controls the root directory for the suite for the riscof run. So riscof will not discover any tests outside of those directories. In order to select the appropriate tests you will have to give the argument as --suite ./riscv-arch-test/riscv-test-suite/. Note that the directory organisation in the repo is not intended to allow filtering of tests. Its merely cosmetic and to enable easier maintenance. The filtering is always best left to riscof rather than use manual intervention to get the desired result.

MarcKarasek commented 1 year ago

How can I run just the F or D test cases for rv64 then. For all the others in you can specify on the cmdline what you want to test.

On Fri, Jun 9, 2023, 6:06 AM S Pawan Kumar @.***> wrote:

The fault is in this argument of the command: --suite ./riscv-arch-test/riscv-test-suite/rv64i_m/F. The suite argument controls the root directory for the suite for the riscof run. So riscof will not discover any tests outside of those directories. In order to select the appropriate tests you will have to give the argument as --suite ./riscv-arch-test/riscv-test-suite/. Note that the directory organisation in the repo is not intended to allow filtering of tests. Its merely cosmetic and to enable easier maintenance. The filtering is always best left to riscof rather than use manual intervention to get the desired result.

— Reply to this email directly, view it on GitHub https://github.com/riscv-non-isa/riscv-arch-test/issues/361#issuecomment-1584319418, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD72ZMYIZLF5TDPDA76E5EDXKLYQ5ANCNFSM6AAAAAAY7QADWI . You are receiving this because you are subscribed to this thread.Message ID: @.***>

pawks commented 1 year ago

How can I run just the F or D test cases for rv64 then. For all the others in you can specify on the cmdline what you want to test.

Ideally, the way to do that is to use a custom database yaml with just the required tests in it. Alternatively, you can create another directory containing symlinks to all the 4 directories(RV32F,RV32D, RV64F & RV64D) and pass that directory path to the suite argument.

InspireSemi commented 1 year ago

I tried the first one with a custom yaml with the –noclean option. It fails with an error code of a file exists in the path. I guess I could symlink one dir and try that next.

Marc Karasek Principal Software Engineer M: 678.770.3788

[A close up of a sign Description automatically generated] www.inspiresemi.comhttp://www.cryptocoretech.com/

THIS MESSAGE IS INTENDED ONLY FOR THE USE OF THE INDIVIDUAL OR ENTITY TO WHICH IT IS ADDRESSED AND MAY CONTAIN INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND/OR EXEMPT FROM DISCLOSURE UNDER APPLICABLE LAW. If the reader of this message is not the intended recipient or agent responsible for delivering the message to the intended recipient, then you are hereby notified that any dissemination or copying of this communication is strictly prohibited. If you have received this electronic transmission in error, please delete it from your system without copying it and notify the sender by reply e-mail so that our address record can be corrected. Thank you.

From: S Pawan Kumar @.> Sent: Friday, June 9, 2023 9:24 AM To: riscv-non-isa/riscv-arch-test @.> Cc: Marc Karasek @.>; Author @.> Subject: Re: [riscv-non-isa/riscv-arch-test] Trying to run just rv64/F does not pickup RV32/F tests? (Issue #361)

How can I run just the F or D test cases for rv64 then. For all the others in you can specify on the cmdline what you want to test.

Ideally, the way to do that is to use a custom database yaml with just the required tests in it. Alternatively, you can create another directory containing symlinks to all the 4 directories(RV32F,RV32D, RV64F & RV64D) and pass that directory path to the suite argument.

— Reply to this email directly, view it on GitHubhttps://url.avanan.click/v2/___https:/github.com/riscv-non-isa/riscv-arch-test/issues/361%23issuecomment-1584570022___.YXAzOmluc3BpcmVzZW1pOmE6bzpjZjIxMWEyMGI0ODU5NDUwZTkzYWMzYWY3MjMxNTllNDo2OmE3OWQ6Y2M2ODI1YmU0YWJkMzY1MWJkODcxODQ1MjA2YjY3MTAyNDc3ZjgxMGExOWE3MzYxNzM5ZTEwN2VhMzE4YzMzMDpoOlQ, or unsubscribehttps://url.avanan.click/v2/___https:/github.com/notifications/unsubscribe-auth/AR3S6Y6AUK3HJNC633QZ3DTXKMPVLANCNFSM6AAAAAAY7QADWI___.YXAzOmluc3BpcmVzZW1pOmE6bzpjZjIxMWEyMGI0ODU5NDUwZTkzYWMzYWY3MjMxNTllNDo2OjI2Y2Q6ODc1NjM3NjVkY2Y3YjBjMWQ2NzE4ZTc1ZTBiMTAxMzk4NWRhZWFiNWMzYmM3ZjAzMmRjYWFjMTEwNTg3N2I2OTpoOlQ. You are receiving this because you authored the thread.Message ID: @.**@.>>

InspireSemi commented 1 year ago

I setup two top level dirs. ./riscv64_d/src ./riscv64_f/src

Put symlinks in both to point to the RV33/RV64 D and F tests files.

--suite ./riscv64_d works it picks up all the tests and runs them --suite ./riscv64_f does NOT work. Finds no tests

Yaml file: hart_ids: [0] hart0:

ISA: RV64IMAC

ISA: RV64IMAFDCZicsr_Zifencei

RV64IMCZicsr_Zifencei

physical_addr_sz: 56 User_Spec_Version: '2.3' supported_xlen: [64] mhartid: reset-val: 0 rv64: accessible: true type: ro_constant: 0

Marc

Marc Karasek Principal Software Engineer M: 678.770.3788

[A close up of a sign Description automatically generated] www.inspiresemi.comhttp://www.cryptocoretech.com/

THIS MESSAGE IS INTENDED ONLY FOR THE USE OF THE INDIVIDUAL OR ENTITY TO WHICH IT IS ADDRESSED AND MAY CONTAIN INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND/OR EXEMPT FROM DISCLOSURE UNDER APPLICABLE LAW. If the reader of this message is not the intended recipient or agent responsible for delivering the message to the intended recipient, then you are hereby notified that any dissemination or copying of this communication is strictly prohibited. If you have received this electronic transmission in error, please delete it from your system without copying it and notify the sender by reply e-mail so that our address record can be corrected. Thank you.

From: Marc Karasek Sent: Monday, June 12, 2023 9:44 PM To: riscv-non-isa/riscv-arch-test @.>; riscv-non-isa/riscv-arch-test @.> Cc: Author @.***> Subject: RE: [riscv-non-isa/riscv-arch-test] Trying to run just rv64/F does not pickup RV32/F tests? (Issue #361)

I tried the first one with a custom yaml with the –noclean option. It fails with an error code of a file exists in the path. I guess I could symlink one dir and try that next.

Marc Karasek Principal Software Engineer M: 678.770.3788

[A close up of a sign Description automatically generated] www.inspiresemi.comhttp://www.cryptocoretech.com/

THIS MESSAGE IS INTENDED ONLY FOR THE USE OF THE INDIVIDUAL OR ENTITY TO WHICH IT IS ADDRESSED AND MAY CONTAIN INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND/OR EXEMPT FROM DISCLOSURE UNDER APPLICABLE LAW. If the reader of this message is not the intended recipient or agent responsible for delivering the message to the intended recipient, then you are hereby notified that any dissemination or copying of this communication is strictly prohibited. If you have received this electronic transmission in error, please delete it from your system without copying it and notify the sender by reply e-mail so that our address record can be corrected. Thank you.

From: S Pawan Kumar @.**@.>> Sent: Friday, June 9, 2023 9:24 AM To: riscv-non-isa/riscv-arch-test @.**@.>> Cc: Marc Karasek @.**@.>>; Author @.**@.>> Subject: Re: [riscv-non-isa/riscv-arch-test] Trying to run just rv64/F does not pickup RV32/F tests? (Issue #361)

How can I run just the F or D test cases for rv64 then. For all the others in you can specify on the cmdline what you want to test.

Ideally, the way to do that is to use a custom database yaml with just the required tests in it. Alternatively, you can create another directory containing symlinks to all the 4 directories(RV32F,RV32D, RV64F & RV64D) and pass that directory path to the suite argument.

— Reply to this email directly, view it on GitHubhttps://url.avanan.click/v2/___https:/github.com/riscv-non-isa/riscv-arch-test/issues/361%23issuecomment-1584570022___.YXAzOmluc3BpcmVzZW1pOmE6bzpjZjIxMWEyMGI0ODU5NDUwZTkzYWMzYWY3MjMxNTllNDo2OmE3OWQ6Y2M2ODI1YmU0YWJkMzY1MWJkODcxODQ1MjA2YjY3MTAyNDc3ZjgxMGExOWE3MzYxNzM5ZTEwN2VhMzE4YzMzMDpoOlQ, or unsubscribehttps://url.avanan.click/v2/___https:/github.com/notifications/unsubscribe-auth/AR3S6Y6AUK3HJNC633QZ3DTXKMPVLANCNFSM6AAAAAAY7QADWI___.YXAzOmluc3BpcmVzZW1pOmE6bzpjZjIxMWEyMGI0ODU5NDUwZTkzYWMzYWY3MjMxNTllNDo2OjI2Y2Q6ODc1NjM3NjVkY2Y3YjBjMWQ2NzE4ZTc1ZTBiMTAxMzk4NWRhZWFiNWMzYmM3ZjAzMmRjYWFjMTEwNTg3N2I2OTpoOlQ. You are receiving this because you authored the thread.Message ID: @.**@.>>

InspireSemi commented 1 year ago

BTW: Just setting a symlink path to the dir RV32D, RV64D, etc.. did not work as well. It did not find any tests. I had to put symlinks in a src/ dir to the test files.

Marc Karasek Principal Software Engineer M: 678.770.3788

[A close up of a sign Description automatically generated] www.inspiresemi.comhttp://www.cryptocoretech.com/

THIS MESSAGE IS INTENDED ONLY FOR THE USE OF THE INDIVIDUAL OR ENTITY TO WHICH IT IS ADDRESSED AND MAY CONTAIN INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND/OR EXEMPT FROM DISCLOSURE UNDER APPLICABLE LAW. If the reader of this message is not the intended recipient or agent responsible for delivering the message to the intended recipient, then you are hereby notified that any dissemination or copying of this communication is strictly prohibited. If you have received this electronic transmission in error, please delete it from your system without copying it and notify the sender by reply e-mail so that our address record can be corrected. Thank you.

From: Marc Karasek Sent: Monday, June 12, 2023 9:44 PM To: riscv-non-isa/riscv-arch-test @.>; riscv-non-isa/riscv-arch-test @.> Cc: Author @.***> Subject: RE: [riscv-non-isa/riscv-arch-test] Trying to run just rv64/F does not pickup RV32/F tests? (Issue #361)

I tried the first one with a custom yaml with the –noclean option. It fails with an error code of a file exists in the path. I guess I could symlink one dir and try that next.

Marc Karasek Principal Software Engineer M: 678.770.3788

[A close up of a sign Description automatically generated] www.inspiresemi.comhttp://www.cryptocoretech.com/

THIS MESSAGE IS INTENDED ONLY FOR THE USE OF THE INDIVIDUAL OR ENTITY TO WHICH IT IS ADDRESSED AND MAY CONTAIN INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND/OR EXEMPT FROM DISCLOSURE UNDER APPLICABLE LAW. If the reader of this message is not the intended recipient or agent responsible for delivering the message to the intended recipient, then you are hereby notified that any dissemination or copying of this communication is strictly prohibited. If you have received this electronic transmission in error, please delete it from your system without copying it and notify the sender by reply e-mail so that our address record can be corrected. Thank you.

From: S Pawan Kumar @.**@.>> Sent: Friday, June 9, 2023 9:24 AM To: riscv-non-isa/riscv-arch-test @.**@.>> Cc: Marc Karasek @.**@.>>; Author @.**@.>> Subject: Re: [riscv-non-isa/riscv-arch-test] Trying to run just rv64/F does not pickup RV32/F tests? (Issue #361)

How can I run just the F or D test cases for rv64 then. For all the others in you can specify on the cmdline what you want to test.

Ideally, the way to do that is to use a custom database yaml with just the required tests in it. Alternatively, you can create another directory containing symlinks to all the 4 directories(RV32F,RV32D, RV64F & RV64D) and pass that directory path to the suite argument.

— Reply to this email directly, view it on GitHubhttps://url.avanan.click/v2/___https:/github.com/riscv-non-isa/riscv-arch-test/issues/361%23issuecomment-1584570022___.YXAzOmluc3BpcmVzZW1pOmE6bzpjZjIxMWEyMGI0ODU5NDUwZTkzYWMzYWY3MjMxNTllNDo2OmE3OWQ6Y2M2ODI1YmU0YWJkMzY1MWJkODcxODQ1MjA2YjY3MTAyNDc3ZjgxMGExOWE3MzYxNzM5ZTEwN2VhMzE4YzMzMDpoOlQ, or unsubscribehttps://url.avanan.click/v2/___https:/github.com/notifications/unsubscribe-auth/AR3S6Y6AUK3HJNC633QZ3DTXKMPVLANCNFSM6AAAAAAY7QADWI___.YXAzOmluc3BpcmVzZW1pOmE6bzpjZjIxMWEyMGI0ODU5NDUwZTkzYWMzYWY3MjMxNTllNDo2OjI2Y2Q6ODc1NjM3NjVkY2Y3YjBjMWQ2NzE4ZTc1ZTBiMTAxMzk4NWRhZWFiNWMzYmM3ZjAzMmRjYWFjMTEwNTg3N2I2OTpoOlQ. You are receiving this because you authored the thread.Message ID: @.**@.>>