commit.hh (2863:2592e056dc5c) commit.hh (2874:5389a28b80fb)
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;

--- 148 unchanged lines hidden (view full) ---

157 void setFetchQueue(TimeBuffer<FetchStruct> *fq_ptr);
158
159 /** Sets the pointer to the queue coming from rename. */
160 void setRenameQueue(TimeBuffer<RenameStruct> *rq_ptr);
161
162 /** Sets the pointer to the queue coming from IEW. */
163 void setIEWQueue(TimeBuffer<IEWStruct> *iq_ptr);
164
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;

--- 148 unchanged lines hidden (view full) ---

157 void setFetchQueue(TimeBuffer<FetchStruct> *fq_ptr);
158
159 /** Sets the pointer to the queue coming from rename. */
160 void setRenameQueue(TimeBuffer<RenameStruct> *rq_ptr);
161
162 /** Sets the pointer to the queue coming from IEW. */
163 void setIEWQueue(TimeBuffer<IEWStruct> *iq_ptr);
164
165 void setFetchStage(Fetch *fetch_stage);
166
167 Fetch *fetchStage;
168
169 /** Sets the pointer to the IEW stage. */
170 void setIEWStage(IEW *iew_stage);
171
172 /** The pointer to the IEW stage. Used solely to ensure that
173 * various events (traps, interrupts, syscalls) do not occur until
174 * all stores have written back.
175 */
176 IEW *iewStage;

--- 153 unchanged lines hidden (view full) ---

330
331 private:
332 /** Pointer to O3CPU. */
333 O3CPU *cpu;
334
335 /** Vector of all of the threads. */
336 std::vector<Thread *> thread;
337
165 /** Sets the pointer to the IEW stage. */
166 void setIEWStage(IEW *iew_stage);
167
168 /** The pointer to the IEW stage. Used solely to ensure that
169 * various events (traps, interrupts, syscalls) do not occur until
170 * all stores have written back.
171 */
172 IEW *iewStage;

--- 153 unchanged lines hidden (view full) ---

326
327 private:
328 /** Pointer to O3CPU. */
329 O3CPU *cpu;
330
331 /** Vector of all of the threads. */
332 std::vector<Thread *> thread;
333
338 Fault fetchFault;
339
340 int fetchTrapWait;
341
342 /** Records that commit has written to the time buffer this cycle. Used for
343 * the CPU to determine if it can deschedule itself if there is no activity.
344 */
345 bool wroteToTimeBuffer;
346
347 /** Records if the number of ROB entries has changed this cycle. If it has,
348 * then the number of free entries must be re-broadcast.
349 */

--- 42 unchanged lines hidden (view full) ---

392 /** Is commit switched out. */
393 bool switchedOut;
394
395 /** The latency to handle a trap. Used when scheduling trap
396 * squash event.
397 */
398 Tick trapLatency;
399
334 /** Records that commit has written to the time buffer this cycle. Used for
335 * the CPU to determine if it can deschedule itself if there is no activity.
336 */
337 bool wroteToTimeBuffer;
338
339 /** Records if the number of ROB entries has changed this cycle. If it has,
340 * then the number of free entries must be re-broadcast.
341 */

--- 42 unchanged lines hidden (view full) ---

384 /** Is commit switched out. */
385 bool switchedOut;
386
387 /** The latency to handle a trap. Used when scheduling trap
388 * squash event.
389 */
390 Tick trapLatency;
391
400 Tick fetchTrapLatency;
401
402 Tick fetchFaultTick;
403
404 /** The commit PC of each thread. Refers to the instruction that
405 * is currently being processed/committed.
406 */
407 Addr PC[Impl::MaxThreads];
408
409 /** The next PC of each thread. */
410 Addr nextPC[Impl::MaxThreads];
411

--- 55 unchanged lines hidden ---
392 /** The commit PC of each thread. Refers to the instruction that
393 * is currently being processed/committed.
394 */
395 Addr PC[Impl::MaxThreads];
396
397 /** The next PC of each thread. */
398 Addr nextPC[Impl::MaxThreads];
399

--- 55 unchanged lines hidden ---