From 5672ff31b51e58ca1f7f06f8124a78b10c62de33 Mon Sep 17 00:00:00 2001 From: Olof Kindgren Date: Fri, 15 Jan 2021 15:13:01 +0100 Subject: [PATCH] Update FuseSoC SweRV config generator Adapt swerv_config_gen.py to changes in the swerv.config script in the SweRV EL2 1.3 release --- configs/swerv_config_gen.py | 32 ++++++++------------------------ 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/configs/swerv_config_gen.py b/configs/swerv_config_gen.py index 1463d0f..074d291 100644 --- a/configs/swerv_config_gen.py +++ b/configs/swerv_config_gen.py @@ -1,55 +1,39 @@ #!/usr/bin/env python3 from fusesoc.capi2.generator import Generator import os -import shutil import subprocess import sys -import tempfile -if sys.version[0] == '2': - devnull = open(os.devnull, 'w') -else: - from subprocess import DEVNULL as devnull class SwervConfigGenerator(Generator): def run(self): script_root = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '..')) files = [ - {"configs/snapshots/default/common_defines.vh" : { + {"common_defines.vh" : { "copyto" : "config/common_defines.vh", "file_type" : "systemVerilogSource"}}, - {"configs/snapshots/default/el2_pdef.vh" : { + {"el2_pdef.vh" : { "copyto" : "config/el2_pdef.vh", "file_type" : "systemVerilogSource"}}, - {"configs/snapshots/default/el2_param.vh" : { + {"el2_param.vh" : { "is_include_file" : True, "file_type" : "systemVerilogSource"}}, - {"configs/snapshots/default/pic_map_auto.h" : { + {"pic_map_auto.h" : { "is_include_file" : True, "file_type" : "systemVerilogSource"}}] - tmp_dir = os.path.join(tempfile.mkdtemp(), 'core') - shutil.copytree(script_root, tmp_dir) - - cwd = tmp_dir - env = os.environ.copy() - env['RV_ROOT'] = tmp_dir + env['RV_ROOT'] = script_root + env['BUILD_PATH'] = os.getcwd() args = ['configs/swerv.config'] + self.config.get('args', []) - rc = subprocess.call(args, cwd=cwd, env=env, stdout=devnull) + + rc = subprocess.call(args, cwd=script_root, env=env, stdout=subprocess.DEVNULL) if rc: exit(1) - filenames = [] for f in files: for k in f: filenames.append(k) - for f in filenames: - d = os.path.dirname(f) - if d and not os.path.exists(d): - os.makedirs(d) - shutil.copy2(os.path.join(cwd, f),f) - self.add_files(files) g = SwervConfigGenerator()