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