Changes in tools/ew.py [7f0580d:644352c] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tools/ew.py
r7f0580d r644352c 33 33 """ 34 34 35 import os 35 import os 36 36 import sys 37 import subprocess 37 import subprocess 38 38 import autotool 39 39 import platform 40 import thread41 import time42 40 43 41 overrides = {} … … 48 46 return False 49 47 50 def cfg_get(platform, machine , processor):51 if machine == "" or emulators[platform].has_key("run"):48 def cfg_get(platform, machine): 49 if machine == "": 52 50 return emulators[platform] 53 el if processor == "" or emulators[platform][machine].has_key("run"):51 else: 54 52 return emulators[platform][machine] 55 else:56 return emulators[platform][machine][processor]57 53 58 54 def run_in_console(cmd, title): … … 97 93 return 'system-sparc64', '' 98 94 99 def hdisk_mk():100 if not os.path.exists('hdisk.img'):101 subprocess.call('tools/mkfat.py 1048576 uspace/dist/data hdisk.img', shell = True)102 103 95 def qemu_bd_options(): 104 96 if is_override('nohdd'): 105 97 return '' 106 107 hdisk_mk() 108 109 return ' -drive file=hdisk.img,index=0,media=disk,format=raw' 98 99 if not os.path.exists('hdisk.img'): 100 subprocess.call('tools/mkfat.py 1048576 uspace/dist/data hdisk.img', shell = True) 101 102 return ' -hda hdisk.img' 110 103 111 104 def qemu_nic_ne2k_options(): … … 134 127 nic_options += qemu_nic_e1k_options() 135 128 136 return nic_options + ' -net user ,hostfwd=udp::8080-:8080,hostfwd=udp::8081-:8081,hostfwd=tcp::8080-:8080,hostfwd=tcp::8081-:8081,hostfwd=tcp::2223-:2223'129 return nic_options + ' -net user -redir udp:8080::8080 -redir udp:8081::8081 -redir tcp:8080::8080 -redir tcp:8081::8081 -redir tcp:2223::2223' 137 130 138 131 def qemu_usb_options(): … … 146 139 return ' -device intel-hda -device hda-duplex' 147 140 148 def qemu_run(platform, machine , processor):149 cfg = cfg_get(platform, machine , processor)141 def qemu_run(platform, machine): 142 cfg = cfg_get(platform, machine) 150 143 suffix, options = platform_to_qemu_options(platform, machine) 151 144 cmd = 'qemu-' + suffix … … 181 174 subprocess.call(cmdline, shell = True) 182 175 183 def ski_run(platform, machine , processor):176 def ski_run(platform, machine): 184 177 run_in_console('ski -i contrib/conf/ski.conf', 'HelenOS/ia64 on ski') 185 178 186 def msim_run(platform, machine, processor): 187 hdisk_mk() 179 def msim_run(platform, machine): 188 180 run_in_console('msim -c contrib/conf/msim.conf', 'HelenOS/mips32 on msim') 189 181 190 def gem5_console_thread():191 # Wait a little bit so that gem5 can create the port192 time.sleep(1)193 term = os.environ['M5_PATH'] + '/gem5/util/term/m5term'194 port = 3457195 run_in_console('expect -c \'spawn %s %d; expect "ok " { send "boot\n" } timeout exp_continue; interact\'' % (term, port), 'HelenOS/sun4v on gem5')196 197 def gem5_run(platform, machine, processor):198 try:199 gem5 = os.environ['M5_PATH'] + '/gem5/build/SPARC/gem5.fast'200 if not os.path.exists(gem5):201 raise Exception202 except:203 print("Did you forget to set M5_PATH?")204 raise205 206 thread.start_new_thread(gem5_console_thread, ())207 208 cmdline = gem5 + ' ' + os.environ['M5_PATH'] + '/configs/example/fs.py --disk-image=' + os.path.abspath('image.iso')209 210 print(cmdline)211 if not is_override('dry_run'):212 subprocess.call(cmdline, shell = True)213 182 214 183 emulators = { … … 256 225 'sparc64' : { 257 226 'generic' : { 258 'us' : { 259 'run' : qemu_run, 260 'image' : 'image.iso', 261 'audio' : False 262 }, 263 'sun4v' : { 264 'run' : gem5_run, 265 } 227 'run' : qemu_run, 228 'image' : 'image.iso', 229 'audio' : False 266 230 } 267 231 }, … … 279 243 print("-nosnd\tDisable sound, if applicable.") 280 244 print("-nousb\tDisable USB support, if applicable.") 281 282 def fail(platform, machine):283 print("Cannot start emulation for the chosen configuration. (%s/%s)" % (platform, machine))284 285 245 286 246 def run(): … … 337 297 mach = '' 338 298 339 if 'PROCESSOR' in config.keys():340 processor = config['PROCESSOR']341 else:342 processor = ''343 344 299 try: 345 emu_run = cfg_get(platform, mach, processor)['run'] 346 emu_run(platform, mach, processor) 300 emu_run = cfg_get(platform, mach)['run'] 347 301 except: 348 fail(platform, mach)302 print("Cannot start emulation for the chosen configuration. (%s/%s)" % (platform, mach)) 349 303 return 350 304 305 emu_run(platform, mach) 306 351 307 run()
Note:
See TracChangeset
for help on using the changeset viewer.