Compare commits

...

174 Commits

Author SHA1 Message Date
Eyck-Alexander Jentzsch 17b8e4a7fc actions are tricky
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Failing after 6m47s Details
2024-04-22 20:52:19 +02:00
Eyck-Alexander Jentzsch ddec62b3a3 does this work?
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Successful in 1m15s Details
2024-04-22 20:50:25 +02:00
Eyck-Alexander Jentzsch 5a7ab89f43 more testing
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Successful in 1m17s Details
2024-04-22 20:48:20 +02:00
Eyck-Alexander Jentzsch 36487d1b75 more testing
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Successful in 1m20s Details
2024-04-22 20:46:25 +02:00
Eyck-Alexander Jentzsch c65cf3a804 ident fix
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Failing after 6m34s Details
2024-04-22 20:36:50 +02:00
Eyck-Alexander Jentzsch e03001dd91 working on more solutions 2024-04-22 20:36:03 +02:00
Eyck-Alexander Jentzsch 3d216107d9 adds apparently working solution
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Successful in 6m50s Details
2024-04-22 20:28:07 +02:00
Eyck-Alexander Jentzsch ff1fe0f1af fixes indentation
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Failing after 6m44s Details
2024-04-22 20:20:55 +02:00
Eyck-Alexander Jentzsch 493b8be2ed adds more approaches 2024-04-22 20:19:18 +02:00
Eyck-Alexander Jentzsch b347393ff6 adds yet another approach
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Successful in 6m27s Details
2024-04-22 20:09:32 +02:00
Eyck-Alexander Jentzsch bdb7cbd36d adds different approach to indicate failure
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Successful in 6m41s Details
2024-04-22 19:56:07 +02:00
Eyck-Alexander Jentzsch 646452e0ea changes since continue on error for a job is disable for gitea
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Successful in 7m12s Details
2024-04-22 19:45:17 +02:00
Eyck-Alexander Jentzsch f41056924c removes ls on mounted volume
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Failing after 5m18s Details
2024-04-22 19:16:38 +02:00
Eyck-Alexander Jentzsch bc1e82952a adds valid volume
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Failing after 59s Details
2024-04-22 18:49:03 +02:00
Eyck-Alexander Jentzsch 03bb12efdb adds test for mount
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Has been cancelled Details
2024-04-22 18:43:13 +02:00
Eyck-Alexander Jentzsch 7b6c0291b2 fixes typo, moves continue on error
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Failing after 5m20s Details
2024-04-22 18:32:59 +02:00
Eyck-Alexander Jentzsch bd30872ed3 sets CONAN_USER_HOME instead
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Successful in 6m40s Details
2024-04-22 18:24:04 +02:00
Eyck-Alexander Jentzsch 74abd3032a adds CONAN_HOME as shell env variable
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Successful in 6m46s Details
2024-04-22 18:12:40 +02:00
Eyck-Alexander Jentzsch 2e14223e1e changes syntax
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Has been cancelled Details
2024-04-22 18:10:08 +02:00
Eyck-Alexander Jentzsch 4a09f1c634 debugging env
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Has been cancelled Details
2024-04-22 18:08:13 +02:00
Eyck-Alexander Jentzsch d322c7c9d8 updates env setting
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Has been cancelled Details
2024-04-22 18:05:51 +02:00
Eyck-Alexander Jentzsch bc6eed67e8 adds Conanhome to action
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Successful in 7m3s Details
2024-04-22 17:12:20 +02:00
Eyck Jentzsch 57ce6aab92 updates dbt-rise-tgc and updates build system
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Successful in 6m28s Details
2024-04-16 14:47:58 +02:00
Stanislaw Kaushanski 734522f6c3 fix log macro riscv_hart_common
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Successful in 8m36s Details
2024-04-15 13:06:33 +02:00
Eyck-Alexander Jentzsch 9c7b95ae23 adds dirs and continue despite error
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Successful in 8m31s Details
2024-03-24 18:21:23 +01:00
Eyck-Alexander Jentzsch cf8472f2fc changes job name
Run architectural test suite on backends / Build ISS, Setup TGC-COMPLIANCE, Run tests on backends (push) Failing after 6m21s Details
2024-03-24 18:00:41 +01:00
Eyck-Alexander Jentzsch cc23e02b89 moves tests into single job
Run architectural test suite on backends / Build ISS and Setup TGC-COMPLIANCE (push) Has been cancelled Details
2024-03-24 17:59:36 +01:00
Eyck-Alexander Jentzsch f21461e1ab changes typo
Run architectural test suite on backends / Build ISS and Setup TGC-COMPLIANCE (push) Successful in 6m38s Details
Run architectural test suite on backends / Test interp backend (push) Failing after 1m3s Details
Run architectural test suite on backends / Test llvm backend (push) Successful in 1m0s Details
Run architectural test suite on backends / Test tcc backend (push) Failing after 1m2s Details
Run architectural test suite on backends / Test asmjit backend (push) Failing after 1m1s Details
2024-03-24 17:33:23 +01:00
Eyck-Alexander Jentzsch 13094e78ce removes supposed fix
Run architectural test suite on backends / Test interp backend (push) Blocked by required conditions Details
Run architectural test suite on backends / Test llvm backend (push) Blocked by required conditions Details
Run architectural test suite on backends / Test tcc backend (push) Blocked by required conditions Details
Run architectural test suite on backends / Test asmjit backend (push) Blocked by required conditions Details
Run architectural test suite on backends / Build ISS and Setup TGC-COMPLIANCE (push) Has been cancelled Details
2024-03-24 17:32:18 +01:00
Eyck-Alexander Jentzsch 7bb4c283a3 latest changes
Run architectural test suite on backends / Build ISS and Setup TGC-COMPLIANCE (push) Failing after 2m0s Details
Run architectural test suite on backends / Test interp backend (push) Has been skipped Details
Run architectural test suite on backends / Test llvm backend (push) Has been skipped Details
Run architectural test suite on backends / Test tcc backend (push) Has been skipped Details
Run architectural test suite on backends / Test asmjit backend (push) Has been skipped Details
2024-03-24 17:29:17 +01:00
Eyck-Alexander Jentzsch 86f58adaa4 makes pretty :)
Run architectural test suite on backends / Build ISS and Setup TGC-COMPLIANCE (push) Failing after 4m58s Details
Run architectural test suite on backends / Test interp backend (push) Has been skipped Details
Run architectural test suite on backends / Test llvm backend (push) Has been skipped Details
Run architectural test suite on backends / Test tcc backend (push) Has been skipped Details
Run architectural test suite on backends / Test asmjit backend (push) Has been skipped Details
2024-03-24 17:06:56 +01:00
Eyck-Alexander Jentzsch 4efcbfbd35 Merge branch 'develop' of https://git.minres.com/TGFS/TGC-ISS into develop 2024-03-24 17:05:55 +01:00
Eyck-Alexander Jentzsch ac08908336 fixes indentation 2024-03-24 17:05:50 +01:00
Eyck-Alexander Jentzsch 60e6fec07d removes empty lines 2024-03-24 17:03:15 +01:00
Eyck-Alexander Jentzsch 061b21ed51 Merge branch 'develop' of https://git.minres.com/TGFS/TGC-ISS into develop 2024-03-24 17:01:42 +01:00
Eyck-Alexander Jentzsch 406cec6d27 cleans up workflow 2024-03-24 17:01:34 +01:00
Eyck Jentzsch 95096fe98a changes build system to always build cmake
Interp architectural test suite / Setup and build ISS (push) Failing after 4m25s Details
Interp architectural test suite / Test llvm backend (push) Has been cancelled Details
Interp architectural test suite / Test tcc backend (push) Has been cancelled Details
Interp architectural test suite / Test asmjit backend (push) Has been cancelled Details
Interp architectural test suite / Test interp backend (push) Has been cancelled Details
2024-03-24 16:50:28 +01:00
Eyck Jentzsch 5bbdb3bfa2 changes zlib version
Interp architectural test suite / Setup and build ISS (push) Failing after 2m28s Details
Interp architectural test suite / Test llvm backend (push) Has been cancelled Details
Interp architectural test suite / Test tcc backend (push) Has been cancelled Details
Interp architectural test suite / Test asmjit backend (push) Has been cancelled Details
Interp architectural test suite / Test interp backend (push) Has been cancelled Details
2024-03-24 16:22:12 +01:00
Eyck Jentzsch 6c304055bf updates build system to cope better with CentOS
Interp architectural test suite / Setup and build ISS (push) Failing after 2m23s Details
Interp architectural test suite / Test interp backend (push) Failing after 1m6s Details
Interp architectural test suite / Test llvm backend (push) Failing after 1m14s Details
Interp architectural test suite / Test asmjit backend (push) Has been cancelled Details
Interp architectural test suite / Test tcc backend (push) Has been cancelled Details
2024-03-24 16:15:21 +01:00
Eyck-Alexander Jentzsch 6ef27d8c58 adds correct syntax
Interp architectural test suite / Setup and build ISS (push) Failing after 4m10s Details
Interp architectural test suite / Test interp backend (push) Failing after 1m18s Details
Interp architectural test suite / Test tcc backend (push) Has been cancelled Details
Interp architectural test suite / Test asmjit backend (push) Has been cancelled Details
Interp architectural test suite / Test llvm backend (push) Has been cancelled Details
2024-03-24 16:02:00 +01:00
Eyck-Alexander Jentzsch 4c64d076fc adds tests for all backends 2024-03-24 15:58:38 +01:00
Eyck-Alexander Jentzsch 538406e9f3 adds correct branch checkout
Interp architectural test suite / Build and test interp backend (push) Successful in 7m40s Details
2024-03-24 15:49:59 +01:00
Eyck-Alexander Jentzsch 0d5eb6c1ce hopefully last debug
Interp architectural test suite / Build and test interp backend (push) Successful in 7m5s Details
2024-03-24 13:54:12 +01:00
Eyck-Alexander Jentzsch c785b0e33c debug
Interp architectural test suite / Build and test interp backend (push) Successful in 6m46s Details
2024-03-24 13:44:33 +01:00
Eyck-Alexander Jentzsch dd47d9d9d1 debug
Interp architectural test suite / Build and test interp backend (push) Successful in 6m40s Details
2024-03-24 13:35:49 +01:00
Eyck-Alexander Jentzsch c9ce22379b debug
Interp architectural test suite / Build and test interp backend (push) Successful in 6m16s Details
2024-03-24 13:26:17 +01:00
Eyck-Alexander Jentzsch 607aca574c debug
Interp architectural test suite / Build and test interp backend (push) Successful in 6m11s Details
2024-03-24 13:14:30 +01:00
Eyck-Alexander Jentzsch 247bed12ee updates submodules
Interp architectural test suite / Build and test interp backend (push) Successful in 6m24s Details
2024-03-24 13:03:02 +01:00
Eyck-Alexander Jentzsch b7ee50dc21 removes debug messages 2024-03-24 12:57:46 +01:00
Eyck-Alexander Jentzsch 417921fc55 debug
Interp architectural test suite / Build and test interp backend (push) Successful in 6m38s Details
2024-03-24 12:53:34 +01:00
Eyck-Alexander Jentzsch e0e9a207e8 fake commit 2
Interp architectural test suite / Build and test interp backend (push) Successful in 7m9s Details
2024-03-24 12:29:24 +01:00
Eyck-Alexander Jentzsch de56a5c5a3 fake commit 2024-03-24 12:29:00 +01:00
Eyck-Alexander Jentzsch 1baed20dbb fixes oversight
Interp architectural test suite / Build and test interp backend (push) Failing after 6m12s Details
2024-03-24 12:17:42 +01:00
Eyck-Alexander Jentzsch 246fbdefb6 fixes typo
Interp architectural test suite / Build and test interp backend (push) Failing after 5m55s Details
2024-03-24 12:11:24 +01:00
Eyck-Alexander Jentzsch afff028374 next debug
Interp architectural test suite / Build and test interp backend (push) Failing after 6m7s Details
2024-03-24 12:04:58 +01:00
Eyck-Alexander Jentzsch 070f179ca8 restricts ssh permissions
Interp architectural test suite / Build and test interp backend (push) Failing after 1m22s Details
2024-03-24 12:02:55 +01:00
Eyck-Alexander Jentzsch b157d916cb accepts ssh fingerprint
Interp architectural test suite / Build and test interp backend (push) Failing after 1m31s Details
2024-03-24 12:00:09 +01:00
Eyck-Alexander Jentzsch eb98e7525f adds different auth checkout
Interp architectural test suite / Build and test interp backend (push) Failing after 1m46s Details
2024-03-24 11:56:03 +01:00
Eyck-Alexander Jentzsch a817b7b47b adds verbosity for debugging action
Interp architectural test suite / Build and test interp backend (push) Failing after 1m27s Details
2024-03-24 11:46:09 +01:00
Eyck-Alexander Jentzsch 5545f58f85 adds ssh auth for checkout
Interp architectural test suite / Build and test interp backend (push) Failing after 1m16s Details
2024-03-24 11:43:01 +01:00
Eyck-Alexander Jentzsch 11d7a731ce changes checkout to git clone
Interp architectural test suite / Build and test interp backend (push) Failing after 6m5s Details
2024-03-24 11:16:02 +01:00
Eyck-Alexander Jentzsch 37a47b0f83 Merge branch 'develop' of https://git.minres.com/TGFS/TGC-ISS into develop
Interp architectural test suite / test and publish job (push) Failing after 6m50s Details
2024-03-24 11:05:33 +01:00
Eyck-Alexander Jentzsch cbdf6aab01 adds action to test interp 2024-03-24 11:05:23 +01:00
Stanislaw Kaushanski 0050dfd523 update formatting in dbt-rise submodules 2024-03-19 11:51:02 +01:00
Eyck-Alexander Jentzsch 262df83e8e Merge branch 'develop' of https://git.minres.com/TGFS/TGC-ISS into develop 2024-03-19 11:28:45 +01:00
Eyck-Alexander Jentzsch 5c6732f1ae updates submodules 2024-03-19 11:28:34 +01:00
Eyck Jentzsch 4c107e03a0 fixes installation for PA 2024-03-15 16:48:03 +01:00
Stanislaw Kaushanski 862b852f96 Add a new LOG macro in SCC to avoid conflicts with other libraries. 2024-03-14 09:46:01 +01:00
Eyck-Alexander Jentzsch 7a70f103f2 updates submodules 2024-03-07 13:58:42 +01:00
Eyck Jentzsch 9d647b72d7 updates submodules 2024-02-21 07:10:49 +01:00
Eyck Jentzsch bd23b776bd updates FW location link 2024-02-21 07:08:46 +01:00
Eyck Jentzsch fa79e3f0c9 updates dbt-rise-core with clang-format changes 2024-02-15 10:17:30 +01:00
Eyck Jentzsch 17f9f06dae updates scc to pull in AXI4 pinlevel target fix 2024-02-08 21:19:42 +01:00
Eyck Jentzsch 8393aa568f updates dbt-rise-tgc 2024-01-12 11:49:33 +01:00
Eyck Jentzsch e4ee3fc7d8 updates scc 2024-01-12 09:36:13 +01:00
Eyck Jentzsch 5bc46da768 updates submodules 2024-01-12 08:41:30 +01:00
Eyck Jentzsch 6c0d7d91aa makes TGC-ISS installable 2024-01-10 09:44:18 +01:00
Eyck Jentzsch 3c6c0337e5 updates scc 2023-12-22 10:49:44 +01:00
Eyck Jentzsch 4bcad78a22 updates scc 2023-12-20 10:01:37 +01:00
Eyck Jentzsch 5a121af14a updates iss 2023-12-17 12:56:04 +01:00
Eyck Jentzsch e38d3e3b13 updates scc 2023-12-17 12:32:42 +01:00
Eyck Jentzsch d4f71de938 updates iss 2023-12-16 18:07:16 +01:00
Eyck-Alexander Jentzsch 6418867a28 adds asmjit to test script 2023-12-14 14:28:17 +01:00
Eyck Jentzsch 8902d96ad4 updates scc 2023-12-09 18:10:27 +01:00
Eyck Jentzsch c8d6537fde updates scc 2023-12-09 16:56:25 +01:00
Eyck Jentzsch 0690f07fca updates submodule 2023-12-02 17:43:19 +01:00
Eyck Jentzsch 5e0c19f7a0 moves riscv toolchain to riscv64-unknown-elf 2023-12-02 09:23:30 +01:00
Eyck Jentzsch 940b05e71d apply clang-format 10 fixes 2023-12-01 14:52:03 +01:00
Eyck Jentzsch a9d2b5b564 updates submodules to apply clang-format fixes 2023-11-30 11:52:12 +01:00
Eyck Jentzsch a8c9b5fe18 updates submodules 2023-11-22 11:53:34 +01:00
Eyck Jentzsch 9b1f8de430 updates dbt-rise-tgc 2023-11-05 17:19:58 +01:00
Eyck Jentzsch d5f5eae880 updates scc 2023-11-05 16:35:01 +01:00
Eyck Jentzsch d07614989e updates dbt-rise-tgc and scc 2023-11-05 16:25:27 +01:00
Eyck Jentzsch 614c8702bf updates scc 2023-11-05 15:39:50 +01:00
Eyck Jentzsch 5bec3c33b0 updates scc 2023-10-30 20:49:34 +01:00
Eyck Jentzsch 9235848c6a updates environment setup 2023-10-29 18:57:09 +01:00
Eyck Jentzsch 4ef49674ec updates .gitignore 2023-10-29 17:13:38 +01:00
Eyck Jentzsch a703188c8b removes dbt-rise-plugins submodule 2023-10-29 17:11:52 +01:00
Eyck Jentzsch 864ccd9165 updates submodules 2023-10-29 17:11:25 +01:00
Eyck Jentzsch b48d2b76d2 adapts to changes in submodules 2023-10-29 16:20:38 +01:00
Eyck Jentzsch b1c78c19bd update submodules 2023-10-29 16:07:20 +01:00
Eyck Jentzsch eda55ae93e updates scc 2023-10-29 15:20:24 +01:00
Eyck Jentzsch bff845d5dc updates scc 2023-10-29 14:50:24 +01:00
Eyck Jentzsch 9560956e8d updates dbt-rise submodules 2023-10-29 14:32:48 +01:00
Eyck-Alexander Jentzsch fbcabc4fd5 updates modules 2023-10-22 15:27:00 +02:00
Eyck-Alexander Jentzsch edb8c6ef5b Merge branch 'develop' of https://git.minres.com/TGFS/TGC-ISS into develop 2023-10-22 15:10:22 +02:00
Eyck-Alexander Jentzsch 9fa17e41e5 adds asmjit 2023-10-22 15:10:17 +02:00
Eyck Jentzsch 6a00ef075d updates config files 2023-10-21 22:03:54 +02:00
Eyck Jentzsch 49165b2120 updates submodules 2023-10-21 21:32:50 +02:00
Eyck Jentzsch 4f67fd47c2 updates submodules 2023-10-19 09:45:49 +02:00
Eyck Jentzsch 74f8d71645 cleans structure and parts of implementation 2023-10-01 18:33:52 +02:00
Eyck Jentzsch 292bc1d92a updates dbt-rise-tgc 2023-09-30 22:17:41 +02:00
Eyck Jentzsch 4cb8ca3f61 updates project configuration 2023-09-30 22:11:48 +02:00
Eyck Jentzsch 73476e4c90 updates dbt-rise-tgc 2023-09-27 07:52:05 +02:00
Eyck Jentzsch 92d96af651 updates dbt-rise-tgc 2023-09-27 06:20:20 +02:00
Eyck Jentzsch b7c3379e19 updates submodules 2023-09-26 20:19:36 +02:00
Eyck-Alexander Jentzsch 5198c5f91b updates submodule 2023-09-25 11:01:19 +02:00
Eyck-Alexander Jentzsch b406743206 updates submodule 2023-09-25 09:45:31 +02:00
Eyck-Alexander Jentzsch d29c2bca04 adds newest changes 2023-09-23 11:31:18 +02:00
Eyck-Alexander Jentzsch 5493c3030c Merge branch 'develop' of https://git.minres.com/TGFS/TGC-ISS into develop 2023-09-22 12:43:44 +02:00
Eyck-Alexander Jentzsch 2b15c90bc1 adds newest submodules 2023-09-22 12:43:35 +02:00
Eyck-Alexander Jentzsch 31fdf14b23 tweaks for test script 2023-09-22 12:43:21 +02:00
Eyck-Alexander Jentzsch e17e463cf3 adds script to run UCB riscv tests 2023-09-20 09:36:32 +02:00
Eyck Jentzsch 4061cde25c updates dbt-rise-tgc 2023-09-19 12:12:07 +02:00
Eyck Jentzsch 20a4706289 updates dbt-rise-tgc 2023-09-09 18:56:35 +02:00
Eyck Jentzsch f85825c3cd updates dbt-rise-core to get fixed cmake settings 2023-09-07 08:14:08 +02:00
Eyck Jentzsch 5883ef1e8d updates naming 2023-09-04 12:48:55 +02:00
Eyck Jentzsch 4c508e218a updates scc 2023-08-30 18:23:46 +02:00
Eyck Jentzsch 7e3b296201 updates dbt-rise-tgc 2023-08-30 17:12:05 +02:00
Eyck Jentzsch cd256bbf69 updates iss & dbt-rise-tgc 2023-08-30 15:49:48 +02:00
Eyck Jentzsch 5e35336825 updates forgotten dbt-rise-core 2023-08-30 14:58:23 +02:00
Eyck Jentzsch 55a0846dc7 updates dbt-rise-tgc pulling in changed core names 2023-08-30 11:47:52 +02:00
Eyck Jentzsch 6ee7159ee7 fixes fw add subdir 2023-08-20 16:47:28 +02:00
Eyck Jentzsch af015e0fe8 adds fw builds to CMakeLists.txt 2023-08-20 16:01:26 +02:00
Eyck Jentzsch b12da49384 updates dbt-rise-tgc 2023-08-08 06:23:56 +02:00
Eyck Jentzsch 79073759d3 updates dbt-rise modules 2023-08-04 13:16:02 +02:00
Eyck Jentzsch 2e21148f37 purge build system 2023-07-30 14:03:36 +02:00
Eyck Jentzsch ef9f479b43 updates submodules 2023-07-30 09:27:46 +02:00
Eyck Jentzsch 02169317fd adds llvm support 2023-07-17 19:57:24 +02:00
Eyck Jentzsch dd43191eb3 updates dbt-rise-tgc 2023-07-10 20:39:22 +02:00
Eyck Jentzsch 56ce60318b updates dbt-rise-tgc 2023-07-10 12:53:10 +02:00
Eyck Jentzsch 75935ff9c4 reverts last commit 2023-07-09 22:49:54 +02:00
Eyck Jentzsch d68ad400cc fixes error in iss 2023-07-09 22:49:19 +02:00
Eyck Jentzsch a21c59868d removes erronously added dir 2023-07-09 22:47:42 +02:00
Eyck Jentzsch d8b64a32a8 updates build system 2023-07-09 22:23:43 +02:00
Eyck Jentzsch 4c7410c06b updates dbt-rise-tgc 2023-07-09 20:17:20 +02:00
Eyck Jentzsch 32c5bd4989 updates dbt-rise-tgc 2023-07-09 20:13:45 +02:00
Eyck Jentzsch 087a1af261 updates dbt-rise-* submodules 2023-07-09 18:21:58 +02:00
Eyck-Alexander Jentzsch 10db99f130 updates submodule 2023-07-09 17:01:30 +02:00
Eyck Jentzsch 77dc5b9f52 updates submodule and eclipse build config 2023-07-06 10:41:09 +02:00
Eyck Jentzsch 329818adf3 updates dbt-rise-tgc 2023-07-05 08:36:37 +02:00
Eyck Jentzsch f56cad7148 updates scc 2023-06-14 09:49:40 +02:00
Eyck Jentzsch f9082e70d4 updates dbt-rise-tgc 2023-06-12 17:39:18 +02:00
Eyck Jentzsch 3a5d549f46 updates submodules 2023-06-12 09:59:20 +02:00
Eyck Jentzsch d4eef1060f updates submodules 2023-06-11 18:31:04 +02:00
Eyck-Alexander Jentzsch c4460dfeee updates submodule 2023-06-05 17:58:12 +02:00
Eyck-Alexander Jentzsch b8645312eb Merge branch 'develop' of https://git.minres.com/TGFS/TGC-ISS into develop 2023-06-05 15:22:31 +02:00
Eyck-Alexander Jentzsch e6e3dc3f13 updates submodules 2023-06-05 15:20:28 +02:00
Eyck-Alexander Jentzsch cac68ac8c2 adds helperscript for easier debugging 2023-06-05 15:19:58 +02:00
Eyck Jentzsch 97538fce12 updates dbt-rise-tgc 2023-06-01 06:57:35 +02:00
Eyck Jentzsch ca0d7da4fc updates submodules and README.md 2023-05-31 11:57:19 +02:00
Eyck Jentzsch af2473b7a4 updates submodules 2023-05-25 21:17:23 +02:00
Eyck Jentzsch 02abdbfe7f updates submodules 2023-05-25 12:52:48 +02:00
Eyck-Alexander Jentzsch f2cc43c226 Merge branch 'develop' of https://git.minres.com/TGFS/TGC-ISS into develop 2023-05-16 21:59:38 +02:00
Eyck-Alexander Jentzsch 78026158d1 updates submodules 2023-05-16 21:59:23 +02:00
Eyck Jentzsch 70006f7b5f update dbt-rise-tgc 2023-05-16 08:57:20 +02:00
Eyck-Alexander Jentzsch 7f04090efe updates submodules 2023-05-15 15:25:14 +02:00
Eyck Jentzsch 1fad8b6e04 updates dbt-rise-tgc 2023-05-13 16:57:18 +02:00
Eyck Jentzsch 671ab49353 fixes segfault when backend is missing 2023-05-12 15:46:28 +02:00
Eyck Jentzsch e65af50c39 does cleanup and adds some comments 2023-05-12 09:58:40 +02:00
Eyck Jentzsch 6b9d52ff80 reshapes build system to allow standalone C++ build as well as for PA 2023-05-12 09:44:08 +02:00
Eyck Jentzsch bd6a864bc5 fixes build system to include dbt-rise-plugins 2023-05-11 23:19:29 +02:00
Rocco Jonack 46607eb4c2 added small additions to the PA flow description 2023-05-10 18:32:23 +02:00
Eyck Jentzsch 0b01677bcb updates dbt-rise-tgc 2023-05-06 19:58:36 +02:00
15 changed files with 656 additions and 155 deletions

96
.clang-format Normal file
View File

@ -0,0 +1,96 @@
Language: Cpp
# BasedOnStyle: LLVM
# should be in line with IndentWidth
AccessModifierOffset: -4
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlinesLeft: false
AlignOperands: true
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: false
BinPackArguments: true
BinPackParameters: true
BraceWrapping:
AfterClass: false
AfterControlStatement: false
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Attach
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: true
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
ColumnLimit: 140
CommentPragmas: '^( IWYU pragma:| @suppress)'
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 0
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ]
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
- Regex: '^(<|"(gtest|isl|json)/)'
Priority: 3
- Regex: '.*'
Priority: 1
IncludeIsMainRegex: '$'
IndentCaseLabels: false
IndentWidth: 4
IndentWrappedFunctionNames: false
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: true
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBlockIndentWidth: 2
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Left
ReflowComments: true
SortIncludes: true
SpaceAfterCStyleCast: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: Never
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Cpp11
TabWidth: 4
UseTab: Never
...

View File

@ -14,9 +14,9 @@
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.base.1336041151" name="Debug" optionalBuildProperties="" parent="org.eclipse.cdt.build.core.emptycfg">
<folderInfo id="cdt.managedbuild.toolchain.gnu.base.1336041151.1615713914" name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.base.1297474963" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base">
<toolChain id="cdt.managedbuild.toolchain.gnu.base.1297474963" name="Linux GCC" nonInternalBuilderId="cmake4eclipse.mbs.builder" superClass="cdt.managedbuild.toolchain.gnu.base">
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.GNU_ELF" id="cdt.managedbuild.target.gnu.platform.base.1141103737" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
<builder buildPath="/TGC-ISS/_build/Debug" id="cmake4eclipse.mbs.builder.1823257054" parallelBuildOn="false" superClass="cmake4eclipse.mbs.builder"/>
<builder buildPath="/TGC-ISS/build/Debug" id="cmake4eclipse.mbs.builder.1295402556" keepEnvironmentInBuildfile="false" name="CMake Builder" superClass="cmake4eclipse.mbs.builder"/>
<tool id="cdt.managedbuild.tool.gnu.archiver.base.740869785" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1934077203" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.preprocessor.def.1599133325" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
@ -48,14 +48,14 @@
<def name="CMAKE_BUILD_TYPE" type="STRING" val="${ConfigName}"/>
</defs>
</storageModule>
<storageModule dirtyTs="1681454842738" moduleId="de.marw.cmake4eclipse.mbs.settings">
<storageModule buildDir="build/${ConfigName}" dirtyTs="1698593487517" moduleId="de.marw.cmake4eclipse.mbs.settings">
<options/>
<defs>
<def name="CMAKE_BUILD_TYPE" type="STRING" val="Debug"/>
<def name="USE_CWR_SYSTEM" type="BOOL" val="ON"/>
<def name="BUILD_SHARED_LIBS" type="BOOL" val="ON"/>
<def name="CODEGEN" type="BOOL" val="OFF"/>
<def name="CMAKE_INSTALL_PREFIX" type="FILEPATH" val="${ProjDirPath}/install"/>
<def name="WITH_TCC" type="BOOL" val="ON"/>
<def name="FW_BUILD" type="BOOL" val="ON"/>
<def name="ENABLE_CLANG_TIDY" type="BOOL" val="ON"/>
</defs>
</storageModule>
</cconfiguration>
@ -112,8 +112,66 @@
<def name="CMAKE_BUILD_TYPE" type="STRING" val="Debug"/>
<def name="USE_CWR_SYSTEMC" type="BOOL" val="ON"/>
<def name="BUILD_SHARED_LIBS" type="BOOL" val="ON"/>
<def name="CODEGEN" type="BOOL" val="OFF"/>
<def name="CMAKE_INSTALL_PREFIX" type="FILEPATH" val="${ProjDirPath}/install"/>
<def name="FW_BUILD" type="BOOL" val="ON"/>
</defs>
</storageModule>
</cconfiguration>
<cconfiguration id="cdt.managedbuild.toolchain.gnu.base.1336041151.1605951382">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.1336041151.1605951382" moduleId="org.eclipse.cdt.core.settings" name="RelWithDebInfo">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.base.1336041151.1605951382" name="RelWithDebInfo" optionalBuildProperties="org.eclipse.cdt.docker.launcher.containerbuild.property.volumes=,org.eclipse.cdt.docker.launcher.containerbuild.property.selectedvolumes=" parent="org.eclipse.cdt.build.core.emptycfg">
<folderInfo id="cdt.managedbuild.toolchain.gnu.base.1336041151.1605951382." name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.base.1009994445" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base">
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.GNU_ELF" id="cdt.managedbuild.target.gnu.platform.base.1023431687" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
<builder buildPath="/TGC-ISS/_build/Debug" id="cmake4eclipse.mbs.builder.87414385" keepEnvironmentInBuildfile="false" name="CMake Builder" parallelBuildOn="true" parallelizationNumber="unlimited" superClass="cmake4eclipse.mbs.builder"/>
<tool id="cdt.managedbuild.tool.gnu.archiver.base.40272694" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.288344887" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.preprocessor.def.1881910565" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="CWR_SYSTEMC=1"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1745748578" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.1398015713" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1810687689" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.c.linker.base.120562679" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base"/>
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.1158166201" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base">
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.120238241" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="cdt.managedbuild.tool.gnu.assembler.base.1253632883" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base">
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.502601048" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
</tool>
</toolChain>
</folderInfo>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule buildDir="build/${ConfigName}" moduleId="de.marw.cdt.cmake.core.settings">
<options/>
<defs>
<def name="CMAKE_BUILD_TYPE" type="STRING" val="${ConfigName}"/>
</defs>
</storageModule>
<storageModule buildDir="build/${ConfigName}" dirtyTs="1698593290265" moduleId="de.marw.cmake4eclipse.mbs.settings">
<options/>
<defs>
<def name="CMAKE_BUILD_TYPE" type="STRING" val="RelWithDebInfo"/>
<def name="CMAKE_INSTALL_PREFIX" type="FILEPATH" val="${ProjDirPath}/install"/>
<def name="WITH_TCC" type="BOOL" val="ON"/>
<def name="FW_BUILD" type="BOOL" val="ON"/>
<def name="ENABLE_CLANG_TIDY" type="BOOL" val="ON"/>
</defs>
</storageModule>
</cconfiguration>
@ -126,6 +184,7 @@
<configuration configurationName="Debug-PA">
<resource resourceType="PROJECT" workspacePath="/TGC-ISS"/>
</configuration>
<configuration configurationName="RelWithDebInfo"/>
<configuration configurationName="Default">
<resource resourceType="PROJECT" workspacePath="/TGC-ISS"/>
</configuration>
@ -133,15 +192,37 @@
<resource resourceType="PROJECT" workspacePath="/TGC-ISS"/>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
<storageModule cmakelistsFolder="" moduleId="de.marw.cmake4eclipse.mbs.settings">
<targets>
<target name=""/>
</targets>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.base.1336041151;cdt.managedbuild.toolchain.gnu.base.1336041151.1615713914;cdt.managedbuild.tool.gnu.c.compiler.base.1699395860;cdt.managedbuild.tool.gnu.c.compiler.input.1583122935">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.base.1336041151.1605951382;cdt.managedbuild.toolchain.gnu.base.1336041151.1605951382.;cdt.managedbuild.tool.gnu.cpp.compiler.base.288344887;cdt.managedbuild.tool.gnu.cpp.compiler.input.1745748578">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.base.1336041151;cdt.managedbuild.toolchain.gnu.base.1336041151.1615713914;cdt.managedbuild.tool.gnu.cpp.compiler.base.1934077203;cdt.managedbuild.tool.gnu.cpp.compiler.input.17118862">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.base.1336041151.1605951382;cdt.managedbuild.toolchain.gnu.base.1336041151.1605951382.;cdt.managedbuild.tool.gnu.c.compiler.base.1398015713;cdt.managedbuild.tool.gnu.c.compiler.input.1810687689">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
<buildTargets>
<target name="format" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
<buildCommand>make</buildCommand>
<buildArguments>$&lt;cmake4eclipse_dyn&gt;</buildArguments>
<buildTarget>format</buildTarget>
<stopOnError>true</stopOnError>
<useDefaultCommand>true</useDefaultCommand>
<runAllBuilders>true</runAllBuilders>
</target>
</buildTargets>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
</cproject>

8
.envrc Normal file
View File

@ -0,0 +1,8 @@
module load ./Modulefile
distro=`/bin/lsb_release -i -s`
if [ $distro == "CentOS" ]; then
. /opt/rh/devtoolset-8/enable
. /opt/rh/rh-python38/enable
fi
layout python3
[ -f .envrc.$USER ] && . .envrc.$USER

View File

@ -0,0 +1,61 @@
name: Run architectural test suite on backends
on: push
jobs:
build_and_test_job:
name: Build ISS, Setup TGC-COMPLIANCE, Run tests on backends
runs-on: ubuntu-latest
container:
image: git.minres.com/tooling/riscof_sail:latest
valid_volumes:
- act-runtime
volumes:
- act-runtime:/mnt/act-runtime
steps:
- name: Checkout repository code
run: git clone --recursive -b ${{gitea.ref_name}} https://git.minres.com/TGFS/TGC-ISS.git
- name: Checkout TGC-COMPLIANCE
run: |
echo "${{ secrets.ACTRUNNER_PRIVATE_SSHKEY }}" > ssh_key
chmod 600 ssh_key
git clone --recursive -c core.sshCommand="/usr/bin/ssh -i ssh_key -o StrictHostKeyChecking=accept-new" ssh://git@git.minres.com:2221/TGFS/TGC-COMPLIANCE.git
- name: Build tgc-sim executable
run: |
conan profile new --detect --force default
cmake -S TGC-ISS -B TGC-ISS/build -DCMAKE_BUILD_TYPE=Debug -DWITH_ASMJIT=ON -DWITH_TCC=ON -DWITH_LLVM=OFF
cmake --build TGC-ISS/build -j24
- name: Test interp backend
continue-on-error: true
id: interp
run: |
mkdir interp
python3 TGC-COMPLIANCE/run_act.py -core TGC5C -sim TGC-ISS/build/dbt-rise-tgc/tgc-sim -w interp --dockerless --backend interp
- name: Test llvm backend
continue-on-error: true
id: llvm
run: |
mkdir llvm
echo "llvm takes too long to build, so it is skipped"
exit 1
##run: python3 TGC-COMPLIANCE/run_act.py -core TGC5C -sim TGC-ISS/build/dbt-rise-tgc/tgc-sim -w llvm --dockerless --backend llvm
- name: Test tcc backend
continue-on-error: true
id: tcc
run: |
mkdir tcc
python3 TGC-COMPLIANCE/run_act.py -core TGC5C -sim TGC-ISS/build/dbt-rise-tgc/tgc-sim -w tcc --dockerless --backend tcc
- name: Test asmjit backend
continue-on-error: true
id: asmjit
run: |
mkdir asmjit
python3 TGC-COMPLIANCE/run_act.py -core TGC5C -sim TGC-ISS/build/dbt-rise-tgc/tgc-sim -w asmjit --dockerless --backend asmjit
- name: Indicate Failure
if: steps.*.outcome != 'success'
run: echo "Failure detected"; exit 1

19
.gitignore vendored
View File

@ -1,7 +1,24 @@
/build/
/Debug/
.settings
/.venv
/.venv*
/Debug-PA/
/_build/
/install/
/analysis_results
.vscode
*.log
*tcc_jit*.c
*.disass
*.dis
*.objdump
*.asm
*.signature
*.elf
*.trc
/*.core_desc
/fasterDecoding/
*.ll
/dbt-rise-plugins
/.direnv
/TGC_C_XRB/

View File

@ -1,147 +1,245 @@
cmake_minimum_required(VERSION 3.16)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_CURRENT_SOURCE_DIR}/scc/cmake)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/scc/cmake)
project(TGFS-ISS VERSION 1.0.0 LANGUAGES CXX)
project(TGC-ISS VERSION 1.0.0 LANGUAGES CXX)
option(CODEGEN "enable generation of ISS code" ON)
set(CORE_NAME TGC_C CACHE STRING "The core to build the ISS for" )
set(WITH_LLVM FALSE CACHE BOOL "Build LLVM based backend")
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
set(CMAKE_INSTALL_RPATH "${ORIGIN}")
include(CheckCXXCompilerFlag)
include(GNUInstallDirs)
CHECK_CXX_COMPILER_FLAG("-march=native" COMPILER_SUPPORTS_MARCH_NATIVE)
if(COMPILER_SUPPORTS_MARCH_NATIVE)
if("${CMAKE_BUILD_TYPE}" STREQUAL "")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
elseif(NOT(${CMAKE_BUILD_TYPE} STREQUAL "RelWithDebInfo"))
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
endif()
endif()
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set(warnings "-Wall -Wextra -Werror")
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0")
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG")
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
set(warnings "/W4 /WX /EHsc")
endif()
include(ConanInline)
if(BUILD_SHARED_LIBS)
set(SHARED_FLAG "True")
else()
set(SHARED_FLAG "False")
endif()
set(CONAN_BOOST_OPTIONS
boost:fPIC=True
boost:shared=${SHARED_FLAG}
boost:header_only=False
boost:without_contract=True
boost:without_graph=True
boost:without_graph_parallel=True
boost:without_iostreams=True
boost:without_json=True
boost:without_locale=True
boost:without_log=True
boost:without_math=True
boost:without_mpi=True
boost:without_nowide=True
boost:without_python=True
boost:without_random=True
boost:without_regex=True
boost:without_stacktrace=True
boost:without_test=True
boost:without_timer=True
boost:without_type_erasure=True
boost:without_wave=True
)
set(B2_VERSION 4.9.3)
set(CONAN_PACKAGE_LIST
fmt/8.0.1
spdlog/1.9.2
boost/1.75.0
gsl-lite/0.37.0
elfio/3.8
tcc/0.9.27
lz4/1.9.3
yaml-cpp/0.7.0
jsoncpp/1.9.5
)
set(CONAN_PACKAGE_OPTIONS fmt:header_only=True ${CONAN_BOOST_OPTIONS})
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
list(APPEND CONAN_PACKAGE_OPTIONS lua:compile_as_cpp=False)
list(APPEND CONAN_PACKAGE_LIST tcc/0.9.27 seasocks/1.4.4 lua/5.4.3)
endif()
if(NOT USE_CWR_SYSTEMC AND NOT USE_NCSC_SYSTEMC AND NOT DEFINED ENV{SYSTEMC_HOME})
set(CONAN_PACKAGE_LIST ${CONAN_PACKAGE_LIST}
systemc/2.3.3
systemc-cci/1.0.0
)
set(CONAN_PACKAGE_OPTIONS ${CONAN_PACKAGE_OPTIONS}
systemc:shared=${SHARED_FLAG}
systemc-cci:shared=${SHARED_FLAG}
)
endif()
conan_check()
conan_add_remote(NAME minres URL https://git.minres.com/api/packages/Tooling/conan)
# Boost on CentOS 7 quirks: the b2 of conan-center is build against a newer libstdc++ and therefore does not run
# with the oooooold libs on CentOS 7. Therefore we build our own version of b2 if it is not there
set(B2_META $ENV{HOME}/.conan/data/b2/${B2_VERSION}/_/_/metadata.json)
if(DEFINED ENV{CONAN_USER_HOME})
set(B2_META $ENV{CONAN_USER_HOME}/.conan/data/b2/${B2_VERSION}/_/_/metadata.json)
endif()
if(NOT EXISTS ${B2_META})
conan_configure(REQUIRES b2/${B2_VERSION})
conan_cmake_autodetect(settings)
conan_cmake_install(PATH_OR_REFERENCE . BUILD b2 SETTINGS ${settings})
endif()
# Boost on CentOS 7 quirks end
conan_cmake_configure(REQUIRES ${CONAN_PACKAGE_LIST}
GENERATORS cmake_find_package
OPTIONS ${CONAN_PACKAGE_OPTIONS}
)
conan_cmake_autodetect(settings)
conan_install()
set(CONAN_CMAKE_SILENT_OUTPUT ON)
find_package(tcc QUIET)
find_package(elfio)
find_package(fmt)
find_package(spdlog)
find_package(gsl-lite)
set(Boost_NO_BOOST_CMAKE ON) # Don't do a find_package in config mode before searching for a regular boost install.
set(BOOST_ROOT ${CONAN_BOOST_ROOT})
find_package(Threads)
find_package(ZLIB)
include(clang-format)
set(ENABLE_CLANG_TIDY OFF CACHE BOOL "Add clang-tidy automatically to builds")
if (ENABLE_CLANG_TIDY)
find_program (CLANG_TIDY_EXE NAMES "clang-tidy" PATHS /usr/local/opt/llvm/bin )
if (CLANG_TIDY_EXE)
message(STATUS "clang-tidy found: ${CLANG_TIDY_EXE}")
set(CLANG_TIDY_CHECKS "-*,modernize-*")
set(CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_EXE};-checks=${CLANG_TIDY_CHECKS};-header-filter='${CMAKE_SOURCE_DIR}/*';-fix"
CACHE STRING "" FORCE)
if(CMAKE_PROJECT_NAME STREQUAL "TGC-ISS")
###########################################################################
# stand alone build settings
###########################################################################
set(CORE_NAME TGC5C CACHE STRING "The core to build the ISS for" )
option(FW_BUILD "Enable the automatic download and build of some firmware to run on the ISS" OFF)
option(ENABLE_SANITIZER "Enable address sanitizer" OFF)
option(ENABLE_CLANG_TIDY "Add clang-tidy and clang-format automatically to builds" OFF)
option(WITH_TCC "Build TCC backend" ON)
option(WITH_LLVM "Build LLVM backend" OFF)
option(WITH_ASMJIT "Build ASMJIT backend" ON)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
set(CMAKE_INSTALL_RPATH "${ORIGIN}")
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-march=native" COMPILER_SUPPORTS_MARCH_NATIVE)
if(COMPILER_SUPPORTS_MARCH_NATIVE)
if("${CMAKE_BUILD_TYPE}" STREQUAL "")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
elseif(NOT(${CMAKE_BUILD_TYPE} STREQUAL "RelWithDebInfo"))
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
endif()
endif()
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set(warnings "-Wall -Wextra -Werror")
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG")
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
set(warnings "/W4 /WX /EHsc")
endif()
if(ENABLE_SANITIZER)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fsanitize=address")
endif()
include(GNUInstallDirs)
include(ConanInline)
if(BUILD_SHARED_LIBS)
set(SHARED_FLAG "True")
else()
message(AUTHOR_WARNING "clang-tidy not found!")
set(CMAKE_CXX_CLANG_TIDY "" CACHE STRING "" FORCE) # delete it
set(SHARED_FLAG "False")
endif()
set(CONAN_BOOST_OPTIONS
boost:fPIC=True
boost:shared=False
boost:header_only=False
boost:without_contract=True
boost:without_graph=True
boost:without_graph_parallel=True
boost:without_iostreams=True
boost:without_json=True
boost:without_locale=True
boost:without_log=True
boost:without_math=True
boost:without_mpi=True
boost:without_nowide=True
boost:without_python=True
boost:without_random=True
boost:without_regex=True
boost:without_stacktrace=True
boost:without_test=True
boost:without_timer=True
boost:without_type_erasure=True
boost:without_wave=True
)
set(B2_VERSION 4.9.6)
set(CM_VERSION 3.20.5)
set(LLVM_VERSION 13.0.0)
set(CONAN_PACKAGE_LIST
fmt/8.0.1
spdlog/1.9.2
boost/1.75.0
gsl-lite/0.37.0
elfio/3.8
lz4/1.9.3
yaml-cpp/0.7.0
jsoncpp/1.9.5
zlib/1.2.12
)
set(CONAN_PACKAGE_OPTIONS fmt:header_only=True ${CONAN_BOOST_OPTIONS})
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
list(APPEND CONAN_PACKAGE_LIST tcc/0.9.27)
option(WITH_TCC "Build TCC backend" ON)
endif()
if(WITH_LLVM)
list(APPEND CONAN_PACKAGE_LIST llvm-core/${LLVM_VERSION})
list(APPEND CONAN_PACKAGE_OPTIONS libiconv:shared=True)
endif()
if(WITH_ASMJIT)
list(APPEND CONAN_PACKAGE_LIST asmjit/cci.20230325)
list(APPEND CONAN_PACKAGE_OPTIONS asmjit:shared=False)
endif()
if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dbt-rise-plugins)
list(APPEND CONAN_PACKAGE_OPTIONS lua:compile_as_cpp=False)
list(APPEND CONAN_PACKAGE_LIST lua/5.4.3)
endif()
conan_check()
conan_add_remote(NAME minres URL https://git.minres.com/api/packages/Tooling/conan)
###########################################################################
# Boost on CentOS 7 quirks: the b2 of conan-center is build against a newer libstdc++ and therefore does not run
# with the oooooold libs on CentOS 7. Therefore we build our own version of b2 if it is not there
###########################################################################
find_program(LSB_RELEASE_EXEC lsb_release)
if(NOT LSB_RELEASE_EXEC-NOTFOUND)
execute_process(COMMAND "${LSB_RELEASE_EXEC}" --short --id OUTPUT_VARIABLE LSB_RELEASE_ID_SHORT OUTPUT_STRIP_TRAILING_WHITESPACE)
if(LSB_RELEASE_ID_SHORT MATCHES "CentOS")
set(B2_META $ENV{HOME}/.conan/data/b2/${B2_VERSION}/_/_/metadata.json)
set(CM_META $ENV{HOME}/.conan/data/cmake/${CM_VERSION}/_/_/metadata.json)
set(LLVM_META $ENV{HOME}/.conan/data/llvm-core/${LLVM_VERSION}/_/_/metadata.json)
if(DEFINED ENV{CONAN_USER_HOME})
set(B2_META $ENV{CONAN_USER_HOME}/.conan/data/b2/${B2_VERSION}/_/_/metadata.json)
set(CMAKE_META $ENV{CONAN_USER_HOME}/.conan/data/cmake/${CM_VERSION}/_/_/metadata.json)
set(LLVM_META $ENV{CONAN_USER_HOME}/.conan/data/llvm-core/${LLVM_VERSION}/_/_/metadata.json)
endif()
if(NOT EXISTS ${B2_META})
conan_configure(REQUIRES b2/${B2_VERSION})
conan_cmake_autodetect(settings BUILD_TYPE Release)
conan_cmake_install(PATH_OR_REFERENCE . BUILD b2 SETTINGS ${settings})
endif()
if(NOT EXISTS ${CM_META})
conan_configure(REQUIRES cmake/${CM_VERSION})
conan_cmake_autodetect(settings BUILD_TYPE Release)
conan_cmake_install(PATH_OR_REFERENCE . BUILD cmake SETTINGS ${settings})
endif()
if(NOT EXISTS ${LLVM_META})
conan_configure(REQUIRES llvm-core/13.0.0)
conan_cmake_autodetect(settings BUILD_TYPE Release)
conan_cmake_install(PATH_OR_REFERENCE . BUILD llvm-core SETTINGS ${settings})
endif()
endif()
endif()
###########################################################################
# Boost on CentOS 7 quirks end
###########################################################################
conan_cmake_configure(REQUIRES ${CONAN_PACKAGE_LIST}
GENERATORS cmake_find_package
OPTIONS ${CONAN_PACKAGE_OPTIONS}
)
conan_cmake_autodetect(settings)
conan_install()
set(CONAN_CMAKE_SILENT_OUTPUT ON)
find_package(fmt)
find_package(spdlog)
find_package(lz4)
find_package(gsl-lite)
find_package(yaml-cpp)
set(Boost_NO_BOOST_CMAKE ON) # Don't do a find_package in config mode before searching for a regular boost install.
set(BOOST_ROOT ${CONAN_BOOST_ROOT})
find_package(Threads)
find_package(ZLIB)
if(USE_CWR_SYSTEMC)
include(SystemCPackage)
endif()
###############################################################################
# setup clang-format and clang-tidy
###############################################################################
if (ENABLE_CLANG_TIDY)
set(CLANG_FORMAT_EXCLUDE_PATTERNS "scc" "install")
find_package(ClangFormat)
find_program (CLANG_TIDY_EXE NAMES "clang-tidy" PATHS /usr/bin )
if (CLANG_TIDY_EXE)
message(STATUS "clang-tidy found: ${CLANG_TIDY_EXE}")
set(CLANG_TIDY_CHECKS "-*")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-avoid-bind.PermissiveParameterList")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-loop-convert.*")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-make-shared.")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-make-unique.")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-pass-by-value.*")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-raw-string-literal.*")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-replace-auto-ptr.IncludeStyle")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-replace-disallow-copy-and-assign-macro.MacroName")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-replace-random-shuffle.IncludeStyle")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-use-auto.*")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-use-bool-literals.IgnoreMacros")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-use-default-member-init.*")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-use-emplace.*")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-use-equals-default.IgnoreMacros")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-use-equals-delete.IgnoreMacros")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-use-nodiscard.ReplacementString")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-use-noexcept.*")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-use-nullptr.NullMacros")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-use-override.*")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-use-transparent-functors.SafeMode")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},modernize-use-using.IgnoreMacros")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},cppcoreguidelines-explicit-virtual-functions.IgnoreDestructors")
#set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},cppcoreguidelines-*")
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},clang-diagnostic-*,clang-analyzer-*")
set(DO_CLANG_TIDY "${CLANG_TIDY_EXE};-checks=${CLANG_TIDY_CHECKS};-header-filter='${CMAKE_SOURCE_DIR}/*';-fix"
CACHE STRING "" FORCE)
else()
message(WARNING "clang-tidy not found!")
set(CMAKE_CXX_CLANG_TIDY "" CACHE STRING "" FORCE) # delete it
endif()
endif()
if(FW_BUILD)
include(FetchContent)
set(FETCHCONTENT_BASE_DIR ${CMAKE_CURRENT_BINARY_DIR}/..)
FetchContent_Declare(
riscvfw
GIT_REPOSITORY https://git.minres.com/Firmware/Firmwares.git
GIT_TAG main
GIT_SHALLOW OFF
UPDATE_DISCONNECTED ON
)
FetchContent_GetProperties(riscvfw)
if(NOT riscvfw_POPULATED)
FetchContent_Populate(riscvfw)
endif()
add_subdirectory(${riscvfw_SOURCE_DIR})
endif()
endif()
add_subdirectory(dbt-rise-core)
add_subdirectory(scc)
if(CMAKE_PROJECT_NAME STREQUAL "TGC-ISS" AND NOT USE_CWR_SYSTEMC)
set(SCC_CMAKE_CONFIG_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/scc)
add_subdirectory(scc/src/common)
else()
add_subdirectory(scc)
endif()
add_subdirectory(dbt-rise-tgc)
if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dbt-rise-plugins)
add_subdirectory(dbt-rise-plugins)
endif()
include(CTest)

View File

@ -13,9 +13,10 @@ if { $distro == "CentOS" && ![info exists ::env(PROJECT)] && ![info exists ::env
puts stderr "Don't forget to execute 'scl enable devtoolset-7 bash'"
}
module load tools/utilities
module load tools/cmake
#module load tools/gcc-riscv64/9.2.0
module load tools/gcc-riscv32-unknown-elf/11
module load tools/clang
module load tools/gcc-riscv64-unknown-elf/13
setenv PROJECT TGFS-ISS

View File

@ -45,7 +45,7 @@ This ISS is based in DBT-RISE, a library to allow rapid ISS creation.
```
### Accellera SystemC build
### Standalone (C++) build
* start an out-of-source build:
@ -65,14 +65,22 @@ Assuming environment for Platform Architect is properly set up.
```
cd TGC-ISS/
export TGFS_INSTALL_ROOT `pwd`/install
export TGFS_INSTALL_ROOT=`pwd`/install
export SNPS_ENABLE_MEM_ON_DEMAND_IN_GENERIC_MEM=1
source $COWAREHOME/SLS/linux/setup.sh pae
export CC=$COWAREHOME/SLS/linux/common/bin/gcc
export CXX=$COWAREHOME/SLS/linux/common/bin/g++
cmake -S . -B build/PA -DCMAKE_BUILD_TYPE=Debug -DUSE_CWR_SYSTEMC=ON \
-DBUILD_SHARED_LIBS=ON -DCODEGEN=OFF -DCMAKE_INSTALL_PREFIX=${TGFS_INSTALL_ROOT}
-DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=${TGFS_INSTALL_ROOT}
cmake --build build/PA --target install -j16
```
The Synopsys PA installation requirements may vary on your system.
Now you may change to the directory dbt-rise-tgc/contrib to import the core model
Now you may change to dbt-rise-tgc/contrib to import the core model
```
cd dbt-rise-tgc/contrib
pct tgc_import.tcl
```

13
build.sh Normal file
View File

@ -0,0 +1,13 @@
export TGFS_INSTALL_ROOT=`pwd`/install
module load tools/pa/T-2022.06
module load tools/cmake
export SNPS_ENABLE_MEM_ON_DEMAND_IN_GENERIC_MEM=1
export CC=$COWAREHOME/common/bin/gcc
export CXX=$COWAREHOME/common/bin/g++
cmake -S . -B build/PA -DCMAKE_BUILD_TYPE=Debug -DUSE_CWR_SYSTEMC=ON -DBUILD_SHARED_LIBS=ON \
-DCODEGEN=OFF -DCMAKE_INSTALL_PREFIX=${TGFS_INSTALL_ROOT}
cmake --build build/PA --target install -j16
#cd dbt-rise-tgc/contrib
# import the TGC core itself
#pct tgc_import.tcl

@ -1 +1 @@
Subproject commit fa6166ae43b90d4263e9d50402a055d6172ccb69
Subproject commit e2ea2b139f329e48209763852daa3ef82e9afec8

@ -1 +1 @@
Subproject commit d330307ed5fe7cae9c01bd875194e31f28cbe6d1
Subproject commit 6cb76fc256e6e3f54faf36b7f0c66c5259f6bc05

1
requirements.txt Normal file
View File

@ -0,0 +1 @@
conan==1.59

2
scc

@ -1 +1 @@
Subproject commit dfb06a90801b3a7e55b5d4a03d8f161a26063a1c
Subproject commit 0bdd2db84d9483fd937fc7be9169cd1b341a29e8

View File

@ -0,0 +1,26 @@
import re
import os
'''
This script takes all files that get dumped by the tcc backend when using the --dump-ir
option and replaces the Integers of addresses with their hex representation to allow
for easier debugging.
'''
current_dir = os.getcwd() # Get the current directory
files_with_tcc_jit = [file for file in os.listdir(current_dir) if"jit" in file and not file.startswith("readable")]
for each in files_with_tcc_jit:
readable_file = f"readable_{each}"
if os.path.exists(readable_file):
os.remove(readable_file)
with open(each, "r") as file:
content = file.read()
for each in files_with_tcc_jit:
with open(each, "r") as file:
content = file.read()
# Replace numbers ending with "U" by their hex representation
content = re.sub(r'\b(\d+)U\b(?=U)?', lambda m: hex(int(m.group(1))), content)
with open(f"readable_{each}", "w") as file:
file.write(content)

91
scripts/run_riscv_tests.sh Executable file
View File

@ -0,0 +1,91 @@
#!/bin/bash
##
# Absolute path to this script, e.g. /home/user/bin/foo.sh
SCRIPT=`readlink -f "$0"`
# Absolute path this script is in, thus /home/user/bin
SCRIPTDIR=`dirname "$SCRIPT"`
SCRIPTNAME=`basename "$SCRIPT"`
function print_help {
echo "Usage: $SCRIPTNAME [-b <backend>] [-s <sim args>]}"
echo "Run UCB risc-v compliance test suite on backends"
echo "Optional cli arguments:"
echo " -b backend type, default all"
echo " -s <args> simulator arguments"
echo " -h print help"
echo " -v increase verbosity"
echo " -t set build type"
}
SIM_ARGS="-v1"
BACKENDS=("interp" "tcc" "llvm" "asmjit")
DEBUG=0
BUILD_TYPE=Debug
while getopts 'b:s:hvt:' c
do
case $c in
b) BACKENDS=($OPTARG);;
s) SIM_ARGS=$OPTARG ;;
h) print_help; exit 0 ;;
v) DEBUG=1 ;;
t) BUILD_TYPE = $OPTARG;;
?)
print_help >&2
exit 1
;;
esac
done
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
ROOT_DIR="$(dirname "$DIR")"
RISCV_TEST=$ROOT_DIR/build/riscv-tests
# prepare riscv-test binaries
if [ ! -d $RISCV_TEST ]; then
mkdir -p $ROOT_DIR/build; cd $ROOT_DIR/build
git clone --recursive https://github.com/riscv/riscv-tests.git
cd $RISCV_TEST
autoconf
./configure --with-xlen=32
cd $ROOT_DIR
make -C $RISCV_TEST -j -k
fi
# check that we have an executable
RISCV_EXE=$ROOT_DIR/build/${BUILD_TYPE}/dbt-rise-tgc/tgc-sim
if [ ! -x $RISCV_EXE ]; then
mkdir -p build/${BUILD_TYPE}
echo "running cmake -B build/${BUILD_TYPE} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DWITH_TCC=ON -DWITH_LLVM=ON "
cmake -S . -B build/${BUILD_TYPE} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DWITH_TCC=ON -DWITH_LLVM=ON ../.. || exit 1
cmake --build build/${BUILD_TYPE} -j 20 || exit 1
fi
test_ui_list=`find ${RISCV_TEST}/isa -type f -name rv32ui-p-\* -executable | grep -v fence | grep -v ma_data |sort`
test_uc_list=`find ${RISCV_TEST}/isa -type f -name rv32uc-p-\* -executable | grep -v fence | sort`
test_um_list=`find ${RISCV_TEST}/isa -type f -name rv32um-p-\* -executable | grep -v fence | sort`
test_list="$test_ui_list $test_uc_list $test_um_list $test_mmode_list"
for backend in "${BACKENDS[@]}"; do
failed_list=()
for elf in $test_list; do
[ $DEBUG -eq 0 ] || echo Running "${RISCV_EXE} $SIM_ARGS -f $elf --backend $backend"
${RISCV_EXE} $SIM_ARGS -f $elf --backend $backend
if [ $? != 0 ]; then
failed_list+="$backend:$elf "
fi
done
tcount=`echo $test_list | wc -w`
if [ ! -z "$failed_list" ]; then
fcount=`echo $failed_list | wc -w`
echo "($backend) $fcount of $tcount test(s) failed:"
echo $failed_list | tr ' ' '\n'
else
echo
echo "($backend) All $tcount tests passed."
if [ $DEBUG -eq 1 ];then
echo "List of executed tests:"
for t in $test_list; do
name=`basename $t`
echo " $name"
done
fi
fi
done