14130Ssaidi@eecs.umich.edu# Copyright (c) 2007 The Regents of The University of Michigan 24130Ssaidi@eecs.umich.edu# All rights reserved. 34130Ssaidi@eecs.umich.edu# 44130Ssaidi@eecs.umich.edu# Redistribution and use in source and binary forms, with or without 54130Ssaidi@eecs.umich.edu# modification, are permitted provided that the following conditions are 64130Ssaidi@eecs.umich.edu# met: redistributions of source code must retain the above copyright 74130Ssaidi@eecs.umich.edu# notice, this list of conditions and the following disclaimer; 84130Ssaidi@eecs.umich.edu# redistributions in binary form must reproduce the above copyright 94130Ssaidi@eecs.umich.edu# notice, this list of conditions and the following disclaimer in the 104130Ssaidi@eecs.umich.edu# documentation and/or other materials provided with the distribution; 114130Ssaidi@eecs.umich.edu# neither the name of the copyright holders nor the names of its 124130Ssaidi@eecs.umich.edu# contributors may be used to endorse or promote products derived from 134130Ssaidi@eecs.umich.edu# this software without specific prior written permission. 144130Ssaidi@eecs.umich.edu# 154130Ssaidi@eecs.umich.edu# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 164130Ssaidi@eecs.umich.edu# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 174130Ssaidi@eecs.umich.edu# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 184130Ssaidi@eecs.umich.edu# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 194130Ssaidi@eecs.umich.edu# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 204130Ssaidi@eecs.umich.edu# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 214130Ssaidi@eecs.umich.edu# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 224130Ssaidi@eecs.umich.edu# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 234130Ssaidi@eecs.umich.edu# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 244130Ssaidi@eecs.umich.edu# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 254130Ssaidi@eecs.umich.edu# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 264130Ssaidi@eecs.umich.edu# 274130Ssaidi@eecs.umich.edu# Authors: Ali Saidi 284130Ssaidi@eecs.umich.edu 294130Ssaidi@eecs.umich.eduimport m5 304130Ssaidi@eecs.umich.edufrom m5.objects import * 3111682Sandreas.hansson@arm.comm5.util.addToPath('../configs/') 3211682Sandreas.hansson@arm.comfrom common import FSConfig 334130Ssaidi@eecs.umich.edu 3410904Sandreas.sandberg@arm.comtry: 3510904Sandreas.sandberg@arm.com system = FSConfig.makeSparcSystem('atomic') 3610904Sandreas.sandberg@arm.comexcept IOError as e: 3710904Sandreas.sandberg@arm.com skip_test(reason=str(e)) 3810904Sandreas.sandberg@arm.com 399827Sakash.bagdia@arm.comsystem.voltage_domain = VoltageDomain() 409827Sakash.bagdia@arm.comsystem.clk_domain = SrcClockDomain(clock = '1GHz', 419827Sakash.bagdia@arm.com voltage_domain = system.voltage_domain) 429827Sakash.bagdia@arm.comsystem.cpu_clk_domain = SrcClockDomain(clock = '1GHz', 439827Sakash.bagdia@arm.com voltage_domain = system.voltage_domain) 449802Snilay@cs.wisc.educpu = AtomicSimpleCPU(cpu_id=0, clk_domain = system.cpu_clk_domain) 454130Ssaidi@eecs.umich.edusystem.cpu = cpu 468882Sgblack@eecs.umich.edu# create the interrupt controller 478882Sgblack@eecs.umich.educpu.createInterruptController() 487876Sgblack@eecs.umich.educpu.connectAllPorts(system.membus) 494130Ssaidi@eecs.umich.edu 509826Sandreas.hansson@arm.com# create the memory controllers and connect them, stick with 519826Sandreas.hansson@arm.com# the physmem name to avoid bumping all the reference stats 529835Sandreas.hansson@arm.comsystem.physmem = [SimpleMemory(range = r) 539826Sandreas.hansson@arm.com for r in system.mem_ranges] 5413718Sandreas.sandberg@arm.comfor i in range(len(system.physmem)): 559826Sandreas.hansson@arm.com system.physmem[i].port = system.membus.master 569826Sandreas.hansson@arm.com 578801Sgblack@eecs.umich.eduroot = Root(full_system=True, system=system) 584167Sbinkertn@umich.edu 594167Sbinkertn@umich.edum5.ticks.setGlobalFrequency('2GHz') 60