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