configs: Use absolute import paths
authorAndreas Sandberg <andreas.sandberg@arm.com>
Mon, 25 Feb 2019 11:55:02 +0000 (11:55 +0000)
committerAndreas Sandberg <andreas.sandberg@arm.com>
Mon, 18 Mar 2019 15:13:52 +0000 (15:13 +0000)
Use absoluate import paths to be Python 3 compatible. This also
imports absolute_import from __future__ to ensure that Python 2.7
behaves the same way as Python 3.

Change-Id: Ica06ed95814e9cd3e768b3e1785075e36f6e56d0
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/16708
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
74 files changed:
configs/common/BPConfig.py
configs/common/Benchmarks.py
configs/common/CacheConfig.py
configs/common/Caches.py
configs/common/CpuConfig.py
configs/common/FSConfig.py
configs/common/GPUTLBConfig.py
configs/common/GPUTLBOptions.py
configs/common/HMC.py
configs/common/MemConfig.py
configs/common/Options.py
configs/common/PlatformConfig.py
configs/common/SimpleOpts.py
configs/common/Simulation.py
configs/common/SysPaths.py
configs/common/__init__.py
configs/common/cores/__init__.py
configs/common/cores/arm/HPI.py
configs/common/cores/arm/O3_ARM_v7a.py
configs/common/cores/arm/__init__.py
configs/common/cores/arm/ex5_LITTLE.py
configs/common/cores/arm/ex5_big.py
configs/common/cpu2000.py
configs/dram/lat_mem_rd.py
configs/dram/low_power_sweep.py
configs/dram/sweep.py
configs/example/apu_se.py
configs/example/arm/devices.py
configs/example/arm/dist_bigLITTLE.py
configs/example/arm/fs_bigLITTLE.py
configs/example/arm/fs_power.py
configs/example/arm/starter_fs.py
configs/example/arm/starter_se.py
configs/example/etrace_replay.py
configs/example/fs.py
configs/example/garnet_synth_traffic.py
configs/example/hmc_hello.py
configs/example/hmctest.py
configs/example/memcheck.py
configs/example/memtest.py
configs/example/read_config.py
configs/example/ruby_direct_test.py
configs/example/ruby_gpu_random_test.py
configs/example/ruby_mem_test.py
configs/example/ruby_random_test.py
configs/example/se.py
configs/learning_gem5/part1/caches.py
configs/learning_gem5/part1/simple.py
configs/learning_gem5/part1/two_level.py
configs/learning_gem5/part2/hello_goodbye.py
configs/learning_gem5/part2/run_simple.py
configs/learning_gem5/part2/simple_cache.py
configs/learning_gem5/part2/simple_memobj.py
configs/learning_gem5/part3/msi_caches.py
configs/learning_gem5/part3/ruby_caches_MI_example.py
configs/learning_gem5/part3/ruby_test.py
configs/learning_gem5/part3/simple_ruby.py
configs/learning_gem5/part3/test_caches.py
configs/network/Network.py
configs/network/__init__.py
configs/ruby/GPU_RfO.py
configs/ruby/MI_example.py
configs/ruby/Ruby.py
configs/splash2/cluster.py
configs/splash2/run.py
configs/topologies/BaseTopology.py
configs/topologies/Cluster.py
configs/topologies/Crossbar.py
configs/topologies/CrossbarGarnet.py
configs/topologies/MeshDirCorners_XY.py
configs/topologies/Mesh_XY.py
configs/topologies/Mesh_westfirst.py
configs/topologies/Pt2Pt.py
configs/topologies/__init__.py

index c4e40e79168f0fe9253091cac31794f6b45b8e98..65e6d65a2c1237dcbc8646ec6fc0cf73cc1c1c9b 100644 (file)
@@ -30,6 +30,7 @@
 # hanle branch predictors instead of memory controllers / CPUs
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 from m5 import fatal
 import m5.objects
index f7d1b4d1e41e2ea55b1000d20543b4b4595d6f0c..3cf963bd50bcebbf8462412afcc8b27f3d39baa1 100644 (file)
@@ -27,8 +27,9 @@
 # Authors: Ali Saidi
 
 from __future__ import print_function
+from __future__ import absolute_import
 
-from SysPaths import script, disk, binary
+from .SysPaths import script, disk, binary
 from os import environ as env
 from m5.defines import buildEnv
 
index 368356f069f43082b882c5b891e9b9b49e15ef45..ab9d267356ff11cdf4b2a7ce49faa42a2329cea0 100644 (file)
 #
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import m5
 from m5.objects import *
-from Caches import *
+from .Caches import *
 
 def config_cache(options, system):
     if options.external_memory_system and (options.caches or options.l2cache):
@@ -57,13 +58,14 @@ def config_cache(options, system):
 
     if options.cpu_type == "O3_ARM_v7a_3":
         try:
-            from cores.arm.O3_ARM_v7a import *
+            import cores.arm.O3_ARM_v7a as core
         except:
             print("O3_ARM_v7a_3 is unavailable. Did you compile the O3 model?")
             sys.exit(1)
 
         dcache_class, icache_class, l2_cache_class, walk_cache_class = \
-            O3_ARM_v7a_DCache, O3_ARM_v7a_ICache, O3_ARM_v7aL2, \
+            core.O3_ARM_v7a_DCache, core.O3_ARM_v7a_ICache, \
+            core.O3_ARM_v7aL2, \
             O3_ARM_v7aWalkCache
     else:
         dcache_class, icache_class, l2_cache_class, walk_cache_class = \
index 926a41d07b73777a0db2d5e308526c2fc6bbabf7..f8edc8b6b25efc9fd7999993c4e149f46bd4a4a4 100644 (file)
@@ -38,6 +38,9 @@
 #
 # Authors: Lisa Hsu
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 from m5.defines import buildEnv
 from m5.objects import *
 
index 80e3766ef87531f41a993d3b568691923509246f..831287ddcda61dd643eff4b9927d6788aac1968e 100644 (file)
@@ -36,6 +36,7 @@
 # Authors: Andreas Sandberg
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 from m5 import fatal
 import m5.objects
@@ -134,7 +135,8 @@ from m5.defines import buildEnv
 from importlib import import_module
 for package in [ "generic", buildEnv['TARGET_ISA']]:
     try:
-        package = import_module(".cores." + package, package=__package__)
+        package = import_module(".cores." + package,
+                                package=__name__.rpartition('.')[0])
     except ImportError:
         # No timing models for this ISA
         continue
index 13c29ef1c108a5309946bf921c6a409137540764..8b67c85e145104044c6f212610f0e9a0a8836202 100644 (file)
 # Authors: Kevin Lim
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 from m5.objects import *
-from Benchmarks import *
 from m5.util import *
-from common import PlatformConfig
+from .Benchmarks import *
+from . import PlatformConfig
 
 # Populate to reflect supported os types per target ISA
 os_types = { 'alpha' : [ 'linux' ],
index 80aad0b789c1f0885b54674afd505312c7dedc9e..d93b68e2cc05a5c5a9b9a64358936dd565b470a2 100644 (file)
@@ -32,6 +32,7 @@
 # Authors: Lisa Hsu
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 # Configure the TLB hierarchy
 # Places which would probably need to be modified if you
index 9e370c13154215a24a2860a5baf5786dfb3a4172..fdcec5da2133af97621a9d71e03ad01cd0078a94 100644 (file)
@@ -31,6 +31,9 @@
 #
 #  Authors: Myrto Papadopoulou
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 def tlb_options(parser):
 
     #===================================================================
index 61e521d527b54669b28f1df3b393d6d7c2a305f5..08b217da21507214241c10dd095674dc63426e32 100644 (file)
 #   2 Crossbars are connected to only local vaults. From other 2 crossbar, a
 #   request can be forwarded to any other vault.
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 import argparse
 
 import m5
index b6e6663f94d09a8a75806f3357a05380506da08a..29c41388ca35b3e3eb943c9b878dbe9f0930c5f5 100644 (file)
 #          Andreas Hansson
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import m5.objects
 import inspect
 import sys
-import HMC
 from textwrap import  TextWrapper
+from . import HMC
 
 # Dictionary of mapping names of real memory controller models to
 # classes.
index 7b231c7df91cb9a675b01768162d7eb74a97685c..6d9c9cf3710e5b54179dd6c01b8fd67e66d58828 100644 (file)
 #
 # Authors: Lisa Hsu
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 import m5
 from m5.defines import buildEnv
 from m5.objects import *
-from common.Benchmarks import *
 
-from common import CpuConfig
-from common import BPConfig
-from common import MemConfig
-from common import PlatformConfig
+from .Benchmarks import *
+from . import CpuConfig
+from . import BPConfig
+from . import MemConfig
+from . import PlatformConfig
 
 def _listCpuTypes(option, opt, value, parser):
     CpuConfig.print_cpu_list()
@@ -330,7 +333,7 @@ def addSEOptions(parser):
                       help="Redirect stderr to a file.")
 
 def addFSOptions(parser):
-    from FSConfig import os_types
+    from .FSConfig import os_types
 
     # Simulation options
     parser.add_option("--timesync", action="store_true",
index ae55d1a164fceba29b8a902ba4ebe5c8db89d4e4..0c2ef364998bd3189299f5b9a3f26955900d0786 100644 (file)
@@ -39,6 +39,7 @@
 #          Pierre-Yves Peneau
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import m5.objects
 import inspect
index e2f122eab293e50ff04256ad207799001cec5c8a..32e3447b0f5d63cd648510aaec100df7496cc89e 100644 (file)
@@ -27,6 +27,9 @@
 #
 # Authors: Jason Power
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 """ Options wrapper for simple gem5 configuration scripts
 
 This module wraps the optparse class so that we can register options
index 5b1ab01778301ea348c060e6985aa6a62961174d..d1b623dd1406ad3b4ec6371b2696adea2b1325b4 100644 (file)
 # Authors: Lisa Hsu
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import sys
 from os import getcwd
 from os.path import join as joinpath
 
-from common import CpuConfig
-from common import BPConfig
-from common import MemConfig
+from . import CpuConfig
+from . import BPConfig
+from . import MemConfig
 
 import m5
 from m5.defines import buildEnv
index 17d5fb8640009a707d24f9bdda29e3229a8efb5a..e5d9f83b26a1c92ea9f42f7fd6edfd1bd52e3b9a 100644 (file)
@@ -26,6 +26,8 @@
 #
 # Authors: Ali Saidi
 
+from __future__ import print_function
+from __future__ import absolute_import
 
 from six import string_types
 import os, sys
index 1829385b6a875cf3c07690ab594fb29a5d83d35c..5e72a60525db4b9177a670fabf82e676e013001c 100644 (file)
@@ -34,3 +34,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
 # Authors: Andreas Hansson
+
+from __future__ import print_function
+from __future__ import absolute_import
+
index 7a2173eab2ea559b5f3b74ebf0c57510c0a98cfd..c61e6d8b50e8e87b26896b19448e83e75a245126 100644 (file)
@@ -34,3 +34,6 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
 # Authors: Andreas Sandberg
+
+from __future__ import print_function
+from __future__ import absolute_import
index d105790e3594636d7b1d633521698c0e37ea57c3..01c088470300a330a844dbc23daab244a32c6784 100644 (file)
@@ -46,6 +46,7 @@ at: http://www.arm.com/ResearchEnablement/SystemModeling
 """
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 from m5.objects import *
 
index b0ba1280fce9f20b6afe5b6b990acdde00365682..3a1f9af7c151050d9df6611015c4c4d348cad05a 100644 (file)
@@ -26,6 +26,8 @@
 #
 # Authors: Ron Dreslinski
 
+from __future__ import print_function
+from __future__ import absolute_import
 
 from m5.objects import *
 
index 582e6b859bc2c5f0322ee88409c1db6cdccbca5c..b90b61eac50f2aa6b9d748f80e4f064fc81ef807 100644 (file)
@@ -35,6 +35,9 @@
 #
 # Authors: Andreas Sandberg
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 from pkgutil import iter_modules
 from importlib import import_module
 
@@ -44,7 +47,7 @@ _cpu_modules = [
 
 for c in _cpu_modules:
     try:
-        import_module("." + c, package=__package__)
+        import_module("." + c, package=__name__)
     except NameError:
         # Failed to import a CPU model due to a missing
         # dependency. This typically happens if gem5 has been compiled
index 1ae0f16df7f167ef21b585ab8f6dc02f9993f2f3..85fdd55419361444eae2fa790aebddb8ac54db34 100644 (file)
@@ -29,6 +29,9 @@
 #          Anastasiia Butko
 #          Louisa Bessad
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 from m5.objects import *
 
 #-----------------------------------------------------------------------
index 96323f4358b73fcbd50389f0cf108fa8a1a20fe5..445aa3255b9fc0d9581336773595d04904566f48 100644 (file)
@@ -29,6 +29,9 @@
 #          Anastasiia Butko
 #          Louisa Bessad
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 from m5.objects import *
 
 #-----------------------------------------------------------------------
index 8143e45dec9e8dd00c5d5cf6a66a82f73c9ec7fa..730a478783d6df722953b6002742f655ce952db5 100644 (file)
@@ -27,6 +27,7 @@
 # Authors: Nathan Binkert
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import os
 import sys
index a1aa77df41de4e709aa8871a3103c02679d40f44..fd92a63507d9e4566b93145e18269defd93d56d0 100644 (file)
@@ -36,6 +36,7 @@
 # Authors: Andreas Hansson
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import gzip
 import optparse
index e9714a6dcdecb1b9b6eb4f9d1332d6c955c1a668..dc8de01e84f1ac51b466f2518e9230644788b531 100644 (file)
@@ -37,6 +37,7 @@
 #          Andreas Hansson
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import argparse
 
@@ -45,8 +46,9 @@ from m5.objects import *
 from m5.util import addToPath
 from m5.stats import periodicStatDump
 
-addToPath(os.getcwd() + '/configs/common')
-import MemConfig
+addToPath('../')
+
+from common import MemConfig
 
 # This script aims at triggering low power state transitions in the DRAM
 # controller. The traffic generator is used in DRAM mode and traffic
index 10ef7486d767399ac5762bdf2dff5e4a948e1d99..61b3164176c7e54a8751572727ed9791ccdcb560 100644 (file)
@@ -36,6 +36,7 @@
 # Authors: Andreas Hansson
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import math
 import optparse
index 146863d62da47c66bf44d990efceb82cd5514cdd..2b2d9c853afa3574229276dd85df827d5018f9d5 100644 (file)
@@ -32,6 +32,7 @@
 # Authors: Sooraj Puthoor
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import optparse, os, re
 import math
index 0c08ea23d3d56ac205900f4dcdf1a47aac3811ba..c7d5a7c4d32428f7334215f7284ad56e29e91e8b 100644 (file)
@@ -38,6 +38,9 @@
 
 # System components used by the bigLITTLE.py configuration script
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 import m5
 from m5.objects import *
 m5.util.addToPath('../../')
index 5194fc7e6ce301769397d39040b32076e2d370f7..5bce3fd82708aa5584892f2199373f765bee9b2b 100644 (file)
@@ -38,6 +38,9 @@
 # This configuration file extends the example ARM big.LITTLE(tm)
 # configuration to enabe dist-gem5 siulations of big.LITTLE systems.
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 import argparse
 import os
 
index f363872a3c4aeab5617e0e408994fe3a100cf9fa..678b038eae610984083bcb0935767b5d3e15b6d1 100644 (file)
@@ -41,6 +41,7 @@
 
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import argparse
 import os
index 7b92c8db8dbd105a283359739d64eea4ca55a2b6..0de656801bf255793b098be6074b736a4e371b91 100644 (file)
@@ -40,6 +40,7 @@
 # with example power models.
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import argparse
 import os
index 6e53d7b8cdad7e1d098203ecf8cc16a27e45f2fa..35ed2afa2e60ee79b390fa2e9491eaf746726fb6 100644 (file)
@@ -44,6 +44,7 @@ at: http://www.arm.com/ResearchEnablement/SystemModeling
 """
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import os
 import m5
index ef218d978ea45efc3284512804ab83584be94b70..b76be5f48399fbe381b324edb39abbffb6d4a643 100644 (file)
@@ -44,6 +44,7 @@ at: http://www.arm.com/ResearchEnablement/SystemModeling
 """
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import os
 import m5
index e64871af762405358b38bffdba6f0fb707ae9906..588d0a454d53dc0f3300c0dd7fe7aac1b88e9feb 100644 (file)
@@ -38,6 +38,7 @@
 # Basic elastic traces replay script that configures a Trace CPU
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import optparse
 
index 70275a0f666023b02daa2e9a7494573542da9997..695744e108d594de31dc8474620ff7e19bc87fe5 100644 (file)
@@ -42,6 +42,7 @@
 #          Brad Beckmann
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import optparse
 import sys
index f5b7690de7371e307773016039c9fd5e88be0fe8..8396ddb2e2658f75e292b23c56df0d87dd7b5e7f 100644 (file)
@@ -27,6 +27,7 @@
 # Author: Tushar Krishna
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import m5
 from m5.objects import *
index d9a6c0f9e4f9b6ba40128bed3bc057f7b8961c31..a68251981cdeb9da7a422b21de5818f5ec6c9e2f 100644 (file)
@@ -30,6 +30,9 @@
 #
 # Author: Ã‰der F. Zulian
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 import sys
 import argparse
 
index 091ed8b032e0cd44e6dec6272ed7f59361ea7ac1..32a82222b2d8530a7e98d419b31ee9441830e446 100644 (file)
@@ -1,4 +1,6 @@
+
 from __future__ import print_function
+from __future__ import absolute_import
 
 import sys
 import argparse
index 1dae86fc3f0e9bccda7b6635f95ae8a00aff271b..e758b67e7d46bd860599501bb255edf32f81331d 100644 (file)
@@ -40,6 +40,7 @@
 #          Andreas Hansson
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import optparse
 import random
index 81c826a41bb2d119dfcae69c58f8202ec5fc20fd..1bbedfd46357506eeb1e84d6e2d9c5145b1c0670 100644 (file)
@@ -40,6 +40,7 @@
 #          Andreas Hansson
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import optparse
 import random
index 0d60ec4cbcdd800eb569c3ee0e7ae3b19a109bca..6ab5a8199d25487b6699dffa62b6497b8ebdcd83 100644 (file)
@@ -46,6 +46,7 @@
 # debugging.
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import argparse
 import ConfigParser
index 317fb47fd9dc7a1b5c1c6d134680b2edbe0d83ef..d69df6e0f9ef76e9e51a6e9580827ec0930435b5 100644 (file)
@@ -29,6 +29,7 @@
 #          Brad Beckmann
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import m5
 from m5.objects import *
index 1757177013a0c9ad0773acdc294681f1c8dea5da..63c4e9c876c862c5cc4b9d049040090db49c06b9 100644 (file)
@@ -32,6 +32,7 @@
 # Authors: Brad Beckmann
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import m5
 from m5.objects import *
index 880a150cd5bb47c8cff8554ff5daf005289e824b..592ab1c60e288006af3938259f533a3772d6f510 100644 (file)
@@ -29,6 +29,7 @@
 #          Brad Beckmann
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import m5
 from m5.objects import *
index 15d474cec9409dfd20ee9471dd24e4a4bd438323..982557e25787eb3d33e65ba296d5d4915824f43e 100644 (file)
@@ -29,6 +29,7 @@
 #          Brad Beckmann
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import m5
 from m5.objects import *
index 59af888e0de9ee04a440b7530c443b680983ad5f..f3630db370a2b3688b47c4ad96fec7362483c38e 100644 (file)
@@ -43,6 +43,7 @@
 # "m5 test.py"
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import optparse
 import sys
index 5183c134d88142cfa0c0878ad3e09cbb80769a9a..5e87c2b2f1ef38d85da65a2dbcd3733ac36f7cc6 100644 (file)
@@ -33,6 +33,10 @@ This file contains L1 I/D and L2 caches to be used in the simple
 gem5 configuration script. It uses the SimpleOpts wrapper to set up command
 line options from each individual class.
 """
+
+from __future__ import print_function
+from __future__ import absolute_import
+
 import m5
 from m5.objects import Cache
 
index 5336b445b727d8b17de68fb54683ac6d6db5ef29..c624de0aa7be9860e78a444efb527641ce8bb1a3 100644 (file)
@@ -38,6 +38,8 @@ IMPORTANT: If you modify this file, it's likely that the Learning gem5 book
 """
 
 from __future__ import print_function
+from __future__ import absolute_import
+
 
 # import the m5 (gem5) library created when gem5 is built
 import m5
index 51d51c474a85c2166a5c410cafd385e8ae9ae377..b6f8781d21b5bf3088880a0d387e14910b48f1ed 100644 (file)
@@ -41,6 +41,7 @@ IMPORTANT: If you modify this file, it's likely that the Learning gem5 book
 """
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 # import the m5 (gem5) library created when gem5 is built
 import m5
index e908ae0c377ae368a4f40b6af2e5f81170e36803..e5ee5e78b123891e995f3cc870993e07cb2fd297 100644 (file)
@@ -37,6 +37,7 @@ IMPORTANT: If you modify this file, it's likely that the Learning gem5 book
 """
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 # import the m5 (gem5) library created when gem5 is built
 import m5
index 1b729ae7c366a2e5ff4faeb4aac4af0bbe58bf03..7940c0e04664f68c39955eb72e112128b8730c55 100644 (file)
@@ -36,6 +36,7 @@ system. Since there are no events, this "simulation" should finish immediately
 """
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 # import the m5 (gem5) library created when gem5 is built
 import m5
index 98078df3048129f3fec7aafbdd3b41c493bca69f..c65024233d1b6779fca56b5efcdce435c0d8f8db 100644 (file)
@@ -34,6 +34,7 @@ This config file assumes that the x86 ISA was built.
 """
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 # import the m5 (gem5) library created when gem5 is built
 import m5
index 066bca08d63f1493efefa9896ceeef3f69c55bec..24c6a24d6d5c0d983198e7f0e2931f70085d5233 100644 (file)
@@ -34,6 +34,7 @@ This config file assumes that the x86 ISA was built.
 """
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 # import the m5 (gem5) library created when gem5 is built
 import m5
index 7bd24efe13d5a3680fabc738787dd77c32809484..42ec95a9fccd8483a3d37469a8d1702772e47ca9 100644 (file)
@@ -36,6 +36,9 @@ IMPORTANT: If you modify this file, it's likely that the Learning gem5 book
 
 """
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 import math
 
 from m5.defines import buildEnv
index 104f0dff957a03281ac64f89cc56772b5d3c8543..db39bace771eedc05120a472e42989631f4abf80 100644 (file)
@@ -38,6 +38,9 @@ IMPORTANT: If you modify this file, it's likely that the Learning gem5 book
 
 """
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 import math
 
 from m5.defines import buildEnv
index 692a87e627dbd1f1cd9e3baf38011d260a08a6d6..45c139bdf2cbf611c107f5d11a7da9c42f153763 100644 (file)
@@ -35,13 +35,14 @@ IMPORTANT: If you modify this file, it's likely that the Learning gem5 book
 
 """
 from __future__ import print_function
+from __future__ import absolute_import
 
 # import the m5 (gem5) library created when gem5 is built
 import m5
 # import all of the SimObjects
 from m5.objects import *
 
-from test_caches import TestCacheSystem
+from .test_caches import TestCacheSystem
 
 # create the system we are going to simulate
 system = System()
index 9b89b78fdcf885fdfa613bdfdb5b424a6861e500..dda9e6dc7284b2f60bc40257954bb3fc246f8670 100644 (file)
@@ -38,6 +38,7 @@ IMPORTANT: If you modify this file, it's likely that the Learning gem5 book
 
 """
 from __future__ import print_function
+from __future__ import absolute_import
 
 # import the m5 (gem5) library created when gem5 is built
 import m5
@@ -46,7 +47,7 @@ from m5.objects import *
 
 # You can import ruby_caches_MI_example to use the MI_example protocol instead
 # of the MSI protocol
-from msi_caches import MyCacheSystem
+from .msi_caches import MyCacheSystem
 
 # create the system we are going to simulate
 system = System()
index 3721f4a6b9d0cc9b5014e324e3eb7e426bb5b08d..4b17250ffdabfaaab1624db517079c0fccbd040c 100644 (file)
@@ -36,12 +36,15 @@ IMPORTANT: If you modify this file, it's likely that the Learning gem5 book
 
 """
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 from m5.defines import buildEnv
 from m5.util import fatal
 
 from m5.objects import *
 
-from msi_caches import L1Cache, DirController, MyNetwork
+from .msi_caches import L1Cache, DirController, MyNetwork
 
 class TestCacheSystem(RubySystem):
 
index 567e6b01f257e72ac2dda522f601701cdcded6fd..c1e55bcdc1c70f98bb39bafb2730ba4057b27d9e 100644 (file)
@@ -26,6 +26,9 @@
 #
 # Authors: Tushar Krishna
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 import math
 import m5
 from m5.objects import *
index 1829385b6a875cf3c07690ab594fb29a5d83d35c..32393d15f1f5ac73a36638d3b751710e2841b1b3 100644 (file)
@@ -34,3 +34,6 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
 # Authors: Andreas Hansson
+
+from __future__ import print_function
+from __future__ import absolute_import
index afe9614c0dff0f3790a30669afcdaef33a4fbb69..c9bda0bc998415c770b0858db7a281ac642b9e61 100644 (file)
@@ -36,8 +36,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('../')
 
index e3395bdd2f7e382e78bc8e79ccaf23f258bc4dcf..5e3ec58f00c7d4db97a3aa58db02bad723958291 100644 (file)
@@ -31,8 +31,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
index 03e836eb04b21c255c888a070056770cb2ffe799..ffa5a0294c911814a67d6452e5bba275e68db4eb 100644 (file)
@@ -81,7 +81,7 @@ def define_options(parser):
                       help="Recycle latency for ruby controller input buffers")
 
     protocol = buildEnv['PROTOCOL']
-    exec "import %s" % protocol
+    exec("from . import %s" % protocol)
     eval("%s.define_options(parser)" % protocol)
     Network.define_options(parser)
 
@@ -144,7 +144,7 @@ def create_topology(controllers, options):
         found in configs/topologies/BaseTopology.py
         This is a wrapper for the legacy topologies.
     """
-    exec "import topologies.%s as Topo" % options.topology
+    exec("import topologies.%s as Topo" % options.topology)
     topology = eval("Topo.%s(controllers)" % options.topology)
     return topology
 
@@ -160,7 +160,7 @@ def create_system(options, full_system, system, piobus = None, dma_ports = [],
     ruby.network = network
 
     protocol = buildEnv['PROTOCOL']
-    exec "import %s" % protocol
+    exec("from . import %s" % protocol)
     try:
         (cpu_sequencers, dir_cntrls, topology) = \
              eval("%s.create_system(options, full_system, system, dma_ports,\
index 753fb0f70419d49c0bcef210814d8e923f72393b..04195cc99e2185bad896a4b14820db4844a07d67 100644 (file)
@@ -31,6 +31,7 @@
 # "m5 test.py"
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import os
 import optparse
index f97616a517d53f6d064a2d229e39f13c934df6ed..c74266462270651bd012723ca1eb9e5476f7a39f 100644 (file)
@@ -30,6 +30,7 @@
 #
 
 from __future__ import print_function
+from __future__ import absolute_import
 
 import os
 import optparse
index bd8ae255ed125f5c2fcd4826951c06e0a0060db0..180d4373aac69660e1a8ff8186e8a6f0f400257d 100644 (file)
@@ -26,6 +26,9 @@
 #
 # Authors: Jason Power
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 import m5
 
 class BaseTopology(object):
index 211647991665cacb71c2402bad34862e81da8942..a0e7df638acd9cb197cb7500295629f216d27859 100644 (file)
 #
 # Authors: Jason Power
 
+from __future__ import print_function
+from __future__ import absolute_import
 
-from BaseTopology import BaseTopology
+from .BaseTopology import BaseTopology
 
 class Cluster(BaseTopology):
     """ A cluster is a group of nodes which are all one hop from eachother
index 447b1c5977fef8cba78afad1d550119d4cb62a0e..d545d541d744eacee059c683b3997c63b28e7cc2 100644 (file)
 #
 # Authors: Steve Reinhardt
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 from m5.params import *
 from m5.objects import *
 
-from BaseTopology import SimpleTopology
+from .BaseTopology import SimpleTopology
 
 class Crossbar(SimpleTopology):
     description='Crossbar'
index 64f8001e29c0971c49620cf2f519064df3a8893e..6322a319b99f9572bfcc59d7582ba229c1fc63f2 100644 (file)
 #
 # Authors: Tushar Krishna
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 from m5.params import *
 from m5.objects import *
 
-from BaseTopology import SimpleTopology
+from .BaseTopology import SimpleTopology
 
 class CrossbarGarnet(SimpleTopology):
     description='CrossbarGarnet'
index 2381624919b332cafb134cad98200609a81a7dfe..95cb486ab2a7d698976270710110dce480b261dd 100644 (file)
 #
 # Authors: Brad Beckmann
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 from m5.params import *
 from m5.objects import *
 
-from BaseTopology import SimpleTopology
+from .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.
index 200d346d9ef05d865ccaeff12b172f4404af27ba..79575b35dd682500e0e4aba7a391e30bbc192bcc 100644 (file)
 # Authors: Brad Beckmann
 #          Tushar Krishna
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 from m5.params import *
 from m5.objects import *
 
-from BaseTopology import SimpleTopology
+from .BaseTopology import SimpleTopology
 
 # Creates a generic Mesh assuming an equal number of cache
 # and directory controllers.
index f3278200d733d84bcb2a9c1061b3ab96c52b1fb2..95cdae0370c6388d4d097e9b72d186ffd56a5a51 100644 (file)
 #
 # Authors: Brad Beckmann
 #          Tushar Krishna
+from __future__ import print_function
+from __future__ import absolute_import
 
 from m5.params import *
 from m5.objects import *
 
-from BaseTopology import SimpleTopology
+from .BaseTopology import SimpleTopology
 
 # Creates a generic Mesh assuming an equal number of cache
 # and directory controllers.
index 81d61d7d11232aa23a1863a1604995ed28b32ab2..ce98dc5b067a7e136a9887ad97180445cb90a379 100644 (file)
 # Authors: Brad Beckmann
 #          Tushar Krishna
 
+from __future__ import print_function
+from __future__ import absolute_import
+
 from m5.params import *
 from m5.objects import *
 
-from BaseTopology import SimpleTopology
+from .BaseTopology import SimpleTopology
 
 class Pt2Pt(SimpleTopology):
     description='Pt2Pt'
index 1829385b6a875cf3c07690ab594fb29a5d83d35c..32393d15f1f5ac73a36638d3b751710e2841b1b3 100644 (file)
@@ -34,3 +34,6 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
 # Authors: Andreas Hansson
+
+from __future__ import print_function
+from __future__ import absolute_import