t1000-simple-atomic.py revision 10904
14434Ssaidi@eecs.umich.edu# Copyright (c) 2007 The Regents of The University of Michigan
24434Ssaidi@eecs.umich.edu# All rights reserved.
34434Ssaidi@eecs.umich.edu#
44434Ssaidi@eecs.umich.edu# Redistribution and use in source and binary forms, with or without
54434Ssaidi@eecs.umich.edu# modification, are permitted provided that the following conditions are
64434Ssaidi@eecs.umich.edu# met: redistributions of source code must retain the above copyright
74434Ssaidi@eecs.umich.edu# notice, this list of conditions and the following disclaimer;
84434Ssaidi@eecs.umich.edu# redistributions in binary form must reproduce the above copyright
94434Ssaidi@eecs.umich.edu# notice, this list of conditions and the following disclaimer in the
104434Ssaidi@eecs.umich.edu# documentation and/or other materials provided with the distribution;
114434Ssaidi@eecs.umich.edu# neither the name of the copyright holders nor the names of its
124434Ssaidi@eecs.umich.edu# contributors may be used to endorse or promote products derived from
134434Ssaidi@eecs.umich.edu# this software without specific prior written permission.
144434Ssaidi@eecs.umich.edu#
154434Ssaidi@eecs.umich.edu# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
164434Ssaidi@eecs.umich.edu# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
174434Ssaidi@eecs.umich.edu# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
184434Ssaidi@eecs.umich.edu# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
194434Ssaidi@eecs.umich.edu# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
204434Ssaidi@eecs.umich.edu# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
214434Ssaidi@eecs.umich.edu# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
224434Ssaidi@eecs.umich.edu# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
234434Ssaidi@eecs.umich.edu# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
244434Ssaidi@eecs.umich.edu# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
254434Ssaidi@eecs.umich.edu# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
264434Ssaidi@eecs.umich.edu#
274434Ssaidi@eecs.umich.edu# Authors: Ali Saidi
284434Ssaidi@eecs.umich.edu
294434Ssaidi@eecs.umich.eduimport m5
304434Ssaidi@eecs.umich.edufrom m5.objects import *
314434Ssaidi@eecs.umich.edum5.util.addToPath('../configs/common')
324434Ssaidi@eecs.umich.eduimport FSConfig
334434Ssaidi@eecs.umich.edu
344434Ssaidi@eecs.umich.edutry:
354434Ssaidi@eecs.umich.edu    system = FSConfig.makeSparcSystem('atomic')
364434Ssaidi@eecs.umich.eduexcept IOError as e:
374434Ssaidi@eecs.umich.edu    skip_test(reason=str(e))
384434Ssaidi@eecs.umich.edu
394434Ssaidi@eecs.umich.edusystem.voltage_domain = VoltageDomain()
404434Ssaidi@eecs.umich.edusystem.clk_domain = SrcClockDomain(clock = '1GHz',
414434Ssaidi@eecs.umich.edu                                   voltage_domain = system.voltage_domain)
424434Ssaidi@eecs.umich.edusystem.cpu_clk_domain = SrcClockDomain(clock = '1GHz',
434434Ssaidi@eecs.umich.edu                                       voltage_domain = system.voltage_domain)
444434Ssaidi@eecs.umich.educpu = AtomicSimpleCPU(cpu_id=0, clk_domain = system.cpu_clk_domain)
454434Ssaidi@eecs.umich.edusystem.cpu = cpu
464434Ssaidi@eecs.umich.edu# create the interrupt controller
478706Sandreas.hansson@arm.comcpu.createInterruptController()
487678Sgblack@eecs.umich.educpu.connectAllPorts(system.membus)
494434Ssaidi@eecs.umich.edu
504434Ssaidi@eecs.umich.edu# create the memory controllers and connect them, stick with
514434Ssaidi@eecs.umich.edu# the physmem name to avoid bumping all the reference stats
524434Ssaidi@eecs.umich.edusystem.physmem = [SimpleMemory(range = r)
534434Ssaidi@eecs.umich.edu                  for r in system.mem_ranges]
544434Ssaidi@eecs.umich.edufor i in xrange(len(system.physmem)):
558706Sandreas.hansson@arm.com    system.physmem[i].port = system.membus.master
564434Ssaidi@eecs.umich.edu
574434Ssaidi@eecs.umich.eduroot = Root(full_system=True, system=system)
586227Snate@binkert.org
598737Skoansin.tan@gmail.comm5.ticks.setGlobalFrequency('2GHz')
608706Sandreas.hansson@arm.com