1/*
2 * Copyright (c) 2012 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

46
47#include <string>
48#include <utility>
49#include <vector>
50
51#include "arch/registers.hh"
52#include "base/types.hh"
53#include "config/the_isa.hh"
54#include "enums/SMTQueuePolicy.hh"
55
56struct DerivO3CPUParams;
57
58/**
59 * ROB class. The ROB is largely what drives squashing.
60 */
61template <class Impl>
62class ROB

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

71
72 /** Possible ROB statuses. */
73 enum Status {
74 Running,
75 Idle,
76 ROBSquashing
77 };
78
78 /** SMT ROB Sharing Policy */
79 enum ROBPolicy{
80 Dynamic,
81 Partitioned,
82 Threshold
83 };
84
79 private:
80 /** Per-thread ROB status. */
81 Status robStatus[Impl::MaxThreads];
82
83 /** ROB resource sharing policy for SMT mode. */
90 ROBPolicy robPolicy;
84 SMTQueuePolicy robPolicy;
85
86 public:
87 /** ROB constructor.
88 * @param _cpu The cpu object pointer.
89 * @param params The cpu params including several ROB-specific parameters.
90 */
91 ROB(O3CPU *_cpu, DerivO3CPUParams *params);
92

--- 243 unchanged lines hidden ---