From 79dabe92c096c15d2f38117129abf21e19d56180 Mon Sep 17 00:00:00 2001 From: eyck Date: Tue, 29 Dec 2020 08:49:38 +0000 Subject: [PATCH 01/89] first version of tgf_c based on CoreDSL 2.0 --- .cproject | 2 +- .gitmodules | 3 +++ Modulefile | 33 +++++++++++++++++++++++++++++++++ coredsl | 1 + tgfs | 2 +- 5 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 Modulefile create mode 160000 coredsl diff --git a/.cproject b/.cproject index 1cb85cc..1463a0b 100644 --- a/.cproject +++ b/.cproject @@ -16,7 +16,7 @@ - + diff --git a/.gitmodules b/.gitmodules index 587d5d6..f533ef3 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,6 @@ [submodule "dbt-core"] path = dbt-core url = https://git.minres.com/DBT-RISE/DBT-RISE-Core.git +[submodule "coredsl"] + path = coredsl + url = https://git.minres.com/DBT-RISE/CoreDSL.git diff --git a/Modulefile b/Modulefile new file mode 100644 index 0000000..35bf3ea --- /dev/null +++ b/Modulefile @@ -0,0 +1,33 @@ +#%Module###################################################################### +## +## Project Module +## +proc ModulesHelp { } { + puts stderr "\tThe TGFS-ISS Project Module\n" + puts stderr "\tThis module loads PATHs and variables for accessing Verilator." +} + + +set distro [exec /bin/lsb_release -i -s] +if { $distro == "CentOS" && ![info exists ::env(PROJECT)] && ![info exists ::env(PCP_DIR)] } { + puts stderr "Don't forget to execute 'scl enable devtoolset-7 bash'" +} + +if {![info exists ::env(PROJECT)] && [file exists $::env(HOME)/.sdkman/candidates/java/11.0.9.hs-adpt/] != 1} { + puts stderr "Please install java via 'sdk install java 11.0.9.hs-adpt'!" + prereq java/11.0.9 +} else { + prepend-path PATH $::env(HOME)/.sdkman/candidates/java/11.0.9.hs-adpt/bin +} + +if {![info exists ::env(PROJECT)] && [file exists $::env(HOME)/.sdkman/candidates/maven/3.6.3] != 1} { + puts stderr "Please install sbt via 'sdk install maven 3.6.3'!" + prereq maven/3.6.3 +} else { + prepend-path PATH $::env(HOME)/.sdkman/candidates/sbt/1.4.4/bin +} + +module load tools/cmake + +setenv PROJECT TGFS-ISS + diff --git a/coredsl b/coredsl new file mode 160000 index 0000000..303d3d4 --- /dev/null +++ b/coredsl @@ -0,0 +1 @@ +Subproject commit 303d3d4b0466cc0df278684100dfdc5567a87c51 diff --git a/tgfs b/tgfs index d43b359..ab55453 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit d43b35949e60c45e45ec43af1977478d0f93869d +Subproject commit ab554539e37566f7ca8f06d5ddf701bdf231a110 From cfec35900c1ca5446c38b3d2dd57841e605158d5 Mon Sep 17 00:00:00 2001 From: eyck Date: Tue, 29 Dec 2020 09:43:01 +0000 Subject: [PATCH 02/89] add script as intermediate for code generation --- Modulefile | 2 +- coredsl | 2 +- generate.sh | 20 ++++++++++++++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 generate.sh diff --git a/Modulefile b/Modulefile index 35bf3ea..425c37f 100644 --- a/Modulefile +++ b/Modulefile @@ -21,7 +21,7 @@ if {![info exists ::env(PROJECT)] && [file exists $::env(HOME)/.sdkman/candidate } if {![info exists ::env(PROJECT)] && [file exists $::env(HOME)/.sdkman/candidates/maven/3.6.3] != 1} { - puts stderr "Please install sbt via 'sdk install maven 3.6.3'!" + puts stderr "Please install mvn via 'sdk install maven 3.6.3'!" prereq maven/3.6.3 } else { prepend-path PATH $::env(HOME)/.sdkman/candidates/sbt/1.4.4/bin diff --git a/coredsl b/coredsl index 303d3d4..516ff37 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit 303d3d4b0466cc0df278684100dfdc5567a87c51 +Subproject commit 516ff37f81ff201f00715b077cede2ba87b3bafb diff --git a/generate.sh b/generate.sh new file mode 100644 index 0000000..d7f8412 --- /dev/null +++ b/generate.sh @@ -0,0 +1,20 @@ +#!/bin/nash +## + +export JAVA_OPTS="--add-modules ALL-SYSTEM --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.annotation=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.module=ALL-UNNAMED --add-opens=java.base/java.lang.ref=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.net.spi=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.channels=ALL-UNNAMED --add-opens=java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.charset.spi=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.nio.file.attribute=ALL-UNNAMED --add-opens=java.base/java.nio.file.spi=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.security.acl=ALL-UNNAMED --add-opens=java.base/java.security.cert=ALL-UNNAMED --add-opens=java.base/java.security.interfaces=ALL-UNNAMED --add-opens=java.base/java.security.spec=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.text.spi=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.time.chrono=ALL-UNNAMED --add-opens=java.base/java.time.format=ALL-UNNAMED --add-opens=java.base/java.time.temporal=ALL-UNNAMED --add-opens=java.base/java.time.zone=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED --add-opens=java.base/java.util.function=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.util.spi=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens=java.datatransfer/java.awt.datatransfer=ALL-UNNAMED --add-opens=java.desktop/java.applet=ALL-UNNAMED --add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.desktop/java.awt.color=ALL-UNNAMED --add-opens=java.desktop/java.awt.desktop=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.desktop/java.awt.geom=ALL-UNNAMED --add-opens=java.desktop/java.awt.im=ALL-UNNAMED --add-opens=java.desktop/java.awt.im.spi=ALL-UNNAMED --add-opens=java.desktop/java.awt.image=ALL-UNNAMED --add-opens=java.desktop/java.awt.image.renderable=ALL-UNNAMED --add-opens=java.desktop/java.awt.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.print=ALL-UNNAMED --add-opens=java.desktop/java.beans=ALL-UNNAMED --add-opens=java.desktop/java.beans.beancontext=ALL-UNNAMED --add-opens=java.instrument/java.lang.instrument=ALL-UNNAMED --add-opens=java.logging/java.util.logging=ALL-UNNAMED --add-opens=java.management/java.lang.management=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.rmi/java.rmi=ALL-UNNAMED --add-opens=java.rmi/java.rmi.activation=ALL-UNNAMED --add-opens=java.rmi/java.rmi.dgc=ALL-UNNAMED --add-opens=java.rmi/java.rmi.registry=ALL-UNNAMED --add-opens=java.rmi/java.rmi.server=ALL-UNNAMED --add-opens=java.sql/java.sql=ALL-UNNAMED" + +GENERATOR="java $JAVA_OPTS -jar coredsl/plugins/com.minres.coredsl.generator.standalone/target/com.minres.coredsl.generator-1.0.0-SNAPSHOT.jar" + +CORE_NAME='-c TGF_C' +REPO_DIR=tgfs/gen_input/CoreDSL-Instruction-Set-Description +TMPL_DIR=tgfs/gen_input/templates/interp +INPUT_FILE=tgfs/gen_input/TGFS.core_desc +MAPPING="" +MAPPING="$MAPPING -m ${TMPL_DIR}/incl-CORENAME.h.gtl->tgfs/incl/iss/arch/tgf_c.h" +MAPPING="$MAPPING -m ${TMPL_DIR}/src-CORENAME.cpp.gtl->tgfs/src/iss/tgf_c.cpp" +MAPPING="$MAPPING -m ${TMPL_DIR}/vm-vm_CORENAME.cpp.gtl->tgfs/src/vm/interp/vm_tgf_c.cpp" + +[ -f coredsl/plugins/com.minres.coredsl.generator.standalone/target/com.minres.coredsl.generator-1.0.0-SNAPSHOT.jar ] || (cd coredsl; mvn package) + +$GENERATOR $CORE_NAME -r $REPO_DIR $MAPPING $INPUT_FILE + From aa6b1dc0eda93db8fc70ca54a9d31222739e7d7b Mon Sep 17 00:00:00 2001 From: eyck Date: Wed, 30 Dec 2020 07:31:17 +0000 Subject: [PATCH 03/89] integrate code generation into build process (first attempt) --- CMakeLists.txt | 5 ++++- cmake/CodeGen.cmake | 52 +++++++++++++++++++++++++++++++++++++++++++++ coredsl | 2 +- generate.sh | 8 +++---- tgfs | 2 +- 5 files changed, 62 insertions(+), 7 deletions(-) create mode 100644 cmake/CodeGen.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 79d8ceb..927d8c5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -54,7 +54,10 @@ if (ENABLE_CLANG_TIDY) set(CMAKE_CXX_CLANG_TIDY "" CACHE STRING "" FORCE) # delete it endif() endif() - + +include(CodeGen) +gen_coredsl(TGF_C ${CMAKE_CURRENT_SOURCE_DIR}/tgfs/gen_input/TGFS.core_desc interp) + add_subdirectory(dbt-core) add_subdirectory(scc) add_subdirectory(tgfs) diff --git a/cmake/CodeGen.cmake b/cmake/CodeGen.cmake new file mode 100644 index 0000000..7a8b7a4 --- /dev/null +++ b/cmake/CodeGen.cmake @@ -0,0 +1,52 @@ +set(ENABLE_CODEGEN "Enable code generation for supported cores" ON) + +#helper to setup code generation and generate outputs +set(GENERATOR_JAR ${CMAKE_CURRENT_SOURCE_DIR}/coredsl/plugins/com.minres.coredsl.generator.standalone/target/com.minres.coredsl.generator-1.0.0-SNAPSHOT.jar) + +if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/coredsl/plugins AND NOT EXISTS ${GENERATOR_JAR}) + execute_process( + COMMAND mvn package + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/coredsl + RESULT_VARIABLE return_code) +endif() + +if(ENABLE_CODEGEN AND EXISTS ${GENERATOR_JAR}) + macro(gen_coredsl CORE_NAME INPUT_FILE BACKEND) + + #set(CORE_NAME TGF_C) + #set(BACKEND interp) + #set(INPUT_FILE TGFS.core_desc) + + set(TGFS ${CMAKE_CURRENT_SOURCE_DIR}/tgfs) + set(INPUT_DIR ${TGFS}/gen_input) + set(REPO_DIR ${TGFS}/gen_input/CoreDSL-Instruction-Set-Description) + set(TMPL_DIR ${TGFS}/gen_input/templates/${BACKEND}) + + string(TOUPPER ${BACKEND} BE_UPPER) + string(TOLOWER ${CORE_NAME} CORE_NAMEL) + + set(JAVA_OPTS --add-modules ALL-SYSTEM --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.annotation=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.module=ALL-UNNAMED --add-opens=java.base/java.lang.ref=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.net.spi=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.channels=ALL-UNNAMED --add-opens=java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.charset.spi=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.nio.file.attribute=ALL-UNNAMED --add-opens=java.base/java.nio.file.spi=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.security.acl=ALL-UNNAMED --add-opens=java.base/java.security.cert=ALL-UNNAMED --add-opens=java.base/java.security.interfaces=ALL-UNNAMED --add-opens=java.base/java.security.spec=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.text.spi=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.time.chrono=ALL-UNNAMED --add-opens=java.base/java.time.format=ALL-UNNAMED --add-opens=java.base/java.time.temporal=ALL-UNNAMED --add-opens=java.base/java.time.zone=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED --add-opens=java.base/java.util.function=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.util.spi=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens=java.datatransfer/java.awt.datatransfer=ALL-UNNAMED --add-opens=java.desktop/java.applet=ALL-UNNAMED --add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.desktop/java.awt.color=ALL-UNNAMED --add-opens=java.desktop/java.awt.desktop=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.desktop/java.awt.geom=ALL-UNNAMED --add-opens=java.desktop/java.awt.im=ALL-UNNAMED --add-opens=java.desktop/java.awt.im.spi=ALL-UNNAMED --add-opens=java.desktop/java.awt.image=ALL-UNNAMED --add-opens=java.desktop/java.awt.image.renderable=ALL-UNNAMED --add-opens=java.desktop/java.awt.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.print=ALL-UNNAMED --add-opens=java.desktop/java.beans=ALL-UNNAMED --add-opens=java.desktop/java.beans.beancontext=ALL-UNNAMED --add-opens=java.instrument/java.lang.instrument=ALL-UNNAMED --add-opens=java.logging/java.util.logging=ALL-UNNAMED --add-opens=java.management/java.lang.management=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.rmi/java.rmi=ALL-UNNAMED --add-opens=java.rmi/java.rmi.activation=ALL-UNNAMED --add-opens=java.rmi/java.rmi.dgc=ALL-UNNAMED --add-opens=java.rmi/java.rmi.registry=ALL-UNNAMED --add-opens=java.rmi/java.rmi.server=ALL-UNNAMED --add-opens=java.sql/java.sql=ALL-UNNAMED) + set(GENERATOR java ${JAVA_OPTS} -jar ${GENERATOR_JAR}) + + list(APPEND MAPPING -m "${TMPL_DIR}/CORENAME.h.gtl:${TGFS}/incl/iss/arch/${CORE_NAMEL}.h") + list(APPEND MAPPING -m "${TMPL_DIR}/CORENAME.cpp.gtl:${TGFS}/src/iss/${CORE_NAMEL}.cpp") + list(APPEND MAPPING -m "${TMPL_DIR}/vm_CORENAME.cpp.gtl:${TGFS}/src/vm/interp/vm_${CORE_NAMEL}.cpp") + + set(OUTPUT_FILES ${TGFS}/incl/iss/arch/${CORE_NAMEL}.h ${TGFS}/src/iss/${CORE_NAMEL}.cpp ${TGFS}/src/vm/interp/vm_${CORE_NAMEL}.cpp) + + add_custom_command( + COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} -r ${REPO_DIR} ${MAPPING} ${INPUT_FILE} + DEPENDS ${INPUT_FILE} ${TMPL_DIR}/CORENAME.h.gtl ${TMPL_DIR}/CORENAME.cpp.gtl ${TMPL_DIR}/vm_CORENAME.cpp.gtl + OUTPUT ${OUTPUT_FILES} + COMMENT "Generating code for ${CORE_NAME}." + USES_TERMINAL VERBATIM + ) + + add_custom_target(${CORE_NAME}_src DEPENDS ${OUTPUT_FILES}) + + endmacro() +else() + macro(gen_coredsl CORE_NAME INPUT_FILE BACKEND) + add_custom_target(${CORE_NAME}_src) + endmacro() +endif() diff --git a/coredsl b/coredsl index 516ff37..534e530 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit 516ff37f81ff201f00715b077cede2ba87b3bafb +Subproject commit 534e530557aadcf2c188d2e8dde29f8e68ed9250 diff --git a/generate.sh b/generate.sh index d7f8412..36864b6 100644 --- a/generate.sh +++ b/generate.sh @@ -1,7 +1,7 @@ #!/bin/nash ## -export JAVA_OPTS="--add-modules ALL-SYSTEM --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.annotation=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.module=ALL-UNNAMED --add-opens=java.base/java.lang.ref=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.net.spi=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.channels=ALL-UNNAMED --add-opens=java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.charset.spi=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.nio.file.attribute=ALL-UNNAMED --add-opens=java.base/java.nio.file.spi=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.security.acl=ALL-UNNAMED --add-opens=java.base/java.security.cert=ALL-UNNAMED --add-opens=java.base/java.security.interfaces=ALL-UNNAMED --add-opens=java.base/java.security.spec=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.text.spi=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.time.chrono=ALL-UNNAMED --add-opens=java.base/java.time.format=ALL-UNNAMED --add-opens=java.base/java.time.temporal=ALL-UNNAMED --add-opens=java.base/java.time.zone=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED --add-opens=java.base/java.util.function=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.util.spi=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens=java.datatransfer/java.awt.datatransfer=ALL-UNNAMED --add-opens=java.desktop/java.applet=ALL-UNNAMED --add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.desktop/java.awt.color=ALL-UNNAMED --add-opens=java.desktop/java.awt.desktop=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.desktop/java.awt.geom=ALL-UNNAMED --add-opens=java.desktop/java.awt.im=ALL-UNNAMED --add-opens=java.desktop/java.awt.im.spi=ALL-UNNAMED --add-opens=java.desktop/java.awt.image=ALL-UNNAMED --add-opens=java.desktop/java.awt.image.renderable=ALL-UNNAMED --add-opens=java.desktop/java.awt.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.print=ALL-UNNAMED --add-opens=java.desktop/java.beans=ALL-UNNAMED --add-opens=java.desktop/java.beans.beancontext=ALL-UNNAMED --add-opens=java.instrument/java.lang.instrument=ALL-UNNAMED --add-opens=java.logging/java.util.logging=ALL-UNNAMED --add-opens=java.management/java.lang.management=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.rmi/java.rmi=ALL-UNNAMED --add-opens=java.rmi/java.rmi.activation=ALL-UNNAMED --add-opens=java.rmi/java.rmi.dgc=ALL-UNNAMED --add-opens=java.rmi/java.rmi.registry=ALL-UNNAMED --add-opens=java.rmi/java.rmi.server=ALL-UNNAMED --add-opens=java.sql/java.sql=ALL-UNNAMED" +JAVA_OPTS="--add-modules ALL-SYSTEM --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.annotation=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.module=ALL-UNNAMED --add-opens=java.base/java.lang.ref=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.net.spi=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.channels=ALL-UNNAMED --add-opens=java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.charset.spi=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.nio.file.attribute=ALL-UNNAMED --add-opens=java.base/java.nio.file.spi=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.security.acl=ALL-UNNAMED --add-opens=java.base/java.security.cert=ALL-UNNAMED --add-opens=java.base/java.security.interfaces=ALL-UNNAMED --add-opens=java.base/java.security.spec=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.text.spi=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.time.chrono=ALL-UNNAMED --add-opens=java.base/java.time.format=ALL-UNNAMED --add-opens=java.base/java.time.temporal=ALL-UNNAMED --add-opens=java.base/java.time.zone=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED --add-opens=java.base/java.util.function=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.util.spi=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens=java.datatransfer/java.awt.datatransfer=ALL-UNNAMED --add-opens=java.desktop/java.applet=ALL-UNNAMED --add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.desktop/java.awt.color=ALL-UNNAMED --add-opens=java.desktop/java.awt.desktop=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.desktop/java.awt.geom=ALL-UNNAMED --add-opens=java.desktop/java.awt.im=ALL-UNNAMED --add-opens=java.desktop/java.awt.im.spi=ALL-UNNAMED --add-opens=java.desktop/java.awt.image=ALL-UNNAMED --add-opens=java.desktop/java.awt.image.renderable=ALL-UNNAMED --add-opens=java.desktop/java.awt.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.print=ALL-UNNAMED --add-opens=java.desktop/java.beans=ALL-UNNAMED --add-opens=java.desktop/java.beans.beancontext=ALL-UNNAMED --add-opens=java.instrument/java.lang.instrument=ALL-UNNAMED --add-opens=java.logging/java.util.logging=ALL-UNNAMED --add-opens=java.management/java.lang.management=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.rmi/java.rmi=ALL-UNNAMED --add-opens=java.rmi/java.rmi.activation=ALL-UNNAMED --add-opens=java.rmi/java.rmi.dgc=ALL-UNNAMED --add-opens=java.rmi/java.rmi.registry=ALL-UNNAMED --add-opens=java.rmi/java.rmi.server=ALL-UNNAMED --add-opens=java.sql/java.sql=ALL-UNNAMED" GENERATOR="java $JAVA_OPTS -jar coredsl/plugins/com.minres.coredsl.generator.standalone/target/com.minres.coredsl.generator-1.0.0-SNAPSHOT.jar" @@ -10,9 +10,9 @@ REPO_DIR=tgfs/gen_input/CoreDSL-Instruction-Set-Description TMPL_DIR=tgfs/gen_input/templates/interp INPUT_FILE=tgfs/gen_input/TGFS.core_desc MAPPING="" -MAPPING="$MAPPING -m ${TMPL_DIR}/incl-CORENAME.h.gtl->tgfs/incl/iss/arch/tgf_c.h" -MAPPING="$MAPPING -m ${TMPL_DIR}/src-CORENAME.cpp.gtl->tgfs/src/iss/tgf_c.cpp" -MAPPING="$MAPPING -m ${TMPL_DIR}/vm-vm_CORENAME.cpp.gtl->tgfs/src/vm/interp/vm_tgf_c.cpp" +MAPPING="$MAPPING -m ${TMPL_DIR}/incl-CORENAME.h.gtl:tgfs/incl/iss/arch/tgf_c.h" +MAPPING="$MAPPING -m ${TMPL_DIR}/src-CORENAME.cpp.gtl:tgfs/src/iss/tgf_c.cpp" +MAPPING="$MAPPING -m ${TMPL_DIR}/vm-vm_CORENAME.cpp.gtl:tgfs/src/vm/interp/vm_tgf_c.cpp" [ -f coredsl/plugins/com.minres.coredsl.generator.standalone/target/com.minres.coredsl.generator-1.0.0-SNAPSHOT.jar ] || (cd coredsl; mvn package) diff --git a/tgfs b/tgfs index ab55453..c4da47c 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit ab554539e37566f7ca8f06d5ddf701bdf231a110 +Subproject commit c4da47ceddc9852c9255ea34474c06c77518b856 From d689a0de1697833b266492d9240378574b6ccf98 Mon Sep 17 00:00:00 2001 From: eyck Date: Fri, 1 Jan 2021 09:20:15 +0000 Subject: [PATCH 04/89] update handling of derived constants --- coredsl | 2 +- tgfs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/coredsl b/coredsl index 534e530..e3485b2 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit 534e530557aadcf2c188d2e8dde29f8e68ed9250 +Subproject commit e3485b2c797325cf0187fd6e7a7c467f4fcd1f11 diff --git a/tgfs b/tgfs index c4da47c..da7e29f 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit c4da47ceddc9852c9255ea34474c06c77518b856 +Subproject commit da7e29fbb7f6aed3b35a09af1d829dad0d2d684b From af1ec4ddb928c01bca661c4cf1519670509d119f Mon Sep 17 00:00:00 2001 From: eyck Date: Fri, 1 Jan 2021 12:44:17 +0000 Subject: [PATCH 05/89] reference latest updates from CoreDSL --- coredsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coredsl b/coredsl index e3485b2..ff947c9 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit e3485b2c797325cf0187fd6e7a7c467f4fcd1f11 +Subproject commit ff947c9d4864bfc801e23e422533f14f9c222def From 5e738a0453f1e0005ee79cd996062b702c49a446 Mon Sep 17 00:00:00 2001 From: eyck Date: Fri, 1 Jan 2021 12:46:16 +0000 Subject: [PATCH 06/89] fix names in generate script --- generate.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/generate.sh b/generate.sh index 36864b6..e52754b 100644 --- a/generate.sh +++ b/generate.sh @@ -10,9 +10,9 @@ REPO_DIR=tgfs/gen_input/CoreDSL-Instruction-Set-Description TMPL_DIR=tgfs/gen_input/templates/interp INPUT_FILE=tgfs/gen_input/TGFS.core_desc MAPPING="" -MAPPING="$MAPPING -m ${TMPL_DIR}/incl-CORENAME.h.gtl:tgfs/incl/iss/arch/tgf_c.h" -MAPPING="$MAPPING -m ${TMPL_DIR}/src-CORENAME.cpp.gtl:tgfs/src/iss/tgf_c.cpp" -MAPPING="$MAPPING -m ${TMPL_DIR}/vm-vm_CORENAME.cpp.gtl:tgfs/src/vm/interp/vm_tgf_c.cpp" +MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.h.gtl:tgfs/incl/iss/arch/tgf_c.h" +MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.cpp.gtl:tgfs/src/iss/tgf_c.cpp" +MAPPING="$MAPPING -m ${TMPL_DIR}/vm_CORENAME.cpp.gtl:tgfs/src/vm/interp/vm_tgf_c.cpp" [ -f coredsl/plugins/com.minres.coredsl.generator.standalone/target/com.minres.coredsl.generator-1.0.0-SNAPSHOT.jar ] || (cd coredsl; mvn package) From 844df9579f158568a03e47cbe008c4431bf67b1b Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sat, 6 Feb 2021 14:50:00 +0000 Subject: [PATCH 07/89] generate working ISS from CoreDSL 2.0 --- .cproject | 7 +++++-- .project | 6 ++++++ CMakeLists.txt | 1 + Modulefile | 2 +- coredsl | 2 +- tgfs | 2 +- 6 files changed, 15 insertions(+), 5 deletions(-) diff --git a/.cproject b/.cproject index 1463a0b..a933a18 100644 --- a/.cproject +++ b/.cproject @@ -16,7 +16,7 @@ - + @@ -41,7 +41,10 @@ - + + + + diff --git a/.project b/.project index bccc870..8902d29 100644 --- a/.project +++ b/.project @@ -5,6 +5,11 @@ + + org.eclipse.xtext.ui.shared.xtextBuilder + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder clean,full,incremental, @@ -23,5 +28,6 @@ org.eclipse.cdt.core.ccnature org.eclipse.cdt.managedbuilder.core.managedBuildNature org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + org.eclipse.xtext.ui.shared.xtextNature diff --git a/CMakeLists.txt b/CMakeLists.txt index 927d8c5..8987396 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,3 +61,4 @@ gen_coredsl(TGF_C ${CMAKE_CURRENT_SOURCE_DIR}/tgfs/gen_input/TGFS.core_desc inte add_subdirectory(dbt-core) add_subdirectory(scc) add_subdirectory(tgfs) + diff --git a/Modulefile b/Modulefile index 425c37f..f4576a5 100644 --- a/Modulefile +++ b/Modulefile @@ -27,7 +27,7 @@ if {![info exists ::env(PROJECT)] && [file exists $::env(HOME)/.sdkman/candidate prepend-path PATH $::env(HOME)/.sdkman/candidates/sbt/1.4.4/bin } -module load tools/cmake +module load tools/cmake tools/gcc-riscv64/9.2.0 setenv PROJECT TGFS-ISS diff --git a/coredsl b/coredsl index ff947c9..54262d2 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit ff947c9d4864bfc801e23e422533f14f9c222def +Subproject commit 54262d2a4d8672cd9c7e41d368037c5e37fc18f5 diff --git a/tgfs b/tgfs index da7e29f..34bb8e6 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit da7e29fbb7f6aed3b35a09af1d829dad0d2d684b +Subproject commit 34bb8e62aeed221741d186e019778f97e42e6d12 From 3f3d319c0e678d78bfe0fbc930f9b9ed9a97452f Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sat, 13 Feb 2021 13:13:59 +0000 Subject: [PATCH 08/89] update dbt-core --- dbt-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dbt-core b/dbt-core index d87dfff..2d4d921 160000 --- a/dbt-core +++ b/dbt-core @@ -1 +1 @@ -Subproject commit d87dfff430e9ff3d394327bbf649a9f1bb05e396 +Subproject commit 2d4d921502eadab0a654a5d36635c0bba3b0c933 From 45432a454c7917222b79d8a0fc691e56527f5909 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Mon, 15 Feb 2021 11:36:19 +0000 Subject: [PATCH 09/89] update to latest CoreDSL2 --- coredsl | 2 +- tgfs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/coredsl b/coredsl index 54262d2..20e1bf1 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit 54262d2a4d8672cd9c7e41d368037c5e37fc18f5 +Subproject commit 20e1bf174fca931b4276d72869cfa02ce0e430f0 diff --git a/tgfs b/tgfs index 34bb8e6..3261055 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 34bb8e62aeed221741d186e019778f97e42e6d12 +Subproject commit 3261055871c646a4b47594db242a8634f1148511 From 2d3ef2eeb98f4c672f9b49d2980b5f3cbc2cd9fe Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Mon, 15 Feb 2021 18:02:18 +0000 Subject: [PATCH 10/89] update coredsl and tgfs repo --- coredsl | 2 +- generate.sh | 4 ++-- tgfs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/coredsl b/coredsl index 20e1bf1..3f3f149 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit 20e1bf174fca931b4276d72869cfa02ce0e430f0 +Subproject commit 3f3f14911eb5c0da21a0e3fc70e17555a8f46d2e diff --git a/generate.sh b/generate.sh index e52754b..1b53361 100644 --- a/generate.sh +++ b/generate.sh @@ -3,7 +3,7 @@ JAVA_OPTS="--add-modules ALL-SYSTEM --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.annotation=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.module=ALL-UNNAMED --add-opens=java.base/java.lang.ref=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.net.spi=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.channels=ALL-UNNAMED --add-opens=java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.charset.spi=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.nio.file.attribute=ALL-UNNAMED --add-opens=java.base/java.nio.file.spi=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.security.acl=ALL-UNNAMED --add-opens=java.base/java.security.cert=ALL-UNNAMED --add-opens=java.base/java.security.interfaces=ALL-UNNAMED --add-opens=java.base/java.security.spec=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.text.spi=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.time.chrono=ALL-UNNAMED --add-opens=java.base/java.time.format=ALL-UNNAMED --add-opens=java.base/java.time.temporal=ALL-UNNAMED --add-opens=java.base/java.time.zone=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED --add-opens=java.base/java.util.function=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.util.spi=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens=java.datatransfer/java.awt.datatransfer=ALL-UNNAMED --add-opens=java.desktop/java.applet=ALL-UNNAMED --add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.desktop/java.awt.color=ALL-UNNAMED --add-opens=java.desktop/java.awt.desktop=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.desktop/java.awt.geom=ALL-UNNAMED --add-opens=java.desktop/java.awt.im=ALL-UNNAMED --add-opens=java.desktop/java.awt.im.spi=ALL-UNNAMED --add-opens=java.desktop/java.awt.image=ALL-UNNAMED --add-opens=java.desktop/java.awt.image.renderable=ALL-UNNAMED --add-opens=java.desktop/java.awt.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.print=ALL-UNNAMED --add-opens=java.desktop/java.beans=ALL-UNNAMED --add-opens=java.desktop/java.beans.beancontext=ALL-UNNAMED --add-opens=java.instrument/java.lang.instrument=ALL-UNNAMED --add-opens=java.logging/java.util.logging=ALL-UNNAMED --add-opens=java.management/java.lang.management=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.rmi/java.rmi=ALL-UNNAMED --add-opens=java.rmi/java.rmi.activation=ALL-UNNAMED --add-opens=java.rmi/java.rmi.dgc=ALL-UNNAMED --add-opens=java.rmi/java.rmi.registry=ALL-UNNAMED --add-opens=java.rmi/java.rmi.server=ALL-UNNAMED --add-opens=java.sql/java.sql=ALL-UNNAMED" -GENERATOR="java $JAVA_OPTS -jar coredsl/plugins/com.minres.coredsl.generator.standalone/target/com.minres.coredsl.generator-1.0.0-SNAPSHOT.jar" +GENERATOR="java $JAVA_OPTS -jar coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar " CORE_NAME='-c TGF_C' REPO_DIR=tgfs/gen_input/CoreDSL-Instruction-Set-Description @@ -14,7 +14,7 @@ MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.h.gtl:tgfs/incl/iss/arch/tgf_c.h" MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.cpp.gtl:tgfs/src/iss/tgf_c.cpp" MAPPING="$MAPPING -m ${TMPL_DIR}/vm_CORENAME.cpp.gtl:tgfs/src/vm/interp/vm_tgf_c.cpp" -[ -f coredsl/plugins/com.minres.coredsl.generator.standalone/target/com.minres.coredsl.generator-1.0.0-SNAPSHOT.jar ] || (cd coredsl; mvn package) +[ -f coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar ] || (cd coredsl; mvn package) $GENERATOR $CORE_NAME -r $REPO_DIR $MAPPING $INPUT_FILE diff --git a/tgfs b/tgfs index 3261055..337f163 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 3261055871c646a4b47594db242a8634f1148511 +Subproject commit 337f1634c058eafef5a8496bd28c9ab1277f6a26 From dd03f334e8870cc9872a95facf636e560e5eacec Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Tue, 23 Feb 2021 08:30:14 +0000 Subject: [PATCH 11/89] update tgfs submodule --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 337f163..1668df0 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 337f1634c058eafef5a8496bd28c9ab1277f6a26 +Subproject commit 1668df0531919d5bcd2c1fd58ed23626de93ebbe From 0d1d75565cea53c6d82f1567d3a2e2c35d4faec9 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Mon, 1 Mar 2021 06:37:05 +0000 Subject: [PATCH 12/89] add execution information --- coredsl | 2 +- dbt-core | 2 +- scc | 2 +- tgfs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/coredsl b/coredsl index 3f3f149..716bd4b 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit 3f3f14911eb5c0da21a0e3fc70e17555a8f46d2e +Subproject commit 716bd4b479efc0b1bc33952d8386b6c27432727b diff --git a/dbt-core b/dbt-core index 2d4d921..20b8a63 160000 --- a/dbt-core +++ b/dbt-core @@ -1 +1 @@ -Subproject commit 2d4d921502eadab0a654a5d36635c0bba3b0c933 +Subproject commit 20b8a63e8a7890bf03a75f960d7140f9b7b3cdcd diff --git a/scc b/scc index d0f2f55..9919e5a 160000 --- a/scc +++ b/scc @@ -1 +1 @@ -Subproject commit d0f2f5599787149be8dbd1e17f5aa6caaa2e3140 +Subproject commit 9919e5a350e79ad4a5e9b4b573b4680af0fde05b diff --git a/tgfs b/tgfs index 1668df0..4aa26b8 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 1668df0531919d5bcd2c1fd58ed23626de93ebbe +Subproject commit 4aa26b85a059252a531badfd219bf0e330197415 From 09ffd25e4adf05ff9c1df6a1530e788be9fe8bb3 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Mon, 1 Mar 2021 21:07:49 +0000 Subject: [PATCH 13/89] update with CoreDSL2 latest changes --- coredsl | 2 +- tgfs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/coredsl b/coredsl index 716bd4b..ce6ee9c 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit 716bd4b479efc0b1bc33952d8386b6c27432727b +Subproject commit ce6ee9c948c581d0a3b8ab651aa72c0ef7c87fc8 diff --git a/tgfs b/tgfs index 4aa26b8..be0e7db 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 4aa26b85a059252a531badfd219bf0e330197415 +Subproject commit be0e7db185c8a185eb879c474d61739da531baae From 8c682437bbb31ef09d12da21224d469f4c347bad Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sun, 7 Mar 2021 10:52:57 +0000 Subject: [PATCH 14/89] fix desscriptions to conform to ISA spec version 20191213 and TGF-C --- coredsl | 2 +- dbt-core | 2 +- tgfs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/coredsl b/coredsl index ce6ee9c..315fdd7 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit ce6ee9c948c581d0a3b8ab651aa72c0ef7c87fc8 +Subproject commit 315fdd73b55c7ef02769e177b872c87dff50caa9 diff --git a/dbt-core b/dbt-core index 20b8a63..d281415 160000 --- a/dbt-core +++ b/dbt-core @@ -1 +1 @@ -Subproject commit 20b8a63e8a7890bf03a75f960d7140f9b7b3cdcd +Subproject commit d281415662220e5e65ed5f0be5567507d10a5c48 diff --git a/tgfs b/tgfs index be0e7db..c171e3c 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit be0e7db185c8a185eb879c474d61739da531baae +Subproject commit c171e3c1ba92aaed5a3fc34a99f4630b9bc8964f From 5d1f93750a3974b6b2f34c1b7ec42e7fe1059eef Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sun, 7 Mar 2021 16:29:19 +0000 Subject: [PATCH 15/89] fix code generation setup --- cmake/CodeGen.cmake | 108 +++++++++++++++++++++++++++++--------------- coredsl | 2 +- generate.sh | 18 +++++--- tgfs | 2 +- 4 files changed, 84 insertions(+), 46 deletions(-) diff --git a/cmake/CodeGen.cmake b/cmake/CodeGen.cmake index 7a8b7a4..3d49f17 100644 --- a/cmake/CodeGen.cmake +++ b/cmake/CodeGen.cmake @@ -1,52 +1,86 @@ set(ENABLE_CODEGEN "Enable code generation for supported cores" ON) #helper to setup code generation and generate outputs -set(GENERATOR_JAR ${CMAKE_CURRENT_SOURCE_DIR}/coredsl/plugins/com.minres.coredsl.generator.standalone/target/com.minres.coredsl.generator-1.0.0-SNAPSHOT.jar) +set(GENERATOR_JAR ${tgfs_SOURCE_DIR}/../coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar) -if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/coredsl/plugins AND NOT EXISTS ${GENERATOR_JAR}) +if(EXISTS ${tgfs_SOURCE_DIR}/../coredsl/pom.xml AND NOT EXISTS ${GENERATOR_JAR}) execute_process( COMMAND mvn package - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/coredsl + WORKING_DIRECTORY ${tgfs_SOURCE_DIR}/../coredsl RESULT_VARIABLE return_code) endif() +set(JAVA_OPTS --add-modules ALL-SYSTEM --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED + --add-opens=java.base/java.lang.annotation=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED + --add-opens=java.base/java.lang.module=ALL-UNNAMED --add-opens=java.base/java.lang.ref=ALL-UNNAMED + --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED + --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.net.spi=ALL-UNNAMED + --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.channels=ALL-UNNAMED + --add-opens=java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED + --add-opens=java.base/java.nio.charset.spi=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED + --add-opens=java.base/java.nio.file.attribute=ALL-UNNAMED --add-opens=java.base/java.nio.file.spi=ALL-UNNAMED + --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.security.acl=ALL-UNNAMED + --add-opens=java.base/java.security.cert=ALL-UNNAMED --add-opens=java.base/java.security.interfaces=ALL-UNNAMED + --add-opens=java.base/java.security.spec=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED + --add-opens=java.base/java.text.spi=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED + --add-opens=java.base/java.time.chrono=ALL-UNNAMED --add-opens=java.base/java.time.format=ALL-UNNAMED + --add-opens=java.base/java.time.temporal=ALL-UNNAMED --add-opens=java.base/java.time.zone=ALL-UNNAMED + --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED + --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED + --add-opens=java.base/java.util.function=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED + --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.util.spi=ALL-UNNAMED + --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED + --add-opens=java.datatransfer/java.awt.datatransfer=ALL-UNNAMED --add-opens=java.desktop/java.applet=ALL-UNNAMED + --add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.desktop/java.awt.color=ALL-UNNAMED + --add-opens=java.desktop/java.awt.desktop=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd=ALL-UNNAMED + --add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED + --add-opens=java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.desktop/java.awt.geom=ALL-UNNAMED + --add-opens=java.desktop/java.awt.im=ALL-UNNAMED --add-opens=java.desktop/java.awt.im.spi=ALL-UNNAMED + --add-opens=java.desktop/java.awt.image=ALL-UNNAMED --add-opens=java.desktop/java.awt.image.renderable=ALL-UNNAMED + --add-opens=java.desktop/java.awt.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.print=ALL-UNNAMED + --add-opens=java.desktop/java.beans=ALL-UNNAMED --add-opens=java.desktop/java.beans.beancontext=ALL-UNNAMED + --add-opens=java.instrument/java.lang.instrument=ALL-UNNAMED --add-opens=java.logging/java.util.logging=ALL-UNNAMED + --add-opens=java.management/java.lang.management=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED + --add-opens=java.rmi/java.rmi=ALL-UNNAMED --add-opens=java.rmi/java.rmi.activation=ALL-UNNAMED + --add-opens=java.rmi/java.rmi.dgc=ALL-UNNAMED --add-opens=java.rmi/java.rmi.registry=ALL-UNNAMED + --add-opens=java.rmi/java.rmi.server=ALL-UNNAMED --add-opens=java.sql/java.sql=ALL-UNNAMED) +set(GENERATOR java ${JAVA_OPTS} -jar ${GENERATOR_JAR}) + +set(INPUT_DIR ${tgfs_SOURCE_DIR}/gen_input) +set(REPO_DIR ${tgfs_SOURCE_DIR}/gen_input/CoreDSL-Instruction-Set-Description) +set(TMPL_DIR ${tgfs_SOURCE_DIR}/gen_input/templates/) + if(ENABLE_CODEGEN AND EXISTS ${GENERATOR_JAR}) - macro(gen_coredsl CORE_NAME INPUT_FILE BACKEND) - - #set(CORE_NAME TGF_C) - #set(BACKEND interp) - #set(INPUT_FILE TGFS.core_desc) - - set(TGFS ${CMAKE_CURRENT_SOURCE_DIR}/tgfs) - set(INPUT_DIR ${TGFS}/gen_input) - set(REPO_DIR ${TGFS}/gen_input/CoreDSL-Instruction-Set-Description) - set(TMPL_DIR ${TGFS}/gen_input/templates/${BACKEND}) - - string(TOUPPER ${BACKEND} BE_UPPER) - string(TOLOWER ${CORE_NAME} CORE_NAMEL) - - set(JAVA_OPTS --add-modules ALL-SYSTEM --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.annotation=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.module=ALL-UNNAMED --add-opens=java.base/java.lang.ref=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.net.spi=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.channels=ALL-UNNAMED --add-opens=java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.charset.spi=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.nio.file.attribute=ALL-UNNAMED --add-opens=java.base/java.nio.file.spi=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.security.acl=ALL-UNNAMED --add-opens=java.base/java.security.cert=ALL-UNNAMED --add-opens=java.base/java.security.interfaces=ALL-UNNAMED --add-opens=java.base/java.security.spec=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.text.spi=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.time.chrono=ALL-UNNAMED --add-opens=java.base/java.time.format=ALL-UNNAMED --add-opens=java.base/java.time.temporal=ALL-UNNAMED --add-opens=java.base/java.time.zone=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED --add-opens=java.base/java.util.function=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.util.spi=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens=java.datatransfer/java.awt.datatransfer=ALL-UNNAMED --add-opens=java.desktop/java.applet=ALL-UNNAMED --add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.desktop/java.awt.color=ALL-UNNAMED --add-opens=java.desktop/java.awt.desktop=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.desktop/java.awt.geom=ALL-UNNAMED --add-opens=java.desktop/java.awt.im=ALL-UNNAMED --add-opens=java.desktop/java.awt.im.spi=ALL-UNNAMED --add-opens=java.desktop/java.awt.image=ALL-UNNAMED --add-opens=java.desktop/java.awt.image.renderable=ALL-UNNAMED --add-opens=java.desktop/java.awt.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.print=ALL-UNNAMED --add-opens=java.desktop/java.beans=ALL-UNNAMED --add-opens=java.desktop/java.beans.beancontext=ALL-UNNAMED --add-opens=java.instrument/java.lang.instrument=ALL-UNNAMED --add-opens=java.logging/java.util.logging=ALL-UNNAMED --add-opens=java.management/java.lang.management=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.rmi/java.rmi=ALL-UNNAMED --add-opens=java.rmi/java.rmi.activation=ALL-UNNAMED --add-opens=java.rmi/java.rmi.dgc=ALL-UNNAMED --add-opens=java.rmi/java.rmi.registry=ALL-UNNAMED --add-opens=java.rmi/java.rmi.server=ALL-UNNAMED --add-opens=java.sql/java.sql=ALL-UNNAMED) - set(GENERATOR java ${JAVA_OPTS} -jar ${GENERATOR_JAR}) - - list(APPEND MAPPING -m "${TMPL_DIR}/CORENAME.h.gtl:${TGFS}/incl/iss/arch/${CORE_NAMEL}.h") - list(APPEND MAPPING -m "${TMPL_DIR}/CORENAME.cpp.gtl:${TGFS}/src/iss/${CORE_NAMEL}.cpp") - list(APPEND MAPPING -m "${TMPL_DIR}/vm_CORENAME.cpp.gtl:${TGFS}/src/vm/interp/vm_${CORE_NAMEL}.cpp") - - set(OUTPUT_FILES ${TGFS}/incl/iss/arch/${CORE_NAMEL}.h ${TGFS}/src/iss/${CORE_NAMEL}.cpp ${TGFS}/src/vm/interp/vm_${CORE_NAMEL}.cpp) - - add_custom_command( - COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} -r ${REPO_DIR} ${MAPPING} ${INPUT_FILE} - DEPENDS ${INPUT_FILE} ${TMPL_DIR}/CORENAME.h.gtl ${TMPL_DIR}/CORENAME.cpp.gtl ${TMPL_DIR}/vm_CORENAME.cpp.gtl - OUTPUT ${OUTPUT_FILES} - COMMENT "Generating code for ${CORE_NAME}." - USES_TERMINAL VERBATIM - ) - - add_custom_target(${CORE_NAME}_src DEPENDS ${OUTPUT_FILES}) - - endmacro() + macro(gen_coredsl CORE_NAME INPUT_FILE BACKEND) + message(STATUS "Adding generation steps for ${CORE_NAME} in ${tgfs_SOURCE_DIR} for ${BACKEND}") + + string(TOUPPER ${BACKEND} BE_UPPER) + string(TOLOWER ${CORE_NAME} CORE_NAMEL) + + if(EXISTS ${tgfs_SOURCE_DIR}/generate.sh AND NOT EXISTS ${tgfs_SOURCE_DIR}/incl/iss/arch/${CORE_NAMEL}.h) + # make sure source file exist initially + execute_process( + COMMAND /bin/bash ${tgfs_SOURCE_DIR}/../generate.sh $CORE_NAME $BACKEND + WORKING_DIRECTORY ${tgfs_SOURCE_DIR}/.. + RESULT_VARIABLE return_code) + endif() + + list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.h.gtl:${tgfs_SOURCE_DIR}/incl/iss/arch/${CORE_NAMEL}.h") + list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.cpp.gtl:${tgfs_SOURCE_DIR}/src/iss/${CORE_NAMEL}.cpp") + list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl:${tgfs_SOURCE_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp") + set(${CORE_NAME}_OUTPUT_FILES ${tgfs_SOURCE_DIR}/incl/iss/arch/${CORE_NAMEL}.h ${tgfs_SOURCE_DIR}/src/iss/${CORE_NAMEL}.cpp ${tgfs_SOURCE_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp) + add_custom_command( + COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} -r ${REPO_DIR} ${${CORE_NAME}_MAPPING} ${INPUT_FILE} + DEPENDS ${GENERATOR_JAR} ${INPUT_FILE} ${TMPL_DIR}/CORENAME.h.gtl ${TMPL_DIR}/CORENAME.cpp.gtl ${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl + OUTPUT ${${CORE_NAME}_OUTPUT_FILES} + COMMENT "Generating code for ${CORE_NAME}." + USES_TERMINAL VERBATIM + ) + add_custom_target(${CORE_NAME}_src DEPENDS ${${CORE_NAME}_OUTPUT_FILES}) + endmacro() else() macro(gen_coredsl CORE_NAME INPUT_FILE BACKEND) add_custom_target(${CORE_NAME}_src) + message(STATUS "Not adding generation steps for ${CORE_NAME}") endmacro() endif() diff --git a/coredsl b/coredsl index 315fdd7..17dec2c 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit 315fdd73b55c7ef02769e177b872c87dff50caa9 +Subproject commit 17dec2c6f7d958a1c00bbbfa8b99cff6e24748ac diff --git a/generate.sh b/generate.sh index 1b53361..3eaabda 100644 --- a/generate.sh +++ b/generate.sh @@ -1,20 +1,24 @@ -#!/bin/nash +#!/bin/bash ## + JAVA_OPTS="--add-modules ALL-SYSTEM --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.annotation=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.module=ALL-UNNAMED --add-opens=java.base/java.lang.ref=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.net.spi=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.channels=ALL-UNNAMED --add-opens=java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.charset.spi=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.nio.file.attribute=ALL-UNNAMED --add-opens=java.base/java.nio.file.spi=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.security.acl=ALL-UNNAMED --add-opens=java.base/java.security.cert=ALL-UNNAMED --add-opens=java.base/java.security.interfaces=ALL-UNNAMED --add-opens=java.base/java.security.spec=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.text.spi=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.time.chrono=ALL-UNNAMED --add-opens=java.base/java.time.format=ALL-UNNAMED --add-opens=java.base/java.time.temporal=ALL-UNNAMED --add-opens=java.base/java.time.zone=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED --add-opens=java.base/java.util.function=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.util.spi=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens=java.datatransfer/java.awt.datatransfer=ALL-UNNAMED --add-opens=java.desktop/java.applet=ALL-UNNAMED --add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.desktop/java.awt.color=ALL-UNNAMED --add-opens=java.desktop/java.awt.desktop=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.desktop/java.awt.geom=ALL-UNNAMED --add-opens=java.desktop/java.awt.im=ALL-UNNAMED --add-opens=java.desktop/java.awt.im.spi=ALL-UNNAMED --add-opens=java.desktop/java.awt.image=ALL-UNNAMED --add-opens=java.desktop/java.awt.image.renderable=ALL-UNNAMED --add-opens=java.desktop/java.awt.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.print=ALL-UNNAMED --add-opens=java.desktop/java.beans=ALL-UNNAMED --add-opens=java.desktop/java.beans.beancontext=ALL-UNNAMED --add-opens=java.instrument/java.lang.instrument=ALL-UNNAMED --add-opens=java.logging/java.util.logging=ALL-UNNAMED --add-opens=java.management/java.lang.management=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.rmi/java.rmi=ALL-UNNAMED --add-opens=java.rmi/java.rmi.activation=ALL-UNNAMED --add-opens=java.rmi/java.rmi.dgc=ALL-UNNAMED --add-opens=java.rmi/java.rmi.registry=ALL-UNNAMED --add-opens=java.rmi/java.rmi.server=ALL-UNNAMED --add-opens=java.sql/java.sql=ALL-UNNAMED" GENERATOR="java $JAVA_OPTS -jar coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar " -CORE_NAME='-c TGF_C' +CORE_NAME=$1 +BACKEND=$2 +INPUT_FILE=tgfs/gen_input/TGFS.core_desc + REPO_DIR=tgfs/gen_input/CoreDSL-Instruction-Set-Description TMPL_DIR=tgfs/gen_input/templates/interp -INPUT_FILE=tgfs/gen_input/TGFS.core_desc + MAPPING="" -MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.h.gtl:tgfs/incl/iss/arch/tgf_c.h" -MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.cpp.gtl:tgfs/src/iss/tgf_c.cpp" -MAPPING="$MAPPING -m ${TMPL_DIR}/vm_CORENAME.cpp.gtl:tgfs/src/vm/interp/vm_tgf_c.cpp" +MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.h.gtl:tgfs/incl/iss/arch/${CORE_NAME}.h" +MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.cpp.gtl:tgfs/src/iss/${CORE_NAME}.cpp" +MAPPING="$MAPPING -m ${TMPL_DIR}/vm_CORENAME.cpp.gtl:tgfs/src/vm/${BACKEND}/vm_${CORE_NAME}.cpp" [ -f coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar ] || (cd coredsl; mvn package) -$GENERATOR $CORE_NAME -r $REPO_DIR $MAPPING $INPUT_FILE +$GENERATOR -c $CORE_NAME -r $REPO_DIR $MAPPING $INPUT_FILE diff --git a/tgfs b/tgfs index c171e3c..40db74c 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit c171e3c1ba92aaed5a3fc34a99f4630b9bc8964f +Subproject commit 40db74ce02821b8504db45370438ca2dd18e428e From 37cecfc658acd2c0346a68ead1017c9e8bb7be0e Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sun, 7 Mar 2021 16:40:33 +0000 Subject: [PATCH 16/89] add option instead of set --- cmake/CodeGen.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cmake/CodeGen.cmake b/cmake/CodeGen.cmake index 3d49f17..7e3fe16 100644 --- a/cmake/CodeGen.cmake +++ b/cmake/CodeGen.cmake @@ -1,4 +1,5 @@ -set(ENABLE_CODEGEN "Enable code generation for supported cores" ON) +cmake_minimum_required(VERSION 3.11) +option(ENABLE_CODEGEN "Enable code generation for supported cores" ON) #helper to setup code generation and generate outputs set(GENERATOR_JAR ${tgfs_SOURCE_DIR}/../coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar) From 862da0206104eb4dd932b96311a830e3268a20cf Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Mon, 8 Mar 2021 20:42:16 +0000 Subject: [PATCH 17/89] update coredsl generator --- coredsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coredsl b/coredsl index 17dec2c..fca047e 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit 17dec2c6f7d958a1c00bbbfa8b99cff6e24748ac +Subproject commit fca047e367ad95fcceef4104a4bdc469f21d654f From 60678753feb86094f0da1cef8604c90cfcdef57f Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Tue, 9 Mar 2021 10:22:13 +0000 Subject: [PATCH 18/89] update code generation of arbitrary sized integers --- coredsl | 2 +- tgfs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/coredsl b/coredsl index fca047e..a9359c0 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit fca047e367ad95fcceef4104a4bdc469f21d654f +Subproject commit a9359c05b54879a0349e1867388e3455da0e3aea diff --git a/tgfs b/tgfs index 40db74c..a6691bc 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 40db74ce02821b8504db45370438ca2dd18e428e +Subproject commit a6691bcd3c041c0f336105805acb302a2a3bcab2 From 74b0b6d688a8f7903703ef1f48acba855e1b6ddf Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Wed, 10 Mar 2021 17:31:27 +0000 Subject: [PATCH 19/89] update RISC-V descriptions --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index a6691bc..ac8eab6 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit a6691bcd3c041c0f336105805acb302a2a3bcab2 +Subproject commit ac8eab6e255561e071a643360f7552af6ff9a369 From 5748595b5bdd479e57f339f0812d949b7a4678f8 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Thu, 11 Mar 2021 16:12:39 +0000 Subject: [PATCH 20/89] fix signedness issues --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index ac8eab6..f4ec210 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit ac8eab6e255561e071a643360f7552af6ff9a369 +Subproject commit f4ec21007b666af56fc86f510c2251d0c3a7edf9 From 812ceac34bca5da697fdf6c620b1efa68b6c456a Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sat, 13 Mar 2021 10:20:46 +0000 Subject: [PATCH 21/89] fix RVC description bugs --- coredsl | 2 +- tgfs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/coredsl b/coredsl index a9359c0..bc3afbe 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit a9359c05b54879a0349e1867388e3455da0e3aea +Subproject commit bc3afbec5cf633d09c1dc39580450732e65c4fd8 diff --git a/tgfs b/tgfs index f4ec210..9548a9f 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit f4ec21007b666af56fc86f510c2251d0c3a7edf9 +Subproject commit 9548a9f35791fe2c74ee7efc7a3c7d630e0a666e From 58288844c635e98f483b690ee255cf11cdcf9ebc Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sat, 13 Mar 2021 10:47:03 +0000 Subject: [PATCH 22/89] fix RVM description bugs --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 9548a9f..ff3fa19 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 9548a9f35791fe2c74ee7efc7a3c7d630e0a666e +Subproject commit ff3fa1920865d08793e13bf200af9622d5b7c201 From 00a99a597b7146de68d81175ed02fa723b5b58c5 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Wed, 17 Mar 2021 19:33:09 +0000 Subject: [PATCH 23/89] rework abort conditions --- dbt-core | 2 +- tgfs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dbt-core b/dbt-core index d281415..4d979d0 160000 --- a/dbt-core +++ b/dbt-core @@ -1 +1 @@ -Subproject commit d281415662220e5e65ed5f0be5567507d10a5c48 +Subproject commit 4d979d0ce9c9f6ca370f67ccd184cc635bbcdfbb diff --git a/tgfs b/tgfs index ff3fa19..4e0f20e 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit ff3fa1920865d08793e13bf200af9622d5b7c201 +Subproject commit 4e0f20eba0ac9436c1e6dc2d2973a2d5fbf6994c From 367b46f1a7f1477e008d1a31a9ae97786039cbcb Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sat, 27 Mar 2021 09:37:54 +0000 Subject: [PATCH 24/89] extract used variables --- coredsl | 2 +- generate.sh | 7 ++++--- tgfs | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/coredsl b/coredsl index bc3afbe..5f74673 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit bc3afbec5cf633d09c1dc39580450732e65c4fd8 +Subproject commit 5f7467341686eab0b79fad3158a976c6692a5dc0 diff --git a/generate.sh b/generate.sh index 3eaabda..cf314a9 100644 --- a/generate.sh +++ b/generate.sh @@ -8,15 +8,16 @@ GENERATOR="java $JAVA_OPTS -jar coredsl/com.minres.coredsl.generator.repository/ CORE_NAME=$1 BACKEND=$2 +CORE_NAME_LC=`echo $CORE_NAME | tr '[:upper:]' '[:lower:]' ` INPUT_FILE=tgfs/gen_input/TGFS.core_desc REPO_DIR=tgfs/gen_input/CoreDSL-Instruction-Set-Description TMPL_DIR=tgfs/gen_input/templates/interp MAPPING="" -MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.h.gtl:tgfs/incl/iss/arch/${CORE_NAME}.h" -MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.cpp.gtl:tgfs/src/iss/${CORE_NAME}.cpp" -MAPPING="$MAPPING -m ${TMPL_DIR}/vm_CORENAME.cpp.gtl:tgfs/src/vm/${BACKEND}/vm_${CORE_NAME}.cpp" +MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.h.gtl:tgfs/incl/iss/arch/${CORE_NAME_LC}.h" +MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.cpp.gtl:tgfs/src/iss/${CORE_NAME_LC}.cpp" +MAPPING="$MAPPING -m ${TMPL_DIR}/vm_CORENAME.cpp.gtl:tgfs/src/vm/${BACKEND}/vm_${CORE_NAME_LC}.cpp" [ -f coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar ] || (cd coredsl; mvn package) diff --git a/tgfs b/tgfs index 4e0f20e..32e4aa8 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 4e0f20eba0ac9436c1e6dc2d2973a2d5fbf6994c +Subproject commit 32e4aa83b8827aa0e95fc7fef73948af2d8e0ea3 From d9ae90921a3e293a973b4d04168b3c75ff8c69ed Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Fri, 7 May 2021 19:33:15 +0200 Subject: [PATCH 25/89] update coredsl generator --- coredsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coredsl b/coredsl index 5f74673..4343194 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit 5f7467341686eab0b79fad3158a976c6692a5dc0 +Subproject commit 43431946e3b5d168901feaead9a026091e69662b From 171dd11a6ebe6885301561ba1412edc7d8b536d8 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Fri, 7 May 2021 19:35:42 +0200 Subject: [PATCH 26/89] update conanfile --- conanfile.txt | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/conanfile.txt b/conanfile.txt index ba30cd2..70b6e5e 100644 --- a/conanfile.txt +++ b/conanfile.txt @@ -1,13 +1,10 @@ [requires] - gsl_microsoft/20180102@bincrafters/stable fmt/6.1.2 -# SystemC/2.3.3@minres/stable -# SystemCVerification/2.0.1@minres/stable -# SystemC-CCI/1.0.0@minres/stable - tcc/0.9.27@minres/stable - boost/1.71.0@conan/stable - zlib/1.2.11 - elfio/3.4@minres/stable + zlib/1.2.11 + boost/1.71.0 + gsl-lite/0.37.0 + elfio/3.8 + tcc/0.9.27 [generators] cmake @@ -18,9 +15,3 @@ boost:shared=False boost:header_only=False fmt:header_only=True -# SystemC:stdcxx=11 -# SystemC:shared=True -# SystemCVerification:stdcxx=11 -# SystemCVerification:shared=True -# SystemC-CCI:stdcxx=11 -# SystemC-CCI:shared=True From 8355b9311d5aa673e2afccaca37b56f8846f3b50 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Fri, 7 May 2021 19:38:17 +0200 Subject: [PATCH 27/89] remove unused package config --- conanfile.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/conanfile.txt b/conanfile.txt index 70b6e5e..991a198 100644 --- a/conanfile.txt +++ b/conanfile.txt @@ -10,7 +10,6 @@ cmake [options] - seasocks:shared=True boost:fPIC=True boost:shared=False boost:header_only=False From 6b31d0338c1c40d1d7f3658f754b4946b0ee77e0 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Mon, 10 May 2021 10:05:33 +0200 Subject: [PATCH 28/89] update tgfs --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 32e4aa8..391f9bb 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 32e4aa83b8827aa0e95fc7fef73948af2d8e0ea3 +Subproject commit 391f9bb80820af40320e4a98b57953f8c47a6a0d From 22f52bb6df854afdb556268cfe3ed9f102f820cb Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Thu, 13 May 2021 09:33:01 +0200 Subject: [PATCH 29/89] make core name a cmake option --- CMakeLists.txt | 3 ++- tgfs | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8987396..31867b5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,6 +3,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${C project(TGFS-ISS VERSION 1.0.0 LANGUAGES CXX) +set(CORE_NAME TGC_C CACHE STRING "The core to run verification on" ) set(WITH_LLVM FALSE CACHE BOOL "Build LLVM based backend") include(GNUInstallDirs) @@ -56,7 +57,7 @@ if (ENABLE_CLANG_TIDY) endif() include(CodeGen) -gen_coredsl(TGF_C ${CMAKE_CURRENT_SOURCE_DIR}/tgfs/gen_input/TGFS.core_desc interp) +gen_coredsl(${CORE_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/tgfs_iss/tgfs/gen_input/TGFS.core_desc interp) add_subdirectory(dbt-core) add_subdirectory(scc) diff --git a/tgfs b/tgfs index 391f9bb..a1fa887 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 391f9bb80820af40320e4a98b57953f8c47a6a0d +Subproject commit a1fa8877f7d68bae52ec506da36154eedd9ae5d9 From ed477903573f6ebdc8bfa2645fbad8e36dc657e9 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Thu, 13 May 2021 14:04:51 +0200 Subject: [PATCH 30/89] update build setup --- CMakeLists.txt | 4 ++-- cmake/CodeGen.cmake | 28 ++++++++++++++-------------- dbt-core | 2 +- tgfs | 2 +- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 31867b5..8e735b9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${C project(TGFS-ISS VERSION 1.0.0 LANGUAGES CXX) -set(CORE_NAME TGC_C CACHE STRING "The core to run verification 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") include(GNUInstallDirs) @@ -57,7 +57,7 @@ if (ENABLE_CLANG_TIDY) endif() include(CodeGen) -gen_coredsl(${CORE_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/tgfs_iss/tgfs/gen_input/TGFS.core_desc interp) +gen_coredsl(${CORE_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/tgfs/gen_input/TGFS.core_desc interp) add_subdirectory(dbt-core) add_subdirectory(scc) diff --git a/cmake/CodeGen.cmake b/cmake/CodeGen.cmake index 7e3fe16..c381b62 100644 --- a/cmake/CodeGen.cmake +++ b/cmake/CodeGen.cmake @@ -2,12 +2,12 @@ cmake_minimum_required(VERSION 3.11) option(ENABLE_CODEGEN "Enable code generation for supported cores" ON) #helper to setup code generation and generate outputs -set(GENERATOR_JAR ${tgfs_SOURCE_DIR}/../coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar) +set(GENERATOR_JAR ${dbt-core-tgc_SOURCE_DIR}/../coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar) -if(EXISTS ${tgfs_SOURCE_DIR}/../coredsl/pom.xml AND NOT EXISTS ${GENERATOR_JAR}) +if(EXISTS ${dbt-core-tgc_SOURCE_DIR}/../coredsl/pom.xml AND NOT EXISTS ${GENERATOR_JAR}) execute_process( COMMAND mvn package - WORKING_DIRECTORY ${tgfs_SOURCE_DIR}/../coredsl + WORKING_DIRECTORY ${dbt-core-tgc_SOURCE_DIR}/../coredsl RESULT_VARIABLE return_code) endif() @@ -47,29 +47,29 @@ set(JAVA_OPTS --add-modules ALL-SYSTEM --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/java.rmi.server=ALL-UNNAMED --add-opens=java.sql/java.sql=ALL-UNNAMED) set(GENERATOR java ${JAVA_OPTS} -jar ${GENERATOR_JAR}) -set(INPUT_DIR ${tgfs_SOURCE_DIR}/gen_input) -set(REPO_DIR ${tgfs_SOURCE_DIR}/gen_input/CoreDSL-Instruction-Set-Description) -set(TMPL_DIR ${tgfs_SOURCE_DIR}/gen_input/templates/) +set(INPUT_DIR ${dbt-core-tgc_SOURCE_DIR}/gen_input) +set(REPO_DIR ${dbt-core-tgc_SOURCE_DIR}/gen_input/CoreDSL-Instruction-Set-Description) +set(TMPL_DIR ${dbt-core-tgc_SOURCE_DIR}/gen_input/templates/) if(ENABLE_CODEGEN AND EXISTS ${GENERATOR_JAR}) macro(gen_coredsl CORE_NAME INPUT_FILE BACKEND) - message(STATUS "Adding generation steps for ${CORE_NAME} in ${tgfs_SOURCE_DIR} for ${BACKEND}") + message(STATUS "Adding generation steps for ${CORE_NAME} in ${dbt-core-tgc_SOURCE_DIR} for ${BACKEND}") string(TOUPPER ${BACKEND} BE_UPPER) string(TOLOWER ${CORE_NAME} CORE_NAMEL) - if(EXISTS ${tgfs_SOURCE_DIR}/generate.sh AND NOT EXISTS ${tgfs_SOURCE_DIR}/incl/iss/arch/${CORE_NAMEL}.h) + if(EXISTS ${dbt-core-tgc_SOURCE_DIR}/generate.sh AND NOT EXISTS ${dbt-core-tgc_SOURCE_DIR}/incl/iss/arch/${CORE_NAMEL}.h) # make sure source file exist initially execute_process( - COMMAND /bin/bash ${tgfs_SOURCE_DIR}/../generate.sh $CORE_NAME $BACKEND - WORKING_DIRECTORY ${tgfs_SOURCE_DIR}/.. + COMMAND /bin/bash ${dbt-core-tgc_SOURCE_DIR}/../generate.sh $CORE_NAME $BACKEND + WORKING_DIRECTORY ${dbt-core-tgc_SOURCE_DIR}/.. RESULT_VARIABLE return_code) endif() - list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.h.gtl:${tgfs_SOURCE_DIR}/incl/iss/arch/${CORE_NAMEL}.h") - list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.cpp.gtl:${tgfs_SOURCE_DIR}/src/iss/${CORE_NAMEL}.cpp") - list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl:${tgfs_SOURCE_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp") - set(${CORE_NAME}_OUTPUT_FILES ${tgfs_SOURCE_DIR}/incl/iss/arch/${CORE_NAMEL}.h ${tgfs_SOURCE_DIR}/src/iss/${CORE_NAMEL}.cpp ${tgfs_SOURCE_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp) + list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.h.gtl:${dbt-core-tgc_SOURCE_DIR}/incl/iss/arch/${CORE_NAMEL}.h") + list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.cpp.gtl:${dbt-core-tgc_SOURCE_DIR}/src/iss/${CORE_NAMEL}.cpp") + list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl:${dbt-core-tgc_SOURCE_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp") + set(${CORE_NAME}_OUTPUT_FILES ${dbt-core-tgc_SOURCE_DIR}/incl/iss/arch/${CORE_NAMEL}.h ${dbt-core-tgc_SOURCE_DIR}/src/iss/${CORE_NAMEL}.cpp ${dbt-core-tgc_SOURCE_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp) add_custom_command( COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} -r ${REPO_DIR} ${${CORE_NAME}_MAPPING} ${INPUT_FILE} DEPENDS ${GENERATOR_JAR} ${INPUT_FILE} ${TMPL_DIR}/CORENAME.h.gtl ${TMPL_DIR}/CORENAME.cpp.gtl ${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl diff --git a/dbt-core b/dbt-core index 4d979d0..50104a5 160000 --- a/dbt-core +++ b/dbt-core @@ -1 +1 @@ -Subproject commit 4d979d0ce9c9f6ca370f67ccd184cc635bbcdfbb +Subproject commit 50104a5cc282d66313d19958ca3a76f39082f514 diff --git a/tgfs b/tgfs index a1fa887..f2bf6d6 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit a1fa8877f7d68bae52ec506da36154eedd9ae5d9 +Subproject commit f2bf6d682a1b3eeabe416339b77275ed5c9e8e53 From 77b063e50c58a76f6496714dfb62318fcb308821 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Thu, 13 May 2021 15:55:25 +0200 Subject: [PATCH 31/89] fix CoreDSL based code generation --- cmake/CodeGen.cmake | 35 +++++++++++++++++++---------------- coredsl | 2 +- tgfs | 2 +- 3 files changed, 21 insertions(+), 18 deletions(-) diff --git a/cmake/CodeGen.cmake b/cmake/CodeGen.cmake index c381b62..b2cc4e1 100644 --- a/cmake/CodeGen.cmake +++ b/cmake/CodeGen.cmake @@ -1,13 +1,16 @@ cmake_minimum_required(VERSION 3.11) option(ENABLE_CODEGEN "Enable code generation for supported cores" ON) -#helper to setup code generation and generate outputs -set(GENERATOR_JAR ${dbt-core-tgc_SOURCE_DIR}/../coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar) +set(ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/..) +set(DBT_CORE_TGC_DIR ${ROOT_DIR}/tgfs) -if(EXISTS ${dbt-core-tgc_SOURCE_DIR}/../coredsl/pom.xml AND NOT EXISTS ${GENERATOR_JAR}) +#helper to setup code generation and generate outputs +set(GENERATOR_JAR ${ROOT_DIR}/coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar) + +if(EXISTS ${ROOT_DIR}/coredsl/pom.xml AND NOT EXISTS ${GENERATOR_JAR}) execute_process( COMMAND mvn package - WORKING_DIRECTORY ${dbt-core-tgc_SOURCE_DIR}/../coredsl + WORKING_DIRECTORY ${ROOT_DIR}/coredsl RESULT_VARIABLE return_code) endif() @@ -47,29 +50,29 @@ set(JAVA_OPTS --add-modules ALL-SYSTEM --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/java.rmi.server=ALL-UNNAMED --add-opens=java.sql/java.sql=ALL-UNNAMED) set(GENERATOR java ${JAVA_OPTS} -jar ${GENERATOR_JAR}) -set(INPUT_DIR ${dbt-core-tgc_SOURCE_DIR}/gen_input) -set(REPO_DIR ${dbt-core-tgc_SOURCE_DIR}/gen_input/CoreDSL-Instruction-Set-Description) -set(TMPL_DIR ${dbt-core-tgc_SOURCE_DIR}/gen_input/templates/) +set(INPUT_DIR ${DBT_CORE_TGC_DIR}/gen_input) +set(REPO_DIR ${DBT_CORE_TGC_DIR}/gen_input/CoreDSL-Instruction-Set-Description) +set(TMPL_DIR ${DBT_CORE_TGC_DIR}/gen_input/templates/) if(ENABLE_CODEGEN AND EXISTS ${GENERATOR_JAR}) macro(gen_coredsl CORE_NAME INPUT_FILE BACKEND) - message(STATUS "Adding generation steps for ${CORE_NAME} in ${dbt-core-tgc_SOURCE_DIR} for ${BACKEND}") + message(STATUS "Adding generation steps for ${CORE_NAME} in ${DBT_CORE_TGC_DIR} for ${BACKEND}") string(TOUPPER ${BACKEND} BE_UPPER) string(TOLOWER ${CORE_NAME} CORE_NAMEL) - if(EXISTS ${dbt-core-tgc_SOURCE_DIR}/generate.sh AND NOT EXISTS ${dbt-core-tgc_SOURCE_DIR}/incl/iss/arch/${CORE_NAMEL}.h) + if(EXISTS ${DBT_CORE_TGC_DIR}/generate.sh AND NOT EXISTS ${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h) # make sure source file exist initially execute_process( - COMMAND /bin/bash ${dbt-core-tgc_SOURCE_DIR}/../generate.sh $CORE_NAME $BACKEND - WORKING_DIRECTORY ${dbt-core-tgc_SOURCE_DIR}/.. + COMMAND /bin/bash ${DBT_CORE_TGC_DIR}/../generate.sh $CORE_NAME $BACKEND + WORKING_DIRECTORY ${DBT_CORE_TGC_DIR}/.. RESULT_VARIABLE return_code) endif() - list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.h.gtl:${dbt-core-tgc_SOURCE_DIR}/incl/iss/arch/${CORE_NAMEL}.h") - list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.cpp.gtl:${dbt-core-tgc_SOURCE_DIR}/src/iss/${CORE_NAMEL}.cpp") - list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl:${dbt-core-tgc_SOURCE_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp") - set(${CORE_NAME}_OUTPUT_FILES ${dbt-core-tgc_SOURCE_DIR}/incl/iss/arch/${CORE_NAMEL}.h ${dbt-core-tgc_SOURCE_DIR}/src/iss/${CORE_NAMEL}.cpp ${dbt-core-tgc_SOURCE_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp) + list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.h.gtl:${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h") + list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.cpp.gtl:${DBT_CORE_TGC_DIR}/src/iss/${CORE_NAMEL}.cpp") + list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl:${DBT_CORE_TGC_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp") + set(${CORE_NAME}_OUTPUT_FILES ${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h ${DBT_CORE_TGC_DIR}/src/iss/${CORE_NAMEL}.cpp ${DBT_CORE_TGC_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp) add_custom_command( COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} -r ${REPO_DIR} ${${CORE_NAME}_MAPPING} ${INPUT_FILE} DEPENDS ${GENERATOR_JAR} ${INPUT_FILE} ${TMPL_DIR}/CORENAME.h.gtl ${TMPL_DIR}/CORENAME.cpp.gtl ${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl @@ -82,6 +85,6 @@ if(ENABLE_CODEGEN AND EXISTS ${GENERATOR_JAR}) else() macro(gen_coredsl CORE_NAME INPUT_FILE BACKEND) add_custom_target(${CORE_NAME}_src) - message(STATUS "Not adding generation steps for ${CORE_NAME}") + message(STATUS "Not adding generation steps for ${CORE_NAME}(${ENABLE_CODEGEN}, ${GENERATOR_JAR})") endmacro() endif() diff --git a/coredsl b/coredsl index 4343194..012eb1b 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit 43431946e3b5d168901feaead9a026091e69662b +Subproject commit 012eb1b929dabbb5cf08b9fd2993d78f08fe685e diff --git a/tgfs b/tgfs index f2bf6d6..c57884c 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit f2bf6d682a1b3eeabe416339b77275ed5c9e8e53 +Subproject commit c57884caeea1e3e37ec4addebb96ed19ed817852 From cfd181cd325f52025e3205155fa72d1ee70f7cb7 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Fri, 14 May 2021 13:30:01 +0200 Subject: [PATCH 32/89] update tgfs --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index c57884c..9c456ba 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit c57884caeea1e3e37ec4addebb96ed19ed817852 +Subproject commit 9c456ba8f2cbbd57d8bcf1bcbd2029dfb7547563 From 072f3e56b850592934d8e246193fc0f8091740fd Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sun, 16 May 2021 15:07:11 +0200 Subject: [PATCH 33/89] make cpu type in core_complex configurable --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 9c456ba..a35974c 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 9c456ba8f2cbbd57d8bcf1bcbd2029dfb7547563 +Subproject commit a35974c9f5d6c9dca98eac016294f1cc84aa7762 From 0ced864f991cf22e13f6392c79ee7fc35771a909 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sun, 16 May 2021 16:44:51 +0200 Subject: [PATCH 34/89] update tgfs submodule --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index a35974c..4b3f5a6 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit a35974c9f5d6c9dca98eac016294f1cc84aa7762 +Subproject commit 4b3f5a6b0c740099b4342c3ee924cb7ebad463c6 From 21d4b48177f2cbc591f8f7dcd339974ca431769c Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Mon, 17 May 2021 09:20:25 +0200 Subject: [PATCH 35/89] update tgfs --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 4b3f5a6..aaceecd 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 4b3f5a6b0c740099b4342c3ee924cb7ebad463c6 +Subproject commit aaceecd5dc64146d8749fdd9220e2643aac23ed8 From bfc667da63877d3e8debfb1525bf8810f634955d Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Wed, 26 May 2021 23:13:40 +0200 Subject: [PATCH 36/89] update tgfs --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index aaceecd..8c38564 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit aaceecd5dc64146d8749fdd9220e2643aac23ed8 +Subproject commit 8c385647dde5821029f33173f3c8a3aa062d4810 From e8d3e337ec87a00c321b1aedc99e808ab881edcc Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Mon, 7 Jun 2021 22:23:52 +0200 Subject: [PATCH 37/89] fix code gen dependencies --- cmake/CodeGen.cmake | 25 ++++++++++++++++--------- dbt-core | 2 +- tgfs | 2 +- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/cmake/CodeGen.cmake b/cmake/CodeGen.cmake index b2cc4e1..7dac354 100644 --- a/cmake/CodeGen.cmake +++ b/cmake/CodeGen.cmake @@ -73,18 +73,25 @@ if(ENABLE_CODEGEN AND EXISTS ${GENERATOR_JAR}) list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.cpp.gtl:${DBT_CORE_TGC_DIR}/src/iss/${CORE_NAMEL}.cpp") list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl:${DBT_CORE_TGC_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp") set(${CORE_NAME}_OUTPUT_FILES ${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h ${DBT_CORE_TGC_DIR}/src/iss/${CORE_NAMEL}.cpp ${DBT_CORE_TGC_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp) - add_custom_command( - COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} -r ${REPO_DIR} ${${CORE_NAME}_MAPPING} ${INPUT_FILE} - DEPENDS ${GENERATOR_JAR} ${INPUT_FILE} ${TMPL_DIR}/CORENAME.h.gtl ${TMPL_DIR}/CORENAME.cpp.gtl ${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl - OUTPUT ${${CORE_NAME}_OUTPUT_FILES} - COMMENT "Generating code for ${CORE_NAME}." - USES_TERMINAL VERBATIM - ) - add_custom_target(${CORE_NAME}_src DEPENDS ${${CORE_NAME}_OUTPUT_FILES}) + #add_custom_command( + # COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} -r ${REPO_DIR} ${${CORE_NAME}_MAPPING} ${INPUT_FILE} + # DEPENDS ${GENERATOR_JAR} ${INPUT_FILE} ${TMPL_DIR}/CORENAME.h.gtl ${TMPL_DIR}/CORENAME.cpp.gtl ${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl + # OUTPUT ${${CORE_NAME}_OUTPUT_FILES} + # COMMENT "Generating code for ${CORE_NAME}." + # USES_TERMINAL VERBATIM + #) + #add_custom_target(${CORE_NAME}_cpp DEPENDS ${${CORE_NAME}_OUTPUT_FILES}) + add_custom_target(${CORE_NAME}_cpp + COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} -r ${REPO_DIR} ${${CORE_NAME}_MAPPING} ${INPUT_FILE} + WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} + COMMENT "Generating ISS sources" + BYPRODUCTS ${${CORE_NAME}_OUTPUT_FILES} + USES_TERMINAL + ) endmacro() else() macro(gen_coredsl CORE_NAME INPUT_FILE BACKEND) - add_custom_target(${CORE_NAME}_src) + add_custom_target(${CORE_NAME}_cpp) message(STATUS "Not adding generation steps for ${CORE_NAME}(${ENABLE_CODEGEN}, ${GENERATOR_JAR})") endmacro() endif() diff --git a/dbt-core b/dbt-core index 50104a5..246b92c 160000 --- a/dbt-core +++ b/dbt-core @@ -1 +1 @@ -Subproject commit 50104a5cc282d66313d19958ca3a76f39082f514 +Subproject commit 246b92cc5ddd33c98263b3ec0771745912826f6c diff --git a/tgfs b/tgfs index 8c38564..e432dd8 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 8c385647dde5821029f33173f3c8a3aa062d4810 +Subproject commit e432dd820815fce7215b52665234f127c9351fc9 From 5c433cac93cd983da030cb9d1bca5a436456d5ae Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Tue, 29 Jun 2021 11:54:52 +0200 Subject: [PATCH 38/89] update repos --- dbt-core | 2 +- tgfs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dbt-core b/dbt-core index 246b92c..3841cdb 160000 --- a/dbt-core +++ b/dbt-core @@ -1 +1 @@ -Subproject commit 246b92cc5ddd33c98263b3ec0771745912826f6c +Subproject commit 3841cdb5d95038370e7394fcad133411f75f5e15 diff --git a/tgfs b/tgfs index e432dd8..23b9741 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit e432dd820815fce7215b52665234f127c9351fc9 +Subproject commit 23b9741adfefeaa1d3428da2d77da305cb0648ca From f9b7f27367ee904ea17cbab04f8597467571f7ca Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Tue, 6 Jul 2021 21:20:11 +0200 Subject: [PATCH 39/89] fix detailed behavior of TGC_C --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 23b9741..2f4b5bd 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 23b9741adfefeaa1d3428da2d77da305cb0648ca +Subproject commit 2f4b5bd9b2646185483eab33ea1fe94ea814686c From 0292868c4853233287b6c27b7c26cd38ab8f2f2b Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Wed, 7 Jul 2021 11:30:51 +0200 Subject: [PATCH 40/89] update tgfs --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 2f4b5bd..473f8a5 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 2f4b5bd9b2646185483eab33ea1fe94ea814686c +Subproject commit 473f8a5a17b6be02bdc332b3f4a541f52ec61db9 From 7c1502893d3e87f4ccdbc84df8e10a468361f170 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Fri, 9 Jul 2021 07:37:46 +0200 Subject: [PATCH 41/89] update tgfs --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 473f8a5..e68918c 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 473f8a5a17b6be02bdc332b3f4a541f52ec61db9 +Subproject commit e68918c2e83521cc08c9d67988e2dd5dd2a86fbd From f6698a2fc682cef684c7d724785df7d427a5c62f Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Fri, 9 Jul 2021 09:10:20 +0200 Subject: [PATCH 42/89] update subrepos and project name --- .cproject | 9 ++++----- .project | 2 +- conanfile.txt | 2 +- coredsl | 2 +- scc | 2 +- 5 files changed, 8 insertions(+), 9 deletions(-) diff --git a/.cproject b/.cproject index a933a18..481c19d 100644 --- a/.cproject +++ b/.cproject @@ -16,7 +16,7 @@ - + @@ -45,20 +45,19 @@ - - + - + - + diff --git a/.project b/.project index 8902d29..f624507 100644 --- a/.project +++ b/.project @@ -1,6 +1,6 @@ - TGFS-ISS + TGC-ISS diff --git a/conanfile.txt b/conanfile.txt index 991a198..99a0316 100644 --- a/conanfile.txt +++ b/conanfile.txt @@ -1,7 +1,7 @@ [requires] fmt/6.1.2 zlib/1.2.11 - boost/1.71.0 + boost/1.75.0 gsl-lite/0.37.0 elfio/3.8 tcc/0.9.27 diff --git a/coredsl b/coredsl index 012eb1b..62d95f8 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit 012eb1b929dabbb5cf08b9fd2993d78f08fe685e +Subproject commit 62d95f8b3cb647d4ead94bfc4c79b48fe8cfdedd diff --git a/scc b/scc index 9919e5a..bf5bfbe 160000 --- a/scc +++ b/scc @@ -1 +1 @@ -Subproject commit 9919e5a350e79ad4a5e9b4b573b4680af0fde05b +Subproject commit bf5bfbee900be2af89f0f3f27bebf6e33b70e19f From 3fac702609928dd686d07e9593eafb32848f6d74 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Fri, 9 Jul 2021 13:02:15 +0200 Subject: [PATCH 43/89] update tgfs to fix mepc behavior --- coredsl | 2 +- scc | 2 +- tgfs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/coredsl b/coredsl index 62d95f8..012eb1b 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit 62d95f8b3cb647d4ead94bfc4c79b48fe8cfdedd +Subproject commit 012eb1b929dabbb5cf08b9fd2993d78f08fe685e diff --git a/scc b/scc index bf5bfbe..9919e5a 160000 --- a/scc +++ b/scc @@ -1 +1 @@ -Subproject commit bf5bfbee900be2af89f0f3f27bebf6e33b70e19f +Subproject commit 9919e5a350e79ad4a5e9b4b573b4680af0fde05b diff --git a/tgfs b/tgfs index e68918c..c592a26 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit e68918c2e83521cc08c9d67988e2dd5dd2a86fbd +Subproject commit c592a26346d8f8694275376ba7a77ebc09a867f9 From bd81ff5d3bf4bf209340b80921f502c24fa3fb5f Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Thu, 15 Jul 2021 09:40:17 +0200 Subject: [PATCH 44/89] update coredsl --- coredsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coredsl b/coredsl index 012eb1b..62d95f8 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit 012eb1b929dabbb5cf08b9fd2993d78f08fe685e +Subproject commit 62d95f8b3cb647d4ead94bfc4c79b48fe8cfdedd From 88427005289aaa4a659534f7676e5a29e69e6d8b Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Mon, 19 Jul 2021 16:26:53 +0200 Subject: [PATCH 45/89] update tgfs --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index c592a26..d0f3a12 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit c592a26346d8f8694275376ba7a77ebc09a867f9 +Subproject commit d0f3a120fdc87c8d675dac9f3b0170243113c804 From 6ad59a26ee0a061ff915e9b0a1747e359be95a46 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Tue, 27 Jul 2021 12:26:15 +0200 Subject: [PATCH 46/89] update build system --- cmake/CodeGen.cmake | 4 ++++ dbt-core | 2 +- tgfs | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/cmake/CodeGen.cmake b/cmake/CodeGen.cmake index 7dac354..b785254 100644 --- a/cmake/CodeGen.cmake +++ b/cmake/CodeGen.cmake @@ -88,6 +88,10 @@ if(ENABLE_CODEGEN AND EXISTS ${GENERATOR_JAR}) BYPRODUCTS ${${CORE_NAME}_OUTPUT_FILES} USES_TERMINAL ) + execute_process( + COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} -r ${REPO_DIR} ${${CORE_NAME}_MAPPING} ${INPUT_FILE} + WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} + RESULT_VARIABLE return_code) endmacro() else() macro(gen_coredsl CORE_NAME INPUT_FILE BACKEND) diff --git a/dbt-core b/dbt-core index 3841cdb..3eb12db 160000 --- a/dbt-core +++ b/dbt-core @@ -1 +1 @@ -Subproject commit 3841cdb5d95038370e7394fcad133411f75f5e15 +Subproject commit 3eb12db110858534bc99280454a33ed54a74e4e8 diff --git a/tgfs b/tgfs index d0f3a12..da819d8 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit d0f3a120fdc87c8d675dac9f3b0170243113c804 +Subproject commit da819d8890953a57393c898d12401f454c7c4485 From 9e9b6e9cdbfb28f87c9be1c149fb49a497472e63 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Tue, 27 Jul 2021 16:03:17 +0200 Subject: [PATCH 47/89] update dbt-rise-tgc --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index da819d8..4ddf501 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit da819d8890953a57393c898d12401f454c7c4485 +Subproject commit 4ddf50162c3518e5ecc19b2099b994767bdef2c0 From 80785992bf3a3e212486169c7f0dd50a27c4a5d7 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Wed, 28 Jul 2021 09:10:12 +0200 Subject: [PATCH 48/89] update tgfs --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 4ddf501..af887c2 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 4ddf50162c3518e5ecc19b2099b994767bdef2c0 +Subproject commit af887c286f3c304db1f1dbf1f0ad826816e36db7 From 5a208ef62dbfb8e900225a70fed49e55a1f6fd3f Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sun, 1 Aug 2021 17:25:46 +0200 Subject: [PATCH 49/89] update dbt-core and tgc --- dbt-core | 2 +- tgfs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dbt-core b/dbt-core index 3eb12db..9526738 160000 --- a/dbt-core +++ b/dbt-core @@ -1 +1 @@ -Subproject commit 3eb12db110858534bc99280454a33ed54a74e4e8 +Subproject commit 95267382cf7c6d95bd7d9fc4d5910fefd09e51c3 diff --git a/tgfs b/tgfs index af887c2..d95846a 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit af887c286f3c304db1f1dbf1f0ad826816e36db7 +Subproject commit d95846a849461c7eb0bf6c54479c823045a405fd From 95fd842cbdb130e20bc10b5f58b48ba3df5eeaf2 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Thu, 12 Aug 2021 20:34:27 +0200 Subject: [PATCH 50/89] update tgfs --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index d95846a..adeffe4 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit d95846a849461c7eb0bf6c54479c823045a405fd +Subproject commit adeffe47ad09dfdc00502f90b1863ac01d6db3c6 From b453c43407040648a75dbddbd902a90cde2c2ed2 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sat, 14 Aug 2021 10:58:04 +0200 Subject: [PATCH 51/89] update tgfs --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index adeffe4..c868109 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit adeffe47ad09dfdc00502f90b1863ac01d6db3c6 +Subproject commit c8681096bea394226e69e0f386a6bd3f1afd7723 From d2d2f6c583eeb8ccf9e2cbc5a499c1a9db26a17e Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sat, 14 Aug 2021 13:36:37 +0200 Subject: [PATCH 52/89] extend error reporting for CodeGeneration --- cmake/CodeGen.cmake | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/cmake/CodeGen.cmake b/cmake/CodeGen.cmake index b785254..91f3f06 100644 --- a/cmake/CodeGen.cmake +++ b/cmake/CodeGen.cmake @@ -8,10 +8,16 @@ set(DBT_CORE_TGC_DIR ${ROOT_DIR}/tgfs) set(GENERATOR_JAR ${ROOT_DIR}/coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar) if(EXISTS ${ROOT_DIR}/coredsl/pom.xml AND NOT EXISTS ${GENERATOR_JAR}) - execute_process( + execute_process( COMMAND mvn package WORKING_DIRECTORY ${ROOT_DIR}/coredsl - RESULT_VARIABLE return_code) + OUTPUT_VARIABLE StdOut + ERROR_VARIABLE StdErr + RESULT_VARIABLE Status + ERROR_QUIET) + if(Status AND NOT Status EQUAL 0) + message(STATUS "mvn package call failed: ${Status}, ${StdOut}, ${StdErr}") + endif() endif() set(JAVA_OPTS --add-modules ALL-SYSTEM --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED @@ -97,5 +103,8 @@ else() macro(gen_coredsl CORE_NAME INPUT_FILE BACKEND) add_custom_target(${CORE_NAME}_cpp) message(STATUS "Not adding generation steps for ${CORE_NAME}(${ENABLE_CODEGEN}, ${GENERATOR_JAR})") + if(NOT EXISTS ${GENERATOR_JAR}) + message(STATUS "CoreDSL Generator ${GENERATOR_JAR} does not exists") + endif() endmacro() endif() From 59486dd4eb2f4ba48835d20c38dfa25be8b72912 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Mon, 16 Aug 2021 15:05:42 +0200 Subject: [PATCH 53/89] fix clic reset values --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index c868109..836ba26 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit c8681096bea394226e69e0f386a6bd3f1afd7723 +Subproject commit 836ba269e3e25f3e437bfc0ad5e93db61e04772c From 06bb0fdd94973b5f024cb4703f1f3241b1ffc446 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Thu, 19 Aug 2021 10:51:36 +0200 Subject: [PATCH 54/89] pull in tgc changes --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 836ba26..2f05083 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 836ba269e3e25f3e437bfc0ad5e93db61e04772c +Subproject commit 2f05083cf06b6e4623231f32508320224a38e348 From 7748120419498a9e5511b7be4fe573cc438466c8 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Thu, 19 Aug 2021 13:39:11 +0200 Subject: [PATCH 55/89] pull in tgfs changes --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 2f05083..c409e7b 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 2f05083cf06b6e4623231f32508320224a38e348 +Subproject commit c409e7b7ca617d709ac9ba230863143482ddbc52 From 032ea53353fd1b6421cdf7d0760252f0d00b3d05 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Fri, 20 Aug 2021 09:03:26 +0200 Subject: [PATCH 56/89] pull in fix of trap ids for access fault --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index c409e7b..9c8b726 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit c409e7b7ca617d709ac9ba230863143482ddbc52 +Subproject commit 9c8b72693e1654ef016b57099f87b59b7b44e244 From 163d9406d14a7ca0602dc902accce4bf3a593422 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sat, 4 Sep 2021 12:48:55 +0200 Subject: [PATCH 57/89] adapt to changed toplevel core description file names --- CMakeLists.txt | 2 +- coredsl | 2 +- tgfs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e735b9..4d2d1e8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,7 +57,7 @@ if (ENABLE_CLANG_TIDY) endif() include(CodeGen) -gen_coredsl(${CORE_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/tgfs/gen_input/TGFS.core_desc interp) +gen_coredsl(${CORE_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/tgfs/gen_input/${CORE_NAME}.core_desc interp) add_subdirectory(dbt-core) add_subdirectory(scc) diff --git a/coredsl b/coredsl index 62d95f8..4154939 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit 62d95f8b3cb647d4ead94bfc4c79b48fe8cfdedd +Subproject commit 41549393dfbd5079377fdc642e97cebbd502d632 diff --git a/tgfs b/tgfs index 9c8b726..a308445 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 9c8b72693e1654ef016b57099f87b59b7b44e244 +Subproject commit a3084456fdf816db6234980024384e88f19b0466 From 9659d1749691c2f2f060999e8395ebefafcae1cb Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sat, 4 Sep 2021 13:05:47 +0200 Subject: [PATCH 58/89] update build system and add tgc_c_xrb_mac option --- CMakeLists.txt | 48 +++++++++++++++++++++++++++++++++++++++++++++++- conanfile.txt | 16 ---------------- scc | 2 +- tgfs | 2 +- 4 files changed, 49 insertions(+), 19 deletions(-) delete mode 100644 conanfile.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 4d2d1e8..48c8ca1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,7 +33,53 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") set(warnings "/W4 /WX /EHsc") endif() -setup_conan(TARGETS) +include(ConanInline) +conan_check() +set(CONAN_BOOST_OPTIONS +boost:fPIC=True +boost:shared=True +boost:header_only=False +boost:without_context=True +boost:without_contract=True +boost:without_coroutine=True +boost:without_fiber=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_serialization=True +boost:without_stacktrace=True +boost:without_test=True +boost:without_timer=True +boost:without_type_erasure=True +boost:without_wave=True +) +set(CONAN_PACKAGES fmt/6.1.2 zlib/1.2.11 boost/1.75.0 gsl-lite/0.37.0 elfio/3.8 tcc/0.9.27) +set(CONAN_SETTINGS fmt:header_only=True ${CONAN_BOOST_OPTIONS}) +if(NOT DEFINED ENV{SYSTEMC_HOME}) + set(CONAN_PACKAGES ${CONAN_PACKAGES} + systemc/2.3.3 + systemc-cci/1.0.0 + ) + set(CONAN_SETTINGS ${CONAN_SETTINGS} + #systemc:phase_cb=False + systemc-cci:shared=False + ) +endif() +conan_configure(REQUIRES ${CONAN_PACKAGES} + GENERATORS cmake_find_package + OPTIONS ${CONAN_SETTINGS} + ) +conan_install() +conan_setup(TARGETS) # This line finds the boost lib and headers. set(Boost_NO_BOOST_CMAKE ON) # Don't do a find_package in config mode before searching for a regular boost install. diff --git a/conanfile.txt b/conanfile.txt deleted file mode 100644 index 99a0316..0000000 --- a/conanfile.txt +++ /dev/null @@ -1,16 +0,0 @@ -[requires] - fmt/6.1.2 - zlib/1.2.11 - boost/1.75.0 - gsl-lite/0.37.0 - elfio/3.8 - tcc/0.9.27 - -[generators] - cmake - -[options] - boost:fPIC=True - boost:shared=False - boost:header_only=False - fmt:header_only=True diff --git a/scc b/scc index 9919e5a..1f18a7b 160000 --- a/scc +++ b/scc @@ -1 +1 @@ -Subproject commit 9919e5a350e79ad4a5e9b4b573b4680af0fde05b +Subproject commit 1f18a7b15d63df18df876333431c43e4c6d2ad24 diff --git a/tgfs b/tgfs index a308445..0fd82f1 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit a3084456fdf816db6234980024384e88f19b0466 +Subproject commit 0fd82f1f3c0371fa3b629f96dab598991168eed1 From d92fa7813e681e01dc54a9760b22bfe442a7ce0f Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Mon, 6 Sep 2021 14:27:37 +0200 Subject: [PATCH 59/89] remove left-over in CMakeLists.txt --- CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 48c8ca1..0fa4a0d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,7 +7,6 @@ set(CORE_NAME TGC_C CACHE STRING "The core to build the ISS for" ) set(WITH_LLVM FALSE CACHE BOOL "Build LLVM based backend") include(GNUInstallDirs) -include(Conan) set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) @@ -80,6 +79,10 @@ conan_configure(REQUIRES ${CONAN_PACKAGES} ) conan_install() conan_setup(TARGETS) +find_package(tcc) +find_package(elfio) +find_package(fmt) +find_package(gsl-lite) # This line finds the boost lib and headers. set(Boost_NO_BOOST_CMAKE ON) # Don't do a find_package in config mode before searching for a regular boost install. From 8e8ca9e2e72646dcbbfb36e1249f0fbce28cffaa Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Fri, 17 Sep 2021 07:58:14 +0200 Subject: [PATCH 60/89] cleanup conan setup --- CMakeLists.txt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0fa4a0d..4d8f2f2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,7 +33,7 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") endif() include(ConanInline) -conan_check() + set(CONAN_BOOST_OPTIONS boost:fPIC=True boost:shared=True @@ -73,12 +73,15 @@ if(NOT DEFINED ENV{SYSTEMC_HOME}) systemc-cci:shared=False ) endif() -conan_configure(REQUIRES ${CONAN_PACKAGES} + +conan_check() +conan_add_remote(NAME minres URL https://artifactory.minres.com/artifactory/api/conan/oss) +conan_cmake_configure(REQUIRES ${CONAN_PACKAGES} GENERATORS cmake_find_package OPTIONS ${CONAN_SETTINGS} ) conan_install() -conan_setup(TARGETS) + find_package(tcc) find_package(elfio) find_package(fmt) From 7ccc443ee4578db3d94457f76f9a0f55f0784767 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sat, 18 Sep 2021 11:40:33 +0200 Subject: [PATCH 61/89] remove mcounteren in M-mode only platform --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 0fd82f1..65b4db5 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 0fd82f1f3c0371fa3b629f96dab598991168eed1 +Subproject commit 65b4db5eca4b24da784b114403c0855ef1d44c03 From d0cae79b35fc5de9b6b695885b51f58a253fe2ca Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sat, 18 Sep 2021 17:28:17 +0200 Subject: [PATCH 62/89] cleanup cmake version requirements --- CMakeLists.txt | 2 +- cmake/CodeGen.cmake | 2 +- scc | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4d8f2f2..cad36af 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.12) +cmake_minimum_required(VERSION 3.16) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_CURRENT_SOURCE_DIR}/scc/cmake) project(TGFS-ISS VERSION 1.0.0 LANGUAGES CXX) diff --git a/cmake/CodeGen.cmake b/cmake/CodeGen.cmake index 91f3f06..884ee83 100644 --- a/cmake/CodeGen.cmake +++ b/cmake/CodeGen.cmake @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.11) +cmake_minimum_required(VERSION 3.16) option(ENABLE_CODEGEN "Enable code generation for supported cores" ON) set(ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/..) diff --git a/scc b/scc index 1f18a7b..ddc4bd5 160000 --- a/scc +++ b/scc @@ -1 +1 @@ -Subproject commit 1f18a7b15d63df18df876333431c43e4c6d2ad24 +Subproject commit ddc4bd555d0ac66bac158e5f14ea780e75aa6695 From 8200b5d9486a7c7985fafb2429dca8362649ae7f Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Tue, 21 Sep 2021 16:52:56 +0200 Subject: [PATCH 63/89] update tgfs --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 65b4db5..ba9339a 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 65b4db5eca4b24da784b114403c0855ef1d44c03 +Subproject commit ba9339a50d5ac5591fb96ac233d264a25e38a323 From 04ebd82f1820105b81084acb135463baa06242be Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Thu, 23 Sep 2021 21:10:17 +0200 Subject: [PATCH 64/89] add support for non-compressed ISA --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index ba9339a..1742591 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit ba9339a50d5ac5591fb96ac233d264a25e38a323 +Subproject commit 174259155df927075f551445994d8cc231d182e5 From 1781adc5c7406f8038f99efdca51b419caa81950 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Thu, 23 Sep 2021 21:12:14 +0200 Subject: [PATCH 65/89] fix script options to make consistent --- cmake/CodeGen.cmake | 2 +- generate.sh | 45 ++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/cmake/CodeGen.cmake b/cmake/CodeGen.cmake index 884ee83..246d7d8 100644 --- a/cmake/CodeGen.cmake +++ b/cmake/CodeGen.cmake @@ -70,7 +70,7 @@ if(ENABLE_CODEGEN AND EXISTS ${GENERATOR_JAR}) if(EXISTS ${DBT_CORE_TGC_DIR}/generate.sh AND NOT EXISTS ${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h) # make sure source file exist initially execute_process( - COMMAND /bin/bash ${DBT_CORE_TGC_DIR}/../generate.sh $CORE_NAME $BACKEND + COMMAND /bin/bash ${DBT_CORE_TGC_DIR}/../generate.sh -c $CORE_NAME -b $BACKEND WORKING_DIRECTORY ${DBT_CORE_TGC_DIR}/.. RESULT_VARIABLE return_code) endif() diff --git a/generate.sh b/generate.sh index cf314a9..e32bd73 100644 --- a/generate.sh +++ b/generate.sh @@ -1,23 +1,58 @@ #!/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 [-h] -c -v " + echo "Generate ISS sources for TGC cores" + echo " -c core name" + echo " -b ISS backend for which sources are generated, interp,tcc, or llvm" + exit 0 +} + + +CORE_NAME= +BACKEND= +while getopts 'c:b:h' c +do + case $c in + c) CORE_NAME=$OPTARG ;; + v) BACKEND=$OPTARG ;; + h) print_help ;; + esac +done + +if [ -z "$CORE_NAME" ] then + echo "core name missing!" + exit 1 +fi +if [ -z "$BACKEND" ] then + echo "core variant missing!" + exit 1 +fi + + +cd iss JAVA_OPTS="--add-modules ALL-SYSTEM --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.annotation=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.module=ALL-UNNAMED --add-opens=java.base/java.lang.ref=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.net.spi=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.channels=ALL-UNNAMED --add-opens=java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.charset.spi=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.nio.file.attribute=ALL-UNNAMED --add-opens=java.base/java.nio.file.spi=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.security.acl=ALL-UNNAMED --add-opens=java.base/java.security.cert=ALL-UNNAMED --add-opens=java.base/java.security.interfaces=ALL-UNNAMED --add-opens=java.base/java.security.spec=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.text.spi=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.time.chrono=ALL-UNNAMED --add-opens=java.base/java.time.format=ALL-UNNAMED --add-opens=java.base/java.time.temporal=ALL-UNNAMED --add-opens=java.base/java.time.zone=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED --add-opens=java.base/java.util.function=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.util.spi=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens=java.datatransfer/java.awt.datatransfer=ALL-UNNAMED --add-opens=java.desktop/java.applet=ALL-UNNAMED --add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.desktop/java.awt.color=ALL-UNNAMED --add-opens=java.desktop/java.awt.desktop=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.desktop/java.awt.geom=ALL-UNNAMED --add-opens=java.desktop/java.awt.im=ALL-UNNAMED --add-opens=java.desktop/java.awt.im.spi=ALL-UNNAMED --add-opens=java.desktop/java.awt.image=ALL-UNNAMED --add-opens=java.desktop/java.awt.image.renderable=ALL-UNNAMED --add-opens=java.desktop/java.awt.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.print=ALL-UNNAMED --add-opens=java.desktop/java.beans=ALL-UNNAMED --add-opens=java.desktop/java.beans.beancontext=ALL-UNNAMED --add-opens=java.instrument/java.lang.instrument=ALL-UNNAMED --add-opens=java.logging/java.util.logging=ALL-UNNAMED --add-opens=java.management/java.lang.management=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.rmi/java.rmi=ALL-UNNAMED --add-opens=java.rmi/java.rmi.activation=ALL-UNNAMED --add-opens=java.rmi/java.rmi.dgc=ALL-UNNAMED --add-opens=java.rmi/java.rmi.registry=ALL-UNNAMED --add-opens=java.rmi/java.rmi.server=ALL-UNNAMED --add-opens=java.sql/java.sql=ALL-UNNAMED" GENERATOR="java $JAVA_OPTS -jar coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar " -CORE_NAME=$1 -BACKEND=$2 -CORE_NAME_LC=`echo $CORE_NAME | tr '[:upper:]' '[:lower:]' ` INPUT_FILE=tgfs/gen_input/TGFS.core_desc REPO_DIR=tgfs/gen_input/CoreDSL-Instruction-Set-Description -TMPL_DIR=tgfs/gen_input/templates/interp +TMPL_DIR=tgfs/gen_input/templates +CORE_NAME_LC=`echo "$CORE_NAME" | tr '[:upper:]' '[:lower:]'` MAPPING="" MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.h.gtl:tgfs/incl/iss/arch/${CORE_NAME_LC}.h" MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.cpp.gtl:tgfs/src/iss/${CORE_NAME_LC}.cpp" -MAPPING="$MAPPING -m ${TMPL_DIR}/vm_CORENAME.cpp.gtl:tgfs/src/vm/${BACKEND}/vm_${CORE_NAME_LC}.cpp" +MAPPING="$MAPPING -m ${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl:tgfs/src/vm/${BACKEND}/vm_${CORE_NAME_LC}.cpp" [ -f coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar ] || (cd coredsl; mvn package) From 552a4a1be69bc4c04f867e0c226f320ae3477818 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Wed, 29 Sep 2021 00:04:28 +0200 Subject: [PATCH 66/89] add instruction alignment setting --- coredsl | 2 +- tgfs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/coredsl b/coredsl index 4154939..d30c2cb 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit 41549393dfbd5079377fdc642e97cebbd502d632 +Subproject commit d30c2cbbd7a1d6bea745da10be2b02e81870ccb3 diff --git a/tgfs b/tgfs index 1742591..438e598 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 174259155df927075f551445994d8cc231d182e5 +Subproject commit 438e598a4aaf287298596e3ceb6609ee36818fee From c4a6a770022c37afc7554cffd2fcf1341fe48445 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Wed, 29 Sep 2021 00:45:56 +0200 Subject: [PATCH 67/89] fix JALR alignment in description --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 438e598..17ee7b1 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 438e598a4aaf287298596e3ceb6609ee36818fee +Subproject commit 17ee7b138d0a5ef8e182d71c5a1dd2dd273034ea From aed35a1c25db4286374dd4b38c27f3d2742aa109 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Wed, 29 Sep 2021 01:21:44 +0200 Subject: [PATCH 68/89] update coredsl generator --- coredsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coredsl b/coredsl index d30c2cb..efe7313 160000 --- a/coredsl +++ b/coredsl @@ -1 +1 @@ -Subproject commit d30c2cbbd7a1d6bea745da10be2b02e81870ccb3 +Subproject commit efe73133559c32ed4f921575b416b09ea59b197c From 2d8acfdbe1bfbcb5b37a8bb11253f23b60d056a3 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Thu, 30 Sep 2021 19:29:10 +0200 Subject: [PATCH 69/89] update tgfs to fix unaligned access behavior and marchid setting --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 17ee7b1..2f15d96 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 17ee7b138d0a5ef8e182d71c5a1dd2dd273034ea +Subproject commit 2f15d9676e850e891acf8af516198f9f18174db6 From cdf6954ee53df7ccc131dced815979622fa6888b Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Fri, 1 Oct 2021 13:06:42 +0200 Subject: [PATCH 70/89] add instruction YAML generation to build flow --- cmake/CodeGen.cmake | 2 ++ generate.sh | 14 +++++++------- tgfs | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/cmake/CodeGen.cmake b/cmake/CodeGen.cmake index 246d7d8..f5682ff 100644 --- a/cmake/CodeGen.cmake +++ b/cmake/CodeGen.cmake @@ -78,6 +78,8 @@ if(ENABLE_CODEGEN AND EXISTS ${GENERATOR_JAR}) list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.h.gtl:${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h") list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.cpp.gtl:${DBT_CORE_TGC_DIR}/src/iss/${CORE_NAMEL}.cpp") list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl:${DBT_CORE_TGC_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp") + list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME_instr.yaml.gtl:${DBT_CORE_TGC_DIR}/${CORE_NAME_LC}_instr.yaml" + set(${CORE_NAME}_OUTPUT_FILES ${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h ${DBT_CORE_TGC_DIR}/src/iss/${CORE_NAMEL}.cpp ${DBT_CORE_TGC_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp) #add_custom_command( # COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} -r ${REPO_DIR} ${${CORE_NAME}_MAPPING} ${INPUT_FILE} diff --git a/generate.sh b/generate.sh index e32bd73..5d7bacd 100644 --- a/generate.sh +++ b/generate.sh @@ -8,7 +8,7 @@ SCRIPTDIR=`dirname "$SCRIPT"` SCRIPTNAME=`basename "$SCRIPT"` function print_help { - echo "Usage: $SCRIPTNAME [-h] -c -v " + echo "Usage: $SCRIPTNAME [-h] -c -v " echo "Generate ISS sources for TGC cores" echo " -c core name" echo " -b ISS backend for which sources are generated, interp,tcc, or llvm" @@ -22,28 +22,27 @@ while getopts 'c:b:h' c do case $c in c) CORE_NAME=$OPTARG ;; - v) BACKEND=$OPTARG ;; + b) BACKEND=$OPTARG ;; h) print_help ;; esac done +shift $((OPTIND-1)) -if [ -z "$CORE_NAME" ] then +if [ -z "$CORE_NAME" ]; then echo "core name missing!" exit 1 fi -if [ -z "$BACKEND" ] then +if [ -z "$BACKEND" ]; then echo "core variant missing!" exit 1 fi -cd iss - JAVA_OPTS="--add-modules ALL-SYSTEM --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.annotation=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.module=ALL-UNNAMED --add-opens=java.base/java.lang.ref=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.net.spi=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.channels=ALL-UNNAMED --add-opens=java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.charset.spi=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.nio.file.attribute=ALL-UNNAMED --add-opens=java.base/java.nio.file.spi=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.security.acl=ALL-UNNAMED --add-opens=java.base/java.security.cert=ALL-UNNAMED --add-opens=java.base/java.security.interfaces=ALL-UNNAMED --add-opens=java.base/java.security.spec=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.text.spi=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.time.chrono=ALL-UNNAMED --add-opens=java.base/java.time.format=ALL-UNNAMED --add-opens=java.base/java.time.temporal=ALL-UNNAMED --add-opens=java.base/java.time.zone=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED --add-opens=java.base/java.util.function=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.util.spi=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens=java.datatransfer/java.awt.datatransfer=ALL-UNNAMED --add-opens=java.desktop/java.applet=ALL-UNNAMED --add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.desktop/java.awt.color=ALL-UNNAMED --add-opens=java.desktop/java.awt.desktop=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.desktop/java.awt.geom=ALL-UNNAMED --add-opens=java.desktop/java.awt.im=ALL-UNNAMED --add-opens=java.desktop/java.awt.im.spi=ALL-UNNAMED --add-opens=java.desktop/java.awt.image=ALL-UNNAMED --add-opens=java.desktop/java.awt.image.renderable=ALL-UNNAMED --add-opens=java.desktop/java.awt.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.print=ALL-UNNAMED --add-opens=java.desktop/java.beans=ALL-UNNAMED --add-opens=java.desktop/java.beans.beancontext=ALL-UNNAMED --add-opens=java.instrument/java.lang.instrument=ALL-UNNAMED --add-opens=java.logging/java.util.logging=ALL-UNNAMED --add-opens=java.management/java.lang.management=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.rmi/java.rmi=ALL-UNNAMED --add-opens=java.rmi/java.rmi.activation=ALL-UNNAMED --add-opens=java.rmi/java.rmi.dgc=ALL-UNNAMED --add-opens=java.rmi/java.rmi.registry=ALL-UNNAMED --add-opens=java.rmi/java.rmi.server=ALL-UNNAMED --add-opens=java.sql/java.sql=ALL-UNNAMED" GENERATOR="java $JAVA_OPTS -jar coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar " -INPUT_FILE=tgfs/gen_input/TGFS.core_desc +INPUT_FILE=$1 REPO_DIR=tgfs/gen_input/CoreDSL-Instruction-Set-Description TMPL_DIR=tgfs/gen_input/templates @@ -53,6 +52,7 @@ MAPPING="" MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.h.gtl:tgfs/incl/iss/arch/${CORE_NAME_LC}.h" MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.cpp.gtl:tgfs/src/iss/${CORE_NAME_LC}.cpp" MAPPING="$MAPPING -m ${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl:tgfs/src/vm/${BACKEND}/vm_${CORE_NAME_LC}.cpp" +MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME_instr.yaml.gtl:tgfs/${CORE_NAME_LC}_instr.yaml" [ -f coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar ] || (cd coredsl; mvn package) diff --git a/tgfs b/tgfs index 2f15d96..5866acf 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 2f15d9676e850e891acf8af516198f9f18174db6 +Subproject commit 5866acf5657d3d4fed3f1bef85655b4a58efca1c From ec831d2da1e8c96cfeebf295d30772556d7551e2 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Fri, 1 Oct 2021 13:18:38 +0200 Subject: [PATCH 71/89] fix typo --- cmake/CodeGen.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CodeGen.cmake b/cmake/CodeGen.cmake index f5682ff..27fdc58 100644 --- a/cmake/CodeGen.cmake +++ b/cmake/CodeGen.cmake @@ -78,7 +78,7 @@ if(ENABLE_CODEGEN AND EXISTS ${GENERATOR_JAR}) list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.h.gtl:${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h") list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.cpp.gtl:${DBT_CORE_TGC_DIR}/src/iss/${CORE_NAMEL}.cpp") list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl:${DBT_CORE_TGC_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp") - list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME_instr.yaml.gtl:${DBT_CORE_TGC_DIR}/${CORE_NAME_LC}_instr.yaml" + list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME_instr.yaml.gtl:${DBT_CORE_TGC_DIR}/${CORE_NAME_LC}_instr.yaml") set(${CORE_NAME}_OUTPUT_FILES ${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h ${DBT_CORE_TGC_DIR}/src/iss/${CORE_NAMEL}.cpp ${DBT_CORE_TGC_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp) #add_custom_command( From 81aa30224bba9ef2e3c6e3e0bd46b0f5c3ddd91c Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Fri, 1 Oct 2021 23:49:26 +0200 Subject: [PATCH 72/89] fix YAML generation --- cmake/CodeGen.cmake | 2 +- tgfs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/CodeGen.cmake b/cmake/CodeGen.cmake index 27fdc58..60968ff 100644 --- a/cmake/CodeGen.cmake +++ b/cmake/CodeGen.cmake @@ -78,7 +78,7 @@ if(ENABLE_CODEGEN AND EXISTS ${GENERATOR_JAR}) list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.h.gtl:${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h") list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.cpp.gtl:${DBT_CORE_TGC_DIR}/src/iss/${CORE_NAMEL}.cpp") list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl:${DBT_CORE_TGC_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp") - list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME_instr.yaml.gtl:${DBT_CORE_TGC_DIR}/${CORE_NAME_LC}_instr.yaml") + list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME_instr.yaml.gtl:${DBT_CORE_TGC_DIR}/${CORE_NAMEL}_instr.yaml") set(${CORE_NAME}_OUTPUT_FILES ${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h ${DBT_CORE_TGC_DIR}/src/iss/${CORE_NAMEL}.cpp ${DBT_CORE_TGC_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp) #add_custom_command( diff --git a/tgfs b/tgfs index 5866acf..b17682e 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 5866acf5657d3d4fed3f1bef85655b4a58efca1c +Subproject commit b17682e50e72a7b15df347ca5d70343ccce9315d From fda630a8934eba9b2b0153c769e85b518bcc526f Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sun, 17 Oct 2021 12:26:48 +0200 Subject: [PATCH 73/89] update to SCC changes --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index b17682e..2421cb3 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit b17682e50e72a7b15df347ca5d70343ccce9315d +Subproject commit 2421cb3bdd36ac7075d2d7c0acf9751d45b531ab From 48d925a22961ee5c34f99cff989347a85f8eca0e Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sun, 17 Oct 2021 12:32:18 +0200 Subject: [PATCH 74/89] update dbt-core --- dbt-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dbt-core b/dbt-core index 9526738..40ee831 160000 --- a/dbt-core +++ b/dbt-core @@ -1 +1 @@ -Subproject commit 95267382cf7c6d95bd7d9fc4d5910fefd09e51c3 +Subproject commit 40ee831a8cd39a9a1cbe265101fb707c90a5b627 From f0bce2fc13a432994e25406a180a02d181da2fbe Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Thu, 21 Oct 2021 22:54:11 +0200 Subject: [PATCH 75/89] update tgfs --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 2421cb3..334d3fb 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 2421cb3bdd36ac7075d2d7c0acf9751d45b531ab +Subproject commit 334d3fb2969275dad485a60175ee73f74541c4e8 From e9baa5be0ff7e8d34c7f4c5cfc0050cce653bdd0 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sat, 30 Oct 2021 12:59:53 +0200 Subject: [PATCH 76/89] update dbt-core and tgfs --- cmake/CodeGen.cmake | 2 +- dbt-core | 2 +- tgfs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/CodeGen.cmake b/cmake/CodeGen.cmake index 60968ff..cf43b86 100644 --- a/cmake/CodeGen.cmake +++ b/cmake/CodeGen.cmake @@ -78,7 +78,7 @@ if(ENABLE_CODEGEN AND EXISTS ${GENERATOR_JAR}) list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.h.gtl:${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h") list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.cpp.gtl:${DBT_CORE_TGC_DIR}/src/iss/${CORE_NAMEL}.cpp") list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl:${DBT_CORE_TGC_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp") - list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME_instr.yaml.gtl:${DBT_CORE_TGC_DIR}/${CORE_NAMEL}_instr.yaml") + list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME_instr.yaml.gtl:${DBT_CORE_TGC_DIR}/${CORE_NAME}_instr.yaml") set(${CORE_NAME}_OUTPUT_FILES ${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h ${DBT_CORE_TGC_DIR}/src/iss/${CORE_NAMEL}.cpp ${DBT_CORE_TGC_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp) #add_custom_command( diff --git a/dbt-core b/dbt-core index 40ee831..956c634 160000 --- a/dbt-core +++ b/dbt-core @@ -1 +1 @@ -Subproject commit 40ee831a8cd39a9a1cbe265101fb707c90a5b627 +Subproject commit 956c63438a344f04aa418574c24bce37d11c7835 diff --git a/tgfs b/tgfs index 334d3fb..1616f0a 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 334d3fb2969275dad485a60175ee73f74541c4e8 +Subproject commit 1616f0ac9049e1acc1b434fef9e25e34374ef6b4 From e7a84e2afe6190dff85f3883b647be0fb0f1f3f3 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sat, 30 Oct 2021 13:37:50 +0200 Subject: [PATCH 77/89] update tgfs --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 1616f0a..8b6e3ab 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 1616f0ac9049e1acc1b434fef9e25e34374ef6b4 +Subproject commit 8b6e3abd234485187ca9941712c4b0c76300145a From dd483ccc2224fbe73a7b5ed1cadb05e4c3b2c6b8 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Tue, 2 Nov 2021 11:25:50 +0100 Subject: [PATCH 78/89] update submodules --- dbt-core | 2 +- tgfs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dbt-core b/dbt-core index 956c634..bd7124e 160000 --- a/dbt-core +++ b/dbt-core @@ -1 +1 @@ -Subproject commit 956c63438a344f04aa418574c24bce37d11c7835 +Subproject commit bd7124e8a23ff94b948369ee5f2d920c541eb4ad diff --git a/tgfs b/tgfs index 8b6e3ab..ac6d7ea 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 8b6e3abd234485187ca9941712c4b0c76300145a +Subproject commit ac6d7ea5d4e15c7cc18187271b2cd2f59b0f0144 From c842327546ff2b6f8b175896aa95d0c2aa31f2a5 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Tue, 2 Nov 2021 15:10:37 +0100 Subject: [PATCH 79/89] update submodules --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index ac6d7ea..0397461 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit ac6d7ea5d4e15c7cc18187271b2cd2f59b0f0144 +Subproject commit 039746112bcfb7e447fe09091501a3a454220b6a From e62a67cfdbc62caa48ded94c1123012f31cfb1d0 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Thu, 4 Nov 2021 08:53:06 +0100 Subject: [PATCH 80/89] change build setup to only generate files during cmake if in CI --- cmake/CodeGen.cmake | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/cmake/CodeGen.cmake b/cmake/CodeGen.cmake index cf43b86..920e30e 100644 --- a/cmake/CodeGen.cmake +++ b/cmake/CodeGen.cmake @@ -88,14 +88,15 @@ if(ENABLE_CODEGEN AND EXISTS ${GENERATOR_JAR}) # COMMENT "Generating code for ${CORE_NAME}." # USES_TERMINAL VERBATIM #) - #add_custom_target(${CORE_NAME}_cpp DEPENDS ${${CORE_NAME}_OUTPUT_FILES}) - add_custom_target(${CORE_NAME}_cpp - COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} -r ${REPO_DIR} ${${CORE_NAME}_MAPPING} ${INPUT_FILE} - WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} - COMMENT "Generating ISS sources" - BYPRODUCTS ${${CORE_NAME}_OUTPUT_FILES} - USES_TERMINAL - ) + if(NOT DEFINED ENV{CI}) + add_custom_target(${CORE_NAME}_cpp + COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} -r ${REPO_DIR} ${${CORE_NAME}_MAPPING} ${INPUT_FILE} + WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} + COMMENT "Generating ISS sources" + BYPRODUCTS ${${CORE_NAME}_OUTPUT_FILES} + USES_TERMINAL + ) + endif() execute_process( COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} -r ${REPO_DIR} ${${CORE_NAME}_MAPPING} ${INPUT_FILE} WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} From 300e3d86d655a64c76f0e206aae54d0fa1188f1d Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sat, 6 Nov 2021 13:29:47 +0100 Subject: [PATCH 81/89] add proper handling of store access fault (hart_mu_p) --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 0397461..459794b 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 039746112bcfb7e447fe09091501a3a454220b6a +Subproject commit 459794b863c8707071f72667a33a10d7dd1f7c76 From c62a633685dbe8524aee42f369a38274d5e8cdf0 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sun, 7 Nov 2021 16:45:26 +0100 Subject: [PATCH 82/89] update tgfs --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 459794b..49d09a0 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 459794b863c8707071f72667a33a10d7dd1f7c76 +Subproject commit 49d09a05d77adb7602ea1ed7200e649edc7c7f83 From db3a373abbba6a072c16c9b6f9f217a23e96c17d Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Sun, 7 Nov 2021 17:49:35 +0100 Subject: [PATCH 83/89] update tgfs --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 49d09a0..c42e336 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 49d09a05d77adb7602ea1ed7200e649edc7c7f83 +Subproject commit c42e33650928c97fe49fd2d36851d12aca07a497 From b64ac814c1ae71fab5fb385094c339e5e3fe65c8 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Mon, 8 Nov 2021 10:44:49 +0100 Subject: [PATCH 84/89] update tgfs --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index c42e336..bfa8166 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit c42e33650928c97fe49fd2d36851d12aca07a497 +Subproject commit bfa8166223f629dd6c1820580c0d724c7a9745c7 From 9523b275a69f472d220b80dde9cadbc57bba5b43 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Tue, 9 Nov 2021 16:17:02 +0100 Subject: [PATCH 85/89] update tgfs --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index bfa8166..fd98ad9 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit bfa8166223f629dd6c1820580c0d724c7a9745c7 +Subproject commit fd98ad95f6f417fdfa0e5f8686f84b8cf32eceac From b5d6a0e4d3e3b2aa8d3906afb98cfd4f25e596fc Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Tue, 9 Nov 2021 19:47:51 +0100 Subject: [PATCH 86/89] update tgfs --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index fd98ad9..2d79735 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit fd98ad95f6f417fdfa0e5f8686f84b8cf32eceac +Subproject commit 2d7973520b00717eebf7064caab5cfe4564450a1 From 248cb2ac215e6b1195a4a8b1349ba2d82f89f558 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Thu, 11 Nov 2021 08:36:07 +0100 Subject: [PATCH 87/89] update scc and tgfs --- scc | 2 +- tgfs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scc b/scc index ddc4bd5..00324cb 160000 --- a/scc +++ b/scc @@ -1 +1 @@ -Subproject commit ddc4bd555d0ac66bac158e5f14ea780e75aa6695 +Subproject commit 00324cb2021cfe80cf5df075abe02597df438717 diff --git a/tgfs b/tgfs index 2d79735..f90c48e 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 2d7973520b00717eebf7064caab5cfe4564450a1 +Subproject commit f90c48e88142347a53e5c49c0f2f181bd069ce6c From 4619016f01a2bd3d4e506cbe81e889cef38f7a3b Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Thu, 11 Nov 2021 09:58:33 +0100 Subject: [PATCH 88/89] update tgfs --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index f90c48e..43d7b99 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit f90c48e88142347a53e5c49c0f2f181bd069ce6c +Subproject commit 43d7b9990516ac62bc7586cba11b92e4fcbcc32a From d2ca7475077ce94116d09932433e9030b7aa3544 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Thu, 11 Nov 2021 12:16:48 +0100 Subject: [PATCH 89/89] add TGC_D_XRB_NN definition --- tgfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgfs b/tgfs index 43d7b99..7452c5d 160000 --- a/tgfs +++ b/tgfs @@ -1 +1 @@ -Subproject commit 43d7b9990516ac62bc7586cba11b92e4fcbcc32a +Subproject commit 7452c5df431cd99a316bd8c89c5d378f29239fba