system.hh revision 1821
12068SN/A/* 22068SN/A * Copyright (c) 2004-2005 The Regents of The University of Michigan 32068SN/A * All rights reserved. 42068SN/A * 52068SN/A * Redistribution and use in source and binary forms, with or without 62068SN/A * modification, are permitted provided that the following conditions are 72068SN/A * met: redistributions of source code must retain the above copyright 82068SN/A * notice, this list of conditions and the following disclaimer; 92068SN/A * redistributions in binary form must reproduce the above copyright 102068SN/A * notice, this list of conditions and the following disclaimer in the 112068SN/A * documentation and/or other materials provided with the distribution; 122068SN/A * neither the name of the copyright holders nor the names of its 132068SN/A * contributors may be used to endorse or promote products derived from 142068SN/A * this software without specific prior written permission. 152068SN/A * 162068SN/A * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 172068SN/A * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 182068SN/A * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 192068SN/A * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 202068SN/A * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 212068SN/A * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 222068SN/A * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 232068SN/A * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 242068SN/A * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 252068SN/A * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 262068SN/A * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 272068SN/A */ 282665Ssaidi@eecs.umich.edu 292665Ssaidi@eecs.umich.edu#ifndef __KERN_FREEBSD_FREEBSD_SYSTEM_HH__ 302665Ssaidi@eecs.umich.edu#define __KERN_FREEBSD_FREEBSD_SYSTEM_HH__ 312068SN/A 322649Ssaidi@eecs.umich.edu#include "sim/host.hh" 332649Ssaidi@eecs.umich.edu#include "sim/system.hh" 342649Ssaidi@eecs.umich.edu#include "targetarch/isa_traits.hh" 352649Ssaidi@eecs.umich.edu#include "kern/freebsd/freebsd_events.hh" 362649Ssaidi@eecs.umich.edu 372068SN/A 382068SN/A/** 392068SN/A * This class skips lengthy functions in the FreeBSD kernel. 402068SN/A */ 412068SN/Aclass FreebsdSystem : public System 422068SN/A{ 432068SN/A private: 442068SN/A 452068SN/A /** PC based event to skip the DELAY call */ 465736Snate@binkert.org SkipFuncEvent *skipDelayEvent; 472068SN/A 482107SN/A SkipFuncEvent *skipOROMEvent; 492068SN/A 502107SN/A SkipFuncEvent *skipAicEvent; 512068SN/A 522068SN/A SkipFuncEvent *skipPNPEvent; 532227SN/A 542107SN/A SkipFuncEvent *skipATAEvent; 552107SN/A 562068SN/A FreebsdSkipCalibrateClocksEvent *skipCalibrateClocks; 575736Snate@binkert.org 582068SN/A public: 592068SN/A FreebsdSystem(Params *p); 602068SN/A ~FreebsdSystem(); 612068SN/A void doCalibrateClocks(ExecContext *xc); 622068SN/A 632068SN/A}; 642068SN/A 652068SN/A#endif // __KERN_FREEBSD_FREEBSD_SYSTEM_HH__ 662107SN/A