m5ops.isa (8798:adaa92be9037) m5ops.isa (8809:bb10807da889)
1//
2// Copyright (c) 2010 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

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

238 exec_output += PredOpExecute.subst(dumpresetstatsIop)
239
240 m5checkpoint_code = '''
241 PseudoInst::m5checkpoint(xc->tcBase(), join32to64(R1, R0), join32to64(R3, R2));
242 '''
243 m5checkpointIop = InstObjParams("m5checkpoint", "M5checkpoint", "PredOp",
244 { "code": m5checkpoint_code,
245 "predicate_test": predicateTest },
1//
2// Copyright (c) 2010 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

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

238 exec_output += PredOpExecute.subst(dumpresetstatsIop)
239
240 m5checkpoint_code = '''
241 PseudoInst::m5checkpoint(xc->tcBase(), join32to64(R1, R0), join32to64(R3, R2));
242 '''
243 m5checkpointIop = InstObjParams("m5checkpoint", "M5checkpoint", "PredOp",
244 { "code": m5checkpoint_code,
245 "predicate_test": predicateTest },
246 ["IsNonSpeculative"])
246 ["IsNonSpeculative", "IsUnverifiable"])
247 header_output += BasicDeclare.subst(m5checkpointIop)
248 decoder_output += BasicConstructor.subst(m5checkpointIop)
249 exec_output += PredOpExecute.subst(m5checkpointIop)
250
251 m5readfileCode = '''
252 int n = 4;
253 uint64_t offset = getArgument(xc->tcBase(), n, sizeof(uint64_t), false);
254 R0 = PseudoInst::readfile(xc->tcBase(), R0, join32to64(R3,R2), offset);
255 '''
256 m5readfileIop = InstObjParams("m5readfile", "M5readfile", "PredOp",
257 { "code": m5readfileCode,
258 "predicate_test": predicateTest },
247 header_output += BasicDeclare.subst(m5checkpointIop)
248 decoder_output += BasicConstructor.subst(m5checkpointIop)
249 exec_output += PredOpExecute.subst(m5checkpointIop)
250
251 m5readfileCode = '''
252 int n = 4;
253 uint64_t offset = getArgument(xc->tcBase(), n, sizeof(uint64_t), false);
254 R0 = PseudoInst::readfile(xc->tcBase(), R0, join32to64(R3,R2), offset);
255 '''
256 m5readfileIop = InstObjParams("m5readfile", "M5readfile", "PredOp",
257 { "code": m5readfileCode,
258 "predicate_test": predicateTest },
259 ["IsNonSpeculative"])
259 ["IsNonSpeculative", "IsUnverifiable"])
260 header_output += BasicDeclare.subst(m5readfileIop)
261 decoder_output += BasicConstructor.subst(m5readfileIop)
262 exec_output += PredOpExecute.subst(m5readfileIop)
263
260 header_output += BasicDeclare.subst(m5readfileIop)
261 decoder_output += BasicConstructor.subst(m5readfileIop)
262 exec_output += PredOpExecute.subst(m5readfileIop)
263
264 m5writefileCode = '''
265 int n = 4;
266 uint64_t offset = getArgument(xc->tcBase(), n, sizeof(uint64_t), false);
267 n = 6;
268 Addr filenameAddr = getArgument(xc->tcBase(), n, sizeof(Addr), false);
269 R0 = PseudoInst::writefile(xc->tcBase(), R0, join32to64(R3,R2), offset,
270 filenameAddr);
271 '''
272 m5writefileIop = InstObjParams("m5writefile", "M5writefile", "PredOp",
273 { "code": m5writefileCode,
274 "predicate_test": predicateTest },
275 ["IsNonSpeculative"])
276 header_output += BasicDeclare.subst(m5writefileIop)
277 decoder_output += BasicConstructor.subst(m5writefileIop)
278 exec_output += PredOpExecute.subst(m5writefileIop)
279
264 m5breakIop = InstObjParams("m5break", "M5break", "PredOp",
265 { "code": "PseudoInst::debugbreak(xc->tcBase());",
266 "predicate_test": predicateTest },
267 ["IsNonSpeculative"])
268 header_output += BasicDeclare.subst(m5breakIop)
269 decoder_output += BasicConstructor.subst(m5breakIop)
270 exec_output += PredOpExecute.subst(m5breakIop)
271

--- 56 unchanged lines hidden ---
280 m5breakIop = InstObjParams("m5break", "M5break", "PredOp",
281 { "code": "PseudoInst::debugbreak(xc->tcBase());",
282 "predicate_test": predicateTest },
283 ["IsNonSpeculative"])
284 header_output += BasicDeclare.subst(m5breakIop)
285 decoder_output += BasicConstructor.subst(m5breakIop)
286 exec_output += PredOpExecute.subst(m5breakIop)
287

--- 56 unchanged lines hidden ---