diff --git a/.cproject b/.cproject index 481c19d..fee098f 100644 --- a/.cproject +++ b/.cproject @@ -16,9 +16,12 @@ - + + @@ -42,10 +45,77 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -53,6 +123,9 @@ + + + @@ -70,4 +143,5 @@ + \ No newline at end of file diff --git a/.gitignore b/.gitignore index 80910c6..cce22fc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ /build/ /Debug/ -.settings \ No newline at end of file +.settings +/.venv +/Debug-PA/ +/_build/ +/install/ diff --git a/.gitmodules b/.gitmodules index b233274..91a9dca 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +1,6 @@ [submodule "scc"] path = scc url = https://github.com/Minres/SystemC-Components.git -[submodule "coredsl"] - path = coredsl - url = https://git.minres.com/DBT-RISE/CoreDSL-Generator.git [submodule "dbt-rise-core"] path = dbt-rise-core url = https://github.com/Minres/DBT-RISE-Core.git diff --git a/CMakeLists.txt b/CMakeLists.txt index c5322f1..ea67795 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,16 +3,18 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${C project(TGFS-ISS VERSION 1.0.0 LANGUAGES CXX) +option(CODEGEN "enable generation of ISS code" ON) set(CORE_NAME TGC_C CACHE STRING "The core to build the ISS for" ) set(WITH_LLVM FALSE CACHE BOOL "Build LLVM based backend") -include(GNUInstallDirs) - set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_POSITION_INDEPENDENT_CODE ON) +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) +set(CMAKE_INSTALL_RPATH "${ORIGIN}") include(CheckCXXCompilerFlag) +include(GNUInstallDirs) CHECK_CXX_COMPILER_FLAG("-march=native" COMPILER_SUPPORTS_MARCH_NATIVE) if(COMPILER_SUPPORTS_MARCH_NATIVE) @@ -33,10 +35,15 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") endif() include(ConanInline) +if(BUILD_SHARED_LIBS) + set(SHARED_FLAG "True") +else() + set(SHARED_FLAG "False") +endif() set(CONAN_BOOST_OPTIONS boost:fPIC=True -boost:shared=True +boost:shared=${SHARED_FLAG} boost:header_only=False boost:without_contract=True boost:without_graph=True @@ -57,33 +64,63 @@ 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} + +set(B2_VERSION 4.9.3) +set(CONAN_PACKAGE_LIST + fmt/8.0.1 + spdlog/1.9.2 + boost/1.75.0 + gsl-lite/0.37.0 + elfio/3.8 + tcc/0.9.27 + lz4/1.9.3 + yaml-cpp/0.7.0 + jsoncpp/1.9.5 +) + +set(CONAN_PACKAGE_OPTIONS fmt:header_only=True ${CONAN_BOOST_OPTIONS}) +if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") + list(APPEND CONAN_PACKAGE_OPTIONS lua:compile_as_cpp=False) + list(APPEND CONAN_PACKAGE_LIST tcc/0.9.27 seasocks/1.4.4 lua/5.4.3) +endif() +if(NOT USE_CWR_SYSTEMC AND NOT USE_NCSC_SYSTEMC AND NOT DEFINED ENV{SYSTEMC_HOME}) + set(CONAN_PACKAGE_LIST ${CONAN_PACKAGE_LIST} systemc/2.3.3 systemc-cci/1.0.0 ) - set(CONAN_SETTINGS ${CONAN_SETTINGS} - #systemc:phase_cb=False - systemc-cci:shared=False + set(CONAN_PACKAGE_OPTIONS ${CONAN_PACKAGE_OPTIONS} + systemc:shared=${SHARED_FLAG} + systemc-cci:shared=${SHARED_FLAG} ) endif() conan_check() -conan_add_remote(NAME minres URL https://artifactory.minres.com/artifactory/api/conan/oss) -conan_cmake_configure(REQUIRES ${CONAN_PACKAGES} +conan_add_remote(NAME minres URL https://git.minres.com/api/packages/Tooling/conan) +# Boost on CentOS 7 quirks: the b2 of conan-center is build against a newer libstdc++ and therefore does not run +# with the oooooold libs on CentOS 7. Therefore we build our own version of b2 if it is not there +set(B2_META $ENV{HOME}/.conan/data/b2/${B2_VERSION}/_/_/metadata.json) +if(DEFINED ENV{CONAN_USER_HOME}) + set(B2_META $ENV{CONAN_USER_HOME}/.conan/data/b2/${B2_VERSION}/_/_/metadata.json) +endif() +if(NOT EXISTS ${B2_META}) + conan_configure(REQUIRES b2/${B2_VERSION}) + conan_cmake_autodetect(settings) + conan_cmake_install(PATH_OR_REFERENCE . BUILD b2 SETTINGS ${settings}) +endif() +# Boost on CentOS 7 quirks end +conan_cmake_configure(REQUIRES ${CONAN_PACKAGE_LIST} GENERATORS cmake_find_package - OPTIONS ${CONAN_SETTINGS} + OPTIONS ${CONAN_PACKAGE_OPTIONS} ) +conan_cmake_autodetect(settings) conan_install() - -find_package(tcc) +set(CONAN_CMAKE_SILENT_OUTPUT ON) +find_package(tcc QUIET) find_package(elfio) find_package(fmt) +find_package(spdlog) 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. set(BOOST_ROOT ${CONAN_BOOST_ROOT}) find_package(Threads) @@ -104,13 +141,6 @@ if (ENABLE_CLANG_TIDY) endif() endif() -include(CodeGen) -if(NOT CORE_DSL_INPUT_DIR) - set(CORE_DSL_INPUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tgfs/gen_input) -endif() - -gen_coredsl(${CORE_NAME} ${CORE_DSL_INPUT_DIR}/${CORE_NAME}.core_desc interp) - add_subdirectory(dbt-rise-core) add_subdirectory(scc) add_subdirectory(dbt-rise-tgc) diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..086dfce --- /dev/null +++ b/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2016, MINRES Technologies GmbH +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Modulefile b/Modulefile index 27856e3..6a191ef 100644 --- a/Modulefile +++ b/Modulefile @@ -13,22 +13,9 @@ if { $distro == "CentOS" && ![info exists ::env(PROJECT)] && ![info exists ::env 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 - setenv JAVA_HOME $::env(HOME)/.sdkman/candidates/java/11.0.9.hs-adpt -} - -if {![info exists ::env(PROJECT)] && [file exists $::env(HOME)/.sdkman/candidates/maven/3.6.3] != 1} { - 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 -} - -module load tools/cmake tools/gcc-riscv64/9.2.0 +module load tools/cmake +#module load tools/gcc-riscv64/9.2.0 +module load tools/gcc-riscv32-unknown-elf/11 setenv PROJECT TGFS-ISS diff --git a/cmake/CodeGen.cmake b/cmake/CodeGen.cmake deleted file mode 100644 index eddd921..0000000 --- a/cmake/CodeGen.cmake +++ /dev/null @@ -1,113 +0,0 @@ -cmake_minimum_required(VERSION 3.16) -option(ENABLE_CODEGEN "Enable code generation for supported cores" ON) - -set(ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/..) -set(DBT_CORE_TGC_DIR ${ROOT_DIR}/dbt-rise-tgc) - -#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 ${ROOT_DIR}/coredsl - 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 - --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(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_DIR} for ${BACKEND}") - - string(TOUPPER ${BACKEND} BE_UPPER) - string(TOLOWER ${CORE_NAME} CORE_NAMEL) - - 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 -c $CORE_NAME -b $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_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}_instr.yaml") - list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME_cyles.txt.gtl:${DBT_CORE_TGC_DIR}/${CORE_NAME}_cycles.json:no") - - 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 - #) - if(NOT DEFINED ENV{CI}) - add_custom_target(${CORE_NAME}_cpp - COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} ${${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} ${${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) - 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() diff --git a/coredsl b/coredsl deleted file mode 160000 index 2258a1c..0000000 --- a/coredsl +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2258a1cb004ddaaa839978b7044963355ad83bfb diff --git a/dbt-rise-core b/dbt-rise-core index dbc8066..fa6166a 160000 --- a/dbt-rise-core +++ b/dbt-rise-core @@ -1 +1 @@ -Subproject commit dbc8066315f24bb18ed2fda4767360d48dc1fc16 +Subproject commit fa6166ae43b90d4263e9d50402a055d6172ccb69 diff --git a/dbt-rise-tgc b/dbt-rise-tgc index b6824e6..899939d 160000 --- a/dbt-rise-tgc +++ b/dbt-rise-tgc @@ -1 +1 @@ -Subproject commit b6824e68e91742097c8e8976221fd96a0eb6bbec +Subproject commit 899939d6c662ffe442ba9a5204e19b78c5dfda32 diff --git a/generate.sh b/generate.sh deleted file mode 100644 index 5d7bacd..0000000 --- a/generate.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/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 ;; - b) BACKEND=$OPTARG ;; - h) print_help ;; - esac -done -shift $((OPTIND-1)) - -if [ -z "$CORE_NAME" ]; then - echo "core name missing!" - exit 1 -fi -if [ -z "$BACKEND" ]; then - echo "core variant missing!" - exit 1 -fi - - -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=$1 - -REPO_DIR=tgfs/gen_input/CoreDSL-Instruction-Set-Description -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}/${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) - -$GENERATOR -c $CORE_NAME -r $REPO_DIR $MAPPING $INPUT_FILE - diff --git a/scc b/scc index 9c4dd4a..dfb06a9 160000 --- a/scc +++ b/scc @@ -1 +1 @@ -Subproject commit 9c4dd4aacbd9bbe66041476950a17ae3b29569da +Subproject commit dfb06a90801b3a7e55b5d4a03d8f161a26063a1c