cpu.hh (4598:56adf2e778a8) cpu.hh (4632:be5b8f67b8fb)
1/*
2 * Copyright (c) 2004-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;

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

37#include <queue>
38#include <set>
39#include <vector>
40
41#include "arch/types.hh"
42#include "base/statistics.hh"
43#include "base/timebuf.hh"
44#include "config/full_system.hh"
1/*
2 * Copyright (c) 2004-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;

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

37#include <queue>
38#include <set>
39#include <vector>
40
41#include "arch/types.hh"
42#include "base/statistics.hh"
43#include "base/timebuf.hh"
44#include "config/full_system.hh"
45#include "config/use_checker.hh"
46#include "cpu/activity.hh"
47#include "cpu/base.hh"
48#include "cpu/simple_thread.hh"
49#include "cpu/o3/comm.hh"
50#include "cpu/o3/cpu_policy.hh"
51#include "cpu/o3/scoreboard.hh"
52#include "cpu/o3/thread_state.hh"
53//#include "cpu/o3/thread_context.hh"

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

464
465 /** Remove an instruction from the front end of the list. There's
466 * no restriction on location of the instruction.
467 */
468 void removeFrontInst(DynInstPtr &inst);
469
470 /** Remove all instructions that are not currently in the ROB.
471 * There's also an option to not squash delay slot instructions.*/
45#include "cpu/activity.hh"
46#include "cpu/base.hh"
47#include "cpu/simple_thread.hh"
48#include "cpu/o3/comm.hh"
49#include "cpu/o3/cpu_policy.hh"
50#include "cpu/o3/scoreboard.hh"
51#include "cpu/o3/thread_state.hh"
52//#include "cpu/o3/thread_context.hh"

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

463
464 /** Remove an instruction from the front end of the list. There's
465 * no restriction on location of the instruction.
466 */
467 void removeFrontInst(DynInstPtr &inst);
468
469 /** Remove all instructions that are not currently in the ROB.
470 * There's also an option to not squash delay slot instructions.*/
472 void removeInstsNotInROB(unsigned tid, bool squash_delay_slot,
473 const InstSeqNum &delay_slot_seq_num);
471 void removeInstsNotInROB(unsigned tid);
474
475 /** Remove all instructions younger than the given sequence number. */
476 void removeInstsUntil(const InstSeqNum &seq_num,unsigned tid);
477
478 /** Removes the instruction pointed to by the iterator. */
479 inline void squashInstIt(const ListIt &instIt, const unsigned &tid);
480
481 /** Cleans up all instructions on the remove list. */

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

613 ThreadContext *tcBase(unsigned tid)
614 {
615 return thread[tid]->getTC();
616 }
617
618 /** The global sequence number counter. */
619 InstSeqNum globalSeqNum;//[Impl::MaxThreads];
620
472
473 /** Remove all instructions younger than the given sequence number. */
474 void removeInstsUntil(const InstSeqNum &seq_num,unsigned tid);
475
476 /** Removes the instruction pointed to by the iterator. */
477 inline void squashInstIt(const ListIt &instIt, const unsigned &tid);
478
479 /** Cleans up all instructions on the remove list. */

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

611 ThreadContext *tcBase(unsigned tid)
612 {
613 return thread[tid]->getTC();
614 }
615
616 /** The global sequence number counter. */
617 InstSeqNum globalSeqNum;//[Impl::MaxThreads];
618
621#if USE_CHECKER
622 /** Pointer to the checker, which can dynamically verify
623 * instruction results at run time. This can be set to NULL if it
624 * is not being used.
625 */
626 Checker<DynInstPtr> *checker;
619 /** Pointer to the checker, which can dynamically verify
620 * instruction results at run time. This can be set to NULL if it
621 * is not being used.
622 */
623 Checker<DynInstPtr> *checker;
627#endif
628
629#if FULL_SYSTEM
630 /** Pointer to the system. */
631 System *system;
632
633 /** Pointer to physical memory. */
634 PhysicalMemory *physmem;
635#endif

--- 53 unchanged lines hidden ---
624
625#if FULL_SYSTEM
626 /** Pointer to the system. */
627 System *system;
628
629 /** Pointer to physical memory. */
630 PhysicalMemory *physmem;
631#endif

--- 53 unchanged lines hidden ---