-# Copyright (c) 2009 Advanced Micro Devices, Inc.
+# Copyright (c) 2009-2011 Advanced Micro Devices, Inc.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# fast forward with the atomic cpu and instead set the FutureClass to None.
# Therefore the cpus resolve to the correct names and unserialize correctly.
#
-assert(options.timing)
class CPUClass(TimingSimpleCPU): pass
test_mem_mode = 'timing'
FutureClass = None
CPUClass.clock = options.clock
-system = makeLinuxAlphaRubySystem(test_mem_mode, bm[0])
-
-system.ruby = Ruby.create_system(options,
- system.physmem,
- system.piobus,
- system.dma_devices)
+if buildEnv['TARGET_ISA'] == "alpha":
+ system = makeLinuxAlphaRubySystem(test_mem_mode, bm[0])
+ system.ruby = Ruby.create_system(options,
+ system,
+ system.piobus,
+ system.dma_devices)
+elif buildEnv['TARGET_ISA'] == "x86":
+ system = makeLinuxX86System(test_mem_mode, options.num_cpus, bm[0], True)
+ setWorkCountOptions(system, options)
+ system.ruby = Ruby.create_system(options,
+ system,
+ system.piobus)
+else:
+ fatal("incapable of building non-alpha or non-x86 full system!")
system.cpu = [CPUClass(cpu_id=i) for i in xrange(options.num_cpus)]
#
cpu.icache_port = system.ruby.cpu_ruby_ports[i].port
cpu.dcache_port = system.ruby.cpu_ruby_ports[i].port
+ if buildEnv['TARGET_ISA'] == "x86":
+ cpu.itb.walker.port = system.ruby.cpu_ruby_ports[i].port
+ cpu.dtb.walker.port = system.ruby.cpu_ruby_ports[i].port
+ cpu.interrupts.pio = system.piobus.port
+ cpu.interrupts.int_port = system.piobus.port
root = Root(system = system)