isa.hh (13582:989577bf6abc) isa.hh (13583:f7482392b097)
1/*
2 * Copyright (c) 2009 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;

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

111 uint64_t dev_mondo_tail;
112 uint64_t res_error_head;
113 uint64_t res_error_tail;
114 uint64_t nres_error_head;
115 uint64_t nres_error_tail;
116
117 // These need to check the int_dis field and if 0 then
118 // set appropriate bit in softint and checkinterrutps on the cpu
1/*
2 * Copyright (c) 2009 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;

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

111 uint64_t dev_mondo_tail;
112 uint64_t res_error_head;
113 uint64_t res_error_tail;
114 uint64_t nres_error_head;
115 uint64_t nres_error_tail;
116
117 // These need to check the int_dis field and if 0 then
118 // set appropriate bit in softint and checkinterrutps on the cpu
119 void setFSReg(int miscReg, MiscReg val, ThreadContext *tc);
120 MiscReg readFSReg(int miscReg, ThreadContext * tc);
119 void setFSReg(int miscReg, RegVal val, ThreadContext *tc);
120 RegVal readFSReg(int miscReg, ThreadContext * tc);
121
122 // Update interrupt state on softint or pil change
123 void checkSoftInt(ThreadContext *tc);
124
125 /** Process a tick compare event and generate an interrupt on the cpu if
126 * appropriate. */
127 void processTickCompare(ThreadContext *tc);
128 void processSTickCompare(ThreadContext *tc);

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

178
179 protected:
180 bool isHyperPriv() { return hpstate.hpriv; }
181 bool isPriv() { return hpstate.hpriv || pstate.priv; }
182 bool isNonPriv() { return !isPriv(); }
183
184 public:
185
121
122 // Update interrupt state on softint or pil change
123 void checkSoftInt(ThreadContext *tc);
124
125 /** Process a tick compare event and generate an interrupt on the cpu if
126 * appropriate. */
127 void processTickCompare(ThreadContext *tc);
128 void processSTickCompare(ThreadContext *tc);

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

178
179 protected:
180 bool isHyperPriv() { return hpstate.hpriv; }
181 bool isPriv() { return hpstate.hpriv || pstate.priv; }
182 bool isNonPriv() { return !isPriv(); }
183
184 public:
185
186 MiscReg readMiscRegNoEffect(int miscReg) const;
187 MiscReg readMiscReg(int miscReg, ThreadContext *tc);
186 RegVal readMiscRegNoEffect(int miscReg) const;
187 RegVal readMiscReg(int miscReg, ThreadContext *tc);
188
188
189 void setMiscRegNoEffect(int miscReg, MiscReg val);
190 void setMiscReg(int miscReg, MiscReg val, ThreadContext *tc);
189 void setMiscRegNoEffect(int miscReg, RegVal val);
190 void setMiscReg(int miscReg, RegVal val, ThreadContext *tc);
191
192 RegId
193 flattenRegId(const RegId& regId) const
194 {
195 switch (regId.classValue()) {
196 case IntRegClass:
197 return RegId(IntRegClass, flattenIntIndex(regId.index()));
198 case FloatRegClass:

--- 60 unchanged lines hidden ---
191
192 RegId
193 flattenRegId(const RegId& regId) const
194 {
195 switch (regId.classValue()) {
196 case IntRegClass:
197 return RegId(IntRegClass, flattenIntIndex(regId.index()));
198 case FloatRegClass:

--- 60 unchanged lines hidden ---