Merge ktlim@zizzer:/bk/newmem
[gem5.git] / configs / test / SysPaths.py
1 import os, sys
2 from os.path import isdir, join as joinpath
3 from os import environ as env
4
5 systemdir = None
6 bindir = None
7 diskdir = None
8 scriptdir = None
9
10 def load_defaults():
11 global systemdir, bindir, diskdir, scriptdir
12 if not systemdir:
13 try:
14 path = env['M5_PATH'].split(':')
15 except KeyError:
16 path = [ '/dist/m5/system', '/n/poolfs/z/dist/m5/system' ]
17
18 for systemdir in path:
19 if os.path.isdir(systemdir):
20 break
21 else:
22 raise ImportError, "Can't find a path to system files."
23
24 if not bindir:
25 bindir = joinpath(systemdir, 'binaries')
26 if not diskdir:
27 diskdir = joinpath(systemdir, 'disks')
28 if not scriptdir:
29 scriptdir = joinpath(systemdir, 'boot')
30
31 def disk(file):
32 load_defaults()
33 return joinpath(diskdir, file)
34
35 def binary(file):
36 load_defaults()
37 return joinpath(bindir, file)
38
39 def script(file):
40 load_defaults()
41 return joinpath(scriptdir, file)
42