1/* 2 * Copyright (c) 2003-2005 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 27 unchanged lines hidden (view full) --- 36#include "cpu/base.hh" 37#include "cpu/smt.hh" 38#include "mem/cache/base.hh" 39#include "mem/cache/mshr.hh" 40 41using namespace std; 42 43BaseCache::CachePort::CachePort(const std::string &_name, BaseCache *_cache, |
44 const std::string &_label) |
45 : SimpleTimingPort(_name, _cache), cache(_cache), 46 label(_label), otherPort(NULL), |
47 blocked(false), mustSendRetry(false) |
48{ 49} 50 51 52BaseCache::BaseCache(const Params *p) 53 : MemObject(p), 54 mshrQueue("MSHRs", p->mshrs, 4, MSHRQueue_MSHRs), 55 writeBuffer("write buffer", p->write_buffers, p->mshrs+1000, 56 MSHRQueue_WriteBuffer), 57 blkSize(p->block_size), 58 hitLatency(p->latency), 59 numTarget(p->tgts_per_mshr), |
60 forwardSnoops(p->forward_snoops), |
61 blocked(0), 62 noTargetMSHR(NULL), 63 missCount(p->max_miss_count), |
64 drainEvent(NULL), 65 addrRange(p->addr_range) |
66{ 67} 68 69void 70BaseCache::CachePort::recvStatusChange(Port::Status status) 71{ 72 if (status == Port::RangeChange) { 73 otherPort->sendStatusChange(Port::RangeChange); --- 566 unchanged lines hidden --- |