commit.hh (12110:c24ee249b8ba) commit.hh (12127:4207df055b0d)
1/*
2 * Copyright (c) 2010-2012, 2014 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

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

96 typedef typename CPUPol::IEWStruct IEWStruct;
97 typedef typename CPUPol::RenameStruct RenameStruct;
98
99 typedef typename CPUPol::Fetch Fetch;
100 typedef typename CPUPol::IEW IEW;
101
102 typedef O3ThreadState<Impl> Thread;
103
1/*
2 * Copyright (c) 2010-2012, 2014 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

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

96 typedef typename CPUPol::IEWStruct IEWStruct;
97 typedef typename CPUPol::RenameStruct RenameStruct;
98
99 typedef typename CPUPol::Fetch Fetch;
100 typedef typename CPUPol::IEW IEW;
101
102 typedef O3ThreadState<Impl> Thread;
103
104 /** Event class used to schedule a squash due to a trap (fault or
105 * interrupt) to happen on a specific cycle.
106 */
107 class TrapEvent : public Event {
108 private:
109 DefaultCommit<Impl> *commit;
110 ThreadID tid;
111
112 public:
113 TrapEvent(DefaultCommit<Impl> *_commit, ThreadID _tid);
114
115 void process();
116 const char *description() const;
117 };
118
119 /** Overall commit status. Used to determine if the CPU can deschedule
120 * itself due to a lack of activity.
121 */
122 enum CommitStatus{
123 Active,
124 Inactive
125 };
126

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

152 CommitPolicy commitPolicy;
153
154 /** Probe Points. */
155 ProbePointArg<DynInstPtr> *ppCommit;
156 ProbePointArg<DynInstPtr> *ppCommitStall;
157 /** To probe when an instruction is squashed */
158 ProbePointArg<DynInstPtr> *ppSquash;
159
104 /** Overall commit status. Used to determine if the CPU can deschedule
105 * itself due to a lack of activity.
106 */
107 enum CommitStatus{
108 Active,
109 Inactive
110 };
111

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

137 CommitPolicy commitPolicy;
138
139 /** Probe Points. */
140 ProbePointArg<DynInstPtr> *ppCommit;
141 ProbePointArg<DynInstPtr> *ppCommitStall;
142 /** To probe when an instruction is squashed */
143 ProbePointArg<DynInstPtr> *ppSquash;
144
145 /** Mark the thread as processing a trap. */
146 void processTrapEvent(ThreadID tid);
147
160 public:
161 /** Construct a DefaultCommit with the given parameters. */
162 DefaultCommit(O3CPU *_cpu, DerivO3CPUParams *params);
163
164 /** Returns the name of the DefaultCommit. */
165 std::string name() const;
166
167 /** Registers statistics. */

--- 368 unchanged lines hidden ---
148 public:
149 /** Construct a DefaultCommit with the given parameters. */
150 DefaultCommit(O3CPU *_cpu, DerivO3CPUParams *params);
151
152 /** Returns the name of the DefaultCommit. */
153 std::string name() const;
154
155 /** Registers statistics. */

--- 368 unchanged lines hidden ---