fetch.hh (4475:fb185cc1c845) | fetch.hh (4632:be5b8f67b8fb) |
---|---|
1/* 2 * Copyright (c) 2004-2006 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; --- 86 unchanged lines hidden (view full) --- 95 /** Functional version of receive. Panics. */ 96 virtual void recvFunctional(PacketPtr pkt); 97 98 /** Receives status change. Other than range changing, panics. */ 99 virtual void recvStatusChange(Status status); 100 101 /** Returns the address ranges of this device. */ 102 virtual void getDeviceAddressRanges(AddrRangeList &resp, | 1/* 2 * Copyright (c) 2004-2006 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; --- 86 unchanged lines hidden (view full) --- 95 /** Functional version of receive. Panics. */ 96 virtual void recvFunctional(PacketPtr pkt); 97 98 /** Receives status change. Other than range changing, panics. */ 99 virtual void recvStatusChange(Status status); 100 101 /** Returns the address ranges of this device. */ 102 virtual void getDeviceAddressRanges(AddrRangeList &resp, |
103 bool &snoop) 104 { resp.clear(); snoop = true; } | 103 AddrRangeList &snoop) 104 { resp.clear(); snoop.clear(); snoop.push_back(RangeSize(0,0)); } |
105 106 /** Timing version of receive. Handles setting fetch to the 107 * proper status to start fetching. */ 108 virtual bool recvTiming(PacketPtr pkt); 109 110 /** Handles doing a retry of a failed fetch. */ 111 virtual void recvRetry(); 112 }; --- 145 unchanged lines hidden (view full) --- 258 FetchStatus updateFetchStatus(); 259 260 public: 261 /** Squashes a specific thread and resets the PC. Also tells the CPU to 262 * remove any instructions that are not in the ROB. The source of this 263 * squash should be the commit stage. 264 */ 265 void squash(const Addr &new_PC, const Addr &new_NPC, | 105 106 /** Timing version of receive. Handles setting fetch to the 107 * proper status to start fetching. */ 108 virtual bool recvTiming(PacketPtr pkt); 109 110 /** Handles doing a retry of a failed fetch. */ 111 virtual void recvRetry(); 112 }; --- 145 unchanged lines hidden (view full) --- 258 FetchStatus updateFetchStatus(); 259 260 public: 261 /** Squashes a specific thread and resets the PC. Also tells the CPU to 262 * remove any instructions that are not in the ROB. The source of this 263 * squash should be the commit stage. 264 */ 265 void squash(const Addr &new_PC, const Addr &new_NPC, |
266 const InstSeqNum &seq_num, 267 bool squash_delay_slot, unsigned tid); | 266 const InstSeqNum &seq_num, unsigned tid); |
268 269 /** Ticks the fetch stage, processing all inputs signals and fetching 270 * as many instructions as possible. 271 */ 272 void tick(); 273 274 /** Checks all input signals and updates the status as necessary. 275 * @return: Returns if the status has changed due to input signals. --- 212 unchanged lines hidden --- | 267 268 /** Ticks the fetch stage, processing all inputs signals and fetching 269 * as many instructions as possible. 270 */ 271 void tick(); 272 273 /** Checks all input signals and updates the status as necessary. 274 * @return: Returns if the status has changed due to input signals. --- 212 unchanged lines hidden --- |