Deleted Added
sdiff udiff text old ( 2670:9107b8bd08cd ) new ( 2674:6d4afef73a20 )
full compact
1/*
2 * Copyright (c) 2004-2006 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;

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

38#include "cpu/inst_seq.hh"
39#include "sim/host.hh"
40
41// Typedef for physical register index type. Although the Impl would be the
42// most likely location for this, there are a few classes that need this
43// typedef yet are not templated on the Impl. For now it will be defined here.
44typedef short int PhysRegIndex;
45
46/** Struct that defines the information passed from fetch to decode. */
47template<class Impl>
48struct DefaultFetchDefaultDecode {
49 typedef typename Impl::DynInstPtr DynInstPtr;
50
51 int size;
52
53 DynInstPtr insts[Impl::MaxWidth];
54 Fault fetchFault;
55 InstSeqNum fetchFaultSN;
56 bool clearFetchFault;
57};
58
59/** Struct that defines the information passed from decode to rename. */
60template<class Impl>
61struct DefaultDecodeDefaultRename {
62 typedef typename Impl::DynInstPtr DynInstPtr;
63
64 int size;
65
66 DynInstPtr insts[Impl::MaxWidth];
67};
68
69/** Struct that defines the information passed from rename to IEW. */
70template<class Impl>
71struct DefaultRenameDefaultIEW {
72 typedef typename Impl::DynInstPtr DynInstPtr;
73
74 int size;
75
76 DynInstPtr insts[Impl::MaxWidth];
77};
78
79/** Struct that defines the information passed from IEW to commit. */
80template<class Impl>
81struct DefaultIEWDefaultCommit {
82 typedef typename Impl::DynInstPtr DynInstPtr;
83
84 int size;
85
86 DynInstPtr insts[Impl::MaxWidth];
87

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

99struct IssueStruct {
100 typedef typename Impl::DynInstPtr DynInstPtr;
101
102 int size;
103
104 DynInstPtr insts[Impl::MaxWidth];
105};
106
107/** Struct that defines all backwards communication. */
108template<class Impl>
109struct TimeBufStruct {
110 struct decodeComm {
111 bool squash;
112 bool predIncorrect;
113 uint64_t branchAddr;
114
115 InstSeqNum doneSeqNum;

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

121 uint64_t mispredPC;
122 uint64_t nextPC;
123
124 unsigned branchCount;
125 };
126
127 decodeComm decodeInfo[Impl::MaxThreads];
128
129 struct renameComm {
130 };
131
132 renameComm renameInfo[Impl::MaxThreads];
133
134 struct iewComm {
135 // Also eventually include skid buffer space.
136 bool usedIQ;
137 unsigned freeIQEntries;

--- 61 unchanged lines hidden ---