tsunami.hh revision 768
15222Sksewell@umich.edu/* 25222Sksewell@umich.edu * Copyright (c) 2003 The Regents of The University of Michigan 35222Sksewell@umich.edu * All rights reserved. 45222Sksewell@umich.edu * 55222Sksewell@umich.edu * Redistribution and use in source and binary forms, with or without 65222Sksewell@umich.edu * modification, are permitted provided that the following conditions are 75222Sksewell@umich.edu * met: redistributions of source code must retain the above copyright 85222Sksewell@umich.edu * notice, this list of conditions and the following disclaimer; 95222Sksewell@umich.edu * redistributions in binary form must reproduce the above copyright 105222Sksewell@umich.edu * notice, this list of conditions and the following disclaimer in the 115222Sksewell@umich.edu * documentation and/or other materials provided with the distribution; 125222Sksewell@umich.edu * neither the name of the copyright holders nor the names of its 135222Sksewell@umich.edu * contributors may be used to endorse or promote products derived from 145222Sksewell@umich.edu * this software without specific prior written permission. 155222Sksewell@umich.edu * 165222Sksewell@umich.edu * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 175222Sksewell@umich.edu * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 185222Sksewell@umich.edu * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 195222Sksewell@umich.edu * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 205222Sksewell@umich.edu * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 215222Sksewell@umich.edu * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 225222Sksewell@umich.edu * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 235222Sksewell@umich.edu * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 245222Sksewell@umich.edu * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 255222Sksewell@umich.edu * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 265222Sksewell@umich.edu * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 275222Sksewell@umich.edu */ 285222Sksewell@umich.edu 295222Sksewell@umich.edu#ifndef __TSUNAMI_HH__ 305222Sksewell@umich.edu#define __TSUNAMI_HH__ 315541Snate@binkert.org 325541Snate@binkert.org#include "sim/sim_object.hh" 335222Sksewell@umich.edu 345541Snate@binkert.orgclass IntrControl; 355222Sksewell@umich.educlass ConsoleListener; 365222Sksewell@umich.educlass SimConsole; 375222Sksewell@umich.educlass ScsiController; 385222Sksewell@umich.educlass TlaserClock; 395222Sksewell@umich.educlass EtherDev; 405222Sksewell@umich.educlass TsunamiCChip; 415222Sksewell@umich.educlass TsunamiPChip; 425222Sksewell@umich.edu 435222Sksewell@umich.educlass Tsunami : public SimObject 445222Sksewell@umich.edu{ 455222Sksewell@umich.edu public: 465222Sksewell@umich.edu 475222Sksewell@umich.edu static const int Max_CPUs = 4; 485541Snate@binkert.org 495541Snate@binkert.org IntrControl *intctrl; 505222Sksewell@umich.edu// ConsoleListener *listener; 515541Snate@binkert.org SimConsole *cons; 525222Sksewell@umich.edu 535222Sksewell@umich.edu ScsiController *scsi; 545222Sksewell@umich.edu EtherDev *ethernet; 555541Snate@binkert.org 565222Sksewell@umich.edu TlaserClock *clock; 575222Sksewell@umich.edu TsunamiCChip *cchip; 585541Snate@binkert.org TsunamiPChip *pchip; 59 60 int intr_sum_type[Tsunami::Max_CPUs]; 61 int ipi_pending[Tsunami::Max_CPUs]; 62 63 int interrupt_frequency; 64 65 public: 66 Tsunami(const std::string &name, ScsiController *scsi, 67 EtherDev *ethernet, TlaserClock *clock, TsunamiCChip *cc, TsunamiPChip *pc, 68 SimConsole *, IntrControl *intctrl, int intrFreq); 69 70 virtual void serialize(std::ostream &os); 71 virtual void unserialize(Checkpoint *cp, const std::string §ion); 72}; 73 74#endif // __TSUNAMI_HH__ 75