From 61cfc6d4ceb0d5b13e039012d3fa0d153d841a24 Mon Sep 17 00:00:00 2001 From: "Daniel R. Carvalho" Date: Wed, 8 Jan 2020 09:19:42 +0100 Subject: [PATCH] configs: Fix relative import in non-package in configs Fix "ValueError: Attempted relative import in non-package" Python "compilation" fails when running, among other configs: ./build/X86/gem5.fast ./configs/example/ruby_random_test.py The files in the configs/folder_name folder that are not named "folder_name.py" are not packages, and thus Python does not allow relative imports in them. This fixes the bug reported in https://gem5.atlassian.net/projects/GEM5/issues/GEM5-188 Change-Id: Ic8befc30e4cff1d6e8d2f5db1b7f9b89b0fc1395 Signed-off-by: Daniel R. Carvalho Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24163 Reviewed-by: Bobby R. Bruce Maintainer: Bobby R. Bruce Tested-by: kokoro --- configs/common/Benchmarks.py | 2 +- configs/common/CacheConfig.py | 2 +- configs/common/FSConfig.py | 4 ++-- configs/common/MemConfig.py | 2 +- configs/common/Options.py | 6 +++--- configs/common/Simulation.py | 2 +- configs/ruby/GPU_RfO.py | 4 ++-- configs/ruby/MI_example.py | 4 ++-- configs/topologies/Cluster.py | 2 +- configs/topologies/Crossbar.py | 2 +- configs/topologies/CrossbarGarnet.py | 2 +- configs/topologies/MeshDirCorners_XY.py | 2 +- configs/topologies/Mesh_XY.py | 2 +- configs/topologies/Mesh_westfirst.py | 2 +- configs/topologies/Pt2Pt.py | 2 +- 15 files changed, 20 insertions(+), 20 deletions(-) diff --git a/configs/common/Benchmarks.py b/configs/common/Benchmarks.py index 5d73fc394..4c905e3e1 100644 --- a/configs/common/Benchmarks.py +++ b/configs/common/Benchmarks.py @@ -27,7 +27,7 @@ from __future__ import print_function from __future__ import absolute_import -from .SysPaths import script, disk, binary +from common.SysPaths import script, disk, binary from os import environ as env from m5.defines import buildEnv diff --git a/configs/common/CacheConfig.py b/configs/common/CacheConfig.py index ff2f0dab7..91087fb82 100644 --- a/configs/common/CacheConfig.py +++ b/configs/common/CacheConfig.py @@ -44,7 +44,7 @@ from __future__ import absolute_import import m5 from m5.objects import * -from .Caches import * +from common.Caches import * from common import ObjectList def config_cache(options, system): diff --git a/configs/common/FSConfig.py b/configs/common/FSConfig.py index c200e61ff..691a04a27 100644 --- a/configs/common/FSConfig.py +++ b/configs/common/FSConfig.py @@ -43,8 +43,8 @@ from __future__ import absolute_import import m5 from m5.objects import * from m5.util import * -from .Benchmarks import * -from . import ObjectList +from common.Benchmarks import * +from common import ObjectList # Populate to reflect supported os types per target ISA os_types = { 'mips' : [ 'linux' ], diff --git a/configs/common/MemConfig.py b/configs/common/MemConfig.py index e186ea58d..85494d3f3 100644 --- a/configs/common/MemConfig.py +++ b/configs/common/MemConfig.py @@ -38,7 +38,7 @@ from __future__ import absolute_import import m5.objects from common import ObjectList -from . import HMC +from common import HMC def create_mem_ctrl(cls, r, i, nbr_mem_ctrls, intlv_bits, intlv_size): """ diff --git a/configs/common/Options.py b/configs/common/Options.py index ef71fd3e1..b2db1ebd2 100644 --- a/configs/common/Options.py +++ b/configs/common/Options.py @@ -43,8 +43,8 @@ import m5 from m5.defines import buildEnv from m5.objects import * -from .Benchmarks import * -from . import ObjectList +from common.Benchmarks import * +from common import ObjectList vio_9p_help = """\ Enable the Virtio 9P device and set the path to share. The default 9p path is @@ -407,7 +407,7 @@ def addSEOptions(parser): def addFSOptions(parser): - from .FSConfig import os_types + from common.FSConfig import os_types # Simulation options parser.add_option("--timesync", action="store_true", diff --git a/configs/common/Simulation.py b/configs/common/Simulation.py index eadc8defb..73a0ff541 100644 --- a/configs/common/Simulation.py +++ b/configs/common/Simulation.py @@ -45,7 +45,7 @@ from os import getcwd from os.path import join as joinpath from common import CpuConfig -from . import ObjectList +from common import ObjectList import m5 from m5.defines import buildEnv diff --git a/configs/ruby/GPU_RfO.py b/configs/ruby/GPU_RfO.py index 8714a6a25..449c169b2 100644 --- a/configs/ruby/GPU_RfO.py +++ b/configs/ruby/GPU_RfO.py @@ -34,8 +34,8 @@ import m5 from m5.objects import * from m5.defines import buildEnv from m5.util import addToPath -from .Ruby import create_topology -from .Ruby import send_evicts +from Ruby import create_topology +from Ruby import send_evicts addToPath('../') diff --git a/configs/ruby/MI_example.py b/configs/ruby/MI_example.py index dcdb974e8..4f17f51b0 100644 --- a/configs/ruby/MI_example.py +++ b/configs/ruby/MI_example.py @@ -29,8 +29,8 @@ import math import m5 from m5.objects import * from m5.defines import buildEnv -from .Ruby import create_topology, create_directories -from .Ruby import send_evicts +from Ruby import create_topology, create_directories +from Ruby import send_evicts # # Declare caches used by the protocol diff --git a/configs/topologies/Cluster.py b/configs/topologies/Cluster.py index 9d7f41e76..76ee50cc5 100644 --- a/configs/topologies/Cluster.py +++ b/configs/topologies/Cluster.py @@ -27,7 +27,7 @@ from __future__ import print_function from __future__ import absolute_import -from .BaseTopology import BaseTopology +from topologies.BaseTopology import BaseTopology class Cluster(BaseTopology): """ A cluster is a group of nodes which are all one hop from eachother diff --git a/configs/topologies/Crossbar.py b/configs/topologies/Crossbar.py index a2ddf4997..8248fdf39 100644 --- a/configs/topologies/Crossbar.py +++ b/configs/topologies/Crossbar.py @@ -30,7 +30,7 @@ from __future__ import absolute_import from m5.params import * from m5.objects import * -from .BaseTopology import SimpleTopology +from topologies.BaseTopology import SimpleTopology class Crossbar(SimpleTopology): description='Crossbar' diff --git a/configs/topologies/CrossbarGarnet.py b/configs/topologies/CrossbarGarnet.py index 418150c5b..ef58f710a 100644 --- a/configs/topologies/CrossbarGarnet.py +++ b/configs/topologies/CrossbarGarnet.py @@ -30,7 +30,7 @@ from __future__ import absolute_import from m5.params import * from m5.objects import * -from .BaseTopology import SimpleTopology +from topologies.BaseTopology import SimpleTopology class CrossbarGarnet(SimpleTopology): description='CrossbarGarnet' diff --git a/configs/topologies/MeshDirCorners_XY.py b/configs/topologies/MeshDirCorners_XY.py index 586f3c205..6d97f8228 100644 --- a/configs/topologies/MeshDirCorners_XY.py +++ b/configs/topologies/MeshDirCorners_XY.py @@ -32,7 +32,7 @@ from m5.objects import * from common import FileSystemConfig -from .BaseTopology import SimpleTopology +from topologies.BaseTopology import SimpleTopology # Creates a Mesh topology with 4 directories, one at each corner. # One L1 (and L2, depending on the protocol) are connected to each router. diff --git a/configs/topologies/Mesh_XY.py b/configs/topologies/Mesh_XY.py index aa16a14b9..3ae34857a 100644 --- a/configs/topologies/Mesh_XY.py +++ b/configs/topologies/Mesh_XY.py @@ -33,7 +33,7 @@ from m5.objects import * from common import FileSystemConfig -from .BaseTopology import SimpleTopology +from topologies.BaseTopology import SimpleTopology # Creates a generic Mesh assuming an equal number of cache # and directory controllers. diff --git a/configs/topologies/Mesh_westfirst.py b/configs/topologies/Mesh_westfirst.py index 57de1135b..057fe1240 100644 --- a/configs/topologies/Mesh_westfirst.py +++ b/configs/topologies/Mesh_westfirst.py @@ -31,7 +31,7 @@ from __future__ import absolute_import from m5.params import * from m5.objects import * -from .BaseTopology import SimpleTopology +from topologies.BaseTopology import SimpleTopology # Creates a generic Mesh assuming an equal number of cache # and directory controllers. diff --git a/configs/topologies/Pt2Pt.py b/configs/topologies/Pt2Pt.py index b1aed2065..335ff1518 100644 --- a/configs/topologies/Pt2Pt.py +++ b/configs/topologies/Pt2Pt.py @@ -31,7 +31,7 @@ from __future__ import absolute_import from m5.params import * from m5.objects import * -from .BaseTopology import SimpleTopology +from topologies.BaseTopology import SimpleTopology class Pt2Pt(SimpleTopology): description='Pt2Pt' -- 2.30.2