faults.hh revision 2090
11689SN/A/*
27598Sminkyu.jeong@arm.com * Copyright (c) 2003-2005 The Regents of The University of Michigan
37598Sminkyu.jeong@arm.com * All rights reserved.
47598Sminkyu.jeong@arm.com *
57598Sminkyu.jeong@arm.com * Redistribution and use in source and binary forms, with or without
67598Sminkyu.jeong@arm.com * modification, are permitted provided that the following conditions are
77598Sminkyu.jeong@arm.com * met: redistributions of source code must retain the above copyright
87598Sminkyu.jeong@arm.com * notice, this list of conditions and the following disclaimer;
97598Sminkyu.jeong@arm.com * redistributions in binary form must reproduce the above copyright
107598Sminkyu.jeong@arm.com * notice, this list of conditions and the following disclaimer in the
117598Sminkyu.jeong@arm.com * documentation and/or other materials provided with the distribution;
127598Sminkyu.jeong@arm.com * neither the name of the copyright holders nor the names of its
137598Sminkyu.jeong@arm.com * contributors may be used to endorse or promote products derived from
142326SN/A * this software without specific prior written permission.
151689SN/A *
161689SN/A * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
171689SN/A * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
181689SN/A * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
191689SN/A * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
201689SN/A * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
211689SN/A * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
221689SN/A * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
231689SN/A * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
241689SN/A * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
251689SN/A * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
261689SN/A * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
271689SN/A */
281689SN/A
291689SN/A#ifndef __FAULTS_HH__
301689SN/A#define __FAULTS_HH__
311689SN/A
321689SN/Aclass Fault
331689SN/A{
341689SN/Apublic:
351689SN/A        Fault(char * newName, int newId = 0) : name(newName), id(newId) {;}
361689SN/A        const char * name;
371689SN/A        int id;
381689SN/A};
392665Ssaidi@eecs.umich.edu
402665Ssaidi@eecs.umich.eduextern class NoFaultType : public Fault
411689SN/A{
421689SN/Apublic:
431060SN/A        NoFaultType(char * newName) : Fault(newName) {;}
441060SN/A} * NoFault;
451689SN/A
461060SN/Aextern class MachineCheckFaultType : public Fault
471060SN/A{
481060SN/Apublic:
491060SN/A        MachineCheckFaultType(char * newName) : Fault(newName) {;}
506658Snate@binkert.org} * MachineCheckFault;
512292SN/A
521717SN/Aextern class AlignmentFaultType : public Fault
535529Snate@binkert.org{
541060SN/Apublic:
556221Snate@binkert.org        AlignmentFaultType(char * newName) : Fault(newName) {;}
566221Snate@binkert.org} * AlignmentFault;
571681SN/A
585529Snate@binkert.orgextern class FakeMemFaultType : public Fault
592873Sktlim@umich.edu{
604329Sktlim@umich.edupublic:
614329Sktlim@umich.edu        FakeMemFaultType(char * newName) : Fault(newName) {;}
624329Sktlim@umich.edu} * FakeMemFault;
632292SN/A
642292SN/A
652292SN/A#endif // __FAULTS_HH__
662292SN/A