/* * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer; * redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution; * neither the name of the copyright holders nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef _HFATYPES_H_ #define _HFATYPES_H_ /* * Global include file for entire project. * Should be included first in all ".cc" project files */ /*------------------------------------------------------------------------*/ /* Includes */ /*------------------------------------------------------------------------*/ /*------------------------------------------------------------------------*/ /* SimIcs Includes */ /*------------------------------------------------------------------------*/ /* import C functions */ /*------------------------------------------------------------------------*/ /* Forward class declaration(s) */ /*------------------------------------------------------------------------*/ /*------------------------------------------------------------------------*/ /* Macro declarations */ /*------------------------------------------------------------------------*/ // definitions of MAX / MIN (if needed) #ifndef MAX #define MAX(a, b) ((a) > (b) ? (a) : (b)) #endif #ifndef MIN #define MIN(a, b) ((a) < (b) ? (a) : (b)) #endif /* Statistics tracking definition */ #define STAT_INC(A) (A)++ /*------------------------------------------------------------------------*/ /* Enumerations */ /*------------------------------------------------------------------------*/ /*------------------------------------------------------------------------*/ /* Project Includes */ /*------------------------------------------------------------------------*/ typedef unsigned char byte_t; /* byte - 8 bits */ typedef unsigned short half_t; /* half - 16 bits */ typedef unsigned int word_t; /* word - 32 bits */ typedef uint64 tick_t; /* time - 64 bit */ #endif /* _HFATYPES_H_ */