MipsSystem.py revision 7580
15222Sksewell@umich.edu# -*- mode:python -*- 25222Sksewell@umich.edu 35222Sksewell@umich.edu# Copyright (c) 2007 MIPS Technologies, Inc. 45222Sksewell@umich.edu# All rights reserved. 55222Sksewell@umich.edu# 65222Sksewell@umich.edu# Redistribution and use in source and binary forms, with or without 75222Sksewell@umich.edu# modification, are permitted provided that the following conditions are 85222Sksewell@umich.edu# met: redistributions of source code must retain the above copyright 95222Sksewell@umich.edu# notice, this list of conditions and the following disclaimer; 105222Sksewell@umich.edu# redistributions in binary form must reproduce the above copyright 115222Sksewell@umich.edu# notice, this list of conditions and the following disclaimer in the 125222Sksewell@umich.edu# documentation and/or other materials provided with the distribution; 135222Sksewell@umich.edu# neither the name of the copyright holders nor the names of its 145222Sksewell@umich.edu# contributors may be used to endorse or promote products derived from 155222Sksewell@umich.edu# this software without specific prior written permission. 165222Sksewell@umich.edu# 175222Sksewell@umich.edu# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 185222Sksewell@umich.edu# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 195222Sksewell@umich.edu# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 205222Sksewell@umich.edu# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 215222Sksewell@umich.edu# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 225222Sksewell@umich.edu# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 235222Sksewell@umich.edu# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 245222Sksewell@umich.edu# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 255222Sksewell@umich.edu# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 265222Sksewell@umich.edu# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 275222Sksewell@umich.edu# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 285222Sksewell@umich.edu# 295222Sksewell@umich.edu# Authors: Jaidev Patwardhan 305222Sksewell@umich.edu 316654Snate@binkert.orgfrom m5.defines import buildEnv 325222Sksewell@umich.edufrom m5.params import * 335222Sksewell@umich.edufrom m5.proxy import * 346654Snate@binkert.org 355222Sksewell@umich.edufrom System import System 365222Sksewell@umich.edu 375222Sksewell@umich.educlass MipsSystem(System): 385222Sksewell@umich.edu type = 'MipsSystem' 395222Sksewell@umich.edu console = Param.String("file that contains the console code") 405222Sksewell@umich.edu bare_iron = Param.Bool(False, "Using Bare Iron Mode?") 415222Sksewell@umich.edu hex_file_name = Param.String("test.hex","hex file that contains [address,data] pairs") 425222Sksewell@umich.edu system_type = Param.UInt64("Type of system we are emulating") 435222Sksewell@umich.edu system_rev = Param.UInt64("Revision of system we are emulating") 447580SAli.Saidi@arm.com load_addr_mask = 0xffffffffff 455222Sksewell@umich.edu 466654Snate@binkert.orgif buildEnv['FULL_SYSTEM']: 475222Sksewell@umich.edu class LinuxMipsSystem(MipsSystem): 485222Sksewell@umich.edu type = 'LinuxMipsSystem' 495222Sksewell@umich.edu system_type = 34 505222Sksewell@umich.edu system_rev = 1 << 10 515222Sksewell@umich.edu 525222Sksewell@umich.edu class BareIronMipsSystem(MipsSystem): 535222Sksewell@umich.edu type = 'BareIronMipsSystem' 545222Sksewell@umich.edu bare_iron = True 555222Sksewell@umich.edu system_type = 34 565222Sksewell@umich.edu system_rev = 1 << 10 575222Sksewell@umich.edu hex_file_name = Param.String('test.hex',"hex file that contains [address,data] pairs") 585222Sksewell@umich.edu 59