commit.hh (13429:a1e199fd8122) commit.hh (13563:68c171235dc5)
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

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

45#define __CPU_O3_COMMIT_HH__
46
47#include <queue>
48
49#include "base/statistics.hh"
50#include "cpu/exetrace.hh"
51#include "cpu/inst_seq.hh"
52#include "cpu/timebuf.hh"
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

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

45#define __CPU_O3_COMMIT_HH__
46
47#include <queue>
48
49#include "base/statistics.hh"
50#include "cpu/exetrace.hh"
51#include "cpu/inst_seq.hh"
52#include "cpu/timebuf.hh"
53#include "enums/CommitPolicy.hh"
53#include "sim/probe/probe.hh"
54
55struct DerivO3CPUParams;
56
57template <class>
58struct O3ThreadState;
59
60/**

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

114 Running,
115 Idle,
116 ROBSquashing,
117 TrapPending,
118 FetchTrapPending,
119 SquashAfterPending, //< Committing instructions before a squash.
120 };
121
54#include "sim/probe/probe.hh"
55
56struct DerivO3CPUParams;
57
58template <class>
59struct O3ThreadState;
60
61/**

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

115 Running,
116 Idle,
117 ROBSquashing,
118 TrapPending,
119 FetchTrapPending,
120 SquashAfterPending, //< Committing instructions before a squash.
121 };
122
122 /** Commit policy for SMT mode. */
123 enum CommitPolicy {
124 Aggressive,
125 RoundRobin,
126 OldestReady
127 };
128
129 private:
130 /** Overall commit status. */
131 CommitStatus _status;
132 /** Next commit status, to be set at the end of the cycle. */
133 CommitStatus _nextStatus;
134 /** Per-thread status. */
135 ThreadStatus commitStatus[Impl::MaxThreads];
136 /** Commit policy used in SMT mode. */

--- 387 unchanged lines hidden ---
123 private:
124 /** Overall commit status. */
125 CommitStatus _status;
126 /** Next commit status, to be set at the end of the cycle. */
127 CommitStatus _nextStatus;
128 /** Per-thread status. */
129 ThreadStatus commitStatus[Impl::MaxThreads];
130 /** Commit policy used in SMT mode. */

--- 387 unchanged lines hidden ---