1 2/* 3 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: redistributions of source code must retain the above copyright --- 29 unchanged lines hidden (view full) --- 38 39#ifndef SLICC_UTIL_H 40#define SLICC_UTIL_H 41 42#include "mem/ruby/common/Global.hh" 43#include "mem/ruby/common/Address.hh" 44#include "mem/ruby/system/NodeID.hh" 45#include "mem/ruby/system/MachineID.hh" |
46#include "mem/protocol/CacheMsg.hh" 47#include "mem/protocol/GenericRequestType.hh" 48#include "mem/protocol/CacheRequestType.hh" 49#include "mem/protocol/AccessType.hh" 50#include "mem/protocol/MachineType.hh" 51#include "mem/protocol/Directory_State.hh" 52#include "mem/protocol/L1Cache_State.hh" 53#include "mem/protocol/MessageSizeType.hh" --- 52 unchanged lines hidden (view full) --- 106 return (int) addr.getLineAddress(); 107} 108 109extern inline int MessageSizeTypeToInt(MessageSizeType size_type) 110{ 111 return MessageSizeType_to_int(size_type); 112} 113 |
114extern inline bool long_enough_ago(Time event) 115{ 116 return ((get_time() - event) > 200); 117} 118 119extern inline int getAddThenMod(int addend1, int addend2, int modulus) 120{ 121 return (addend1 + addend2) % modulus; --- 30 unchanged lines hidden (view full) --- 152} 153 154// Return type for time_to_int is "Time" and not "int" so we get a 64-bit integer 155extern inline Time time_to_int(Time time) 156{ 157 return time; 158} 159 |
160// Appends an offset to an address 161extern inline Address setOffset(Address addr, int offset) 162{ 163 Address result = addr; 164 result.setOffset(offset); 165 return result; 166} 167 168// Makes an address into a line address 169extern inline Address makeLineAddress(Address addr) 170{ 171 Address result = addr; 172 result.makeLineAddress(); 173 return result; 174} 175 176#endif //SLICC_UTIL_H |