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 ---