m5ops.isa (8733:64a7bf8fa56c) m5ops.isa (8734:79592b2b1d55)
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

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

260 m5readfileIop = InstObjParams("m5readfile", "M5readfile", "PredOp",
261 { "code": m5readfileCode,
262 "predicate_test": predicateTest },
263 ["IsNonSpeculative", "IsUnverifiable"])
264 header_output += BasicDeclare.subst(m5readfileIop)
265 decoder_output += BasicConstructor.subst(m5readfileIop)
266 exec_output += PredOpExecute.subst(m5readfileIop)
267
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

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

260 m5readfileIop = InstObjParams("m5readfile", "M5readfile", "PredOp",
261 { "code": m5readfileCode,
262 "predicate_test": predicateTest },
263 ["IsNonSpeculative", "IsUnverifiable"])
264 header_output += BasicDeclare.subst(m5readfileIop)
265 decoder_output += BasicConstructor.subst(m5readfileIop)
266 exec_output += PredOpExecute.subst(m5readfileIop)
267
268 m5writefileCode = '''
269#if FULL_SYSTEM
270 int n = 4;
271 uint64_t offset = getArgument(xc->tcBase(), n, sizeof(uint64_t), false);
272 n = 6;
273 Addr filenameAddr = getArgument(xc->tcBase(), n, sizeof(Addr), false);
274 R0 = PseudoInst::writefile(xc->tcBase(), R0, join32to64(R3,R2), offset,
275 filenameAddr);
276#endif
277 '''
278 m5writefileIop = InstObjParams("m5writefile", "M5writefile", "PredOp",
279 { "code": m5writefileCode,
280 "predicate_test": predicateTest },
281 ["IsNonSpeculative"])
282 header_output += BasicDeclare.subst(m5writefileIop)
283 decoder_output += BasicConstructor.subst(m5writefileIop)
284 exec_output += PredOpExecute.subst(m5writefileIop)
285
268 m5breakIop = InstObjParams("m5break", "M5break", "PredOp",
269 { "code": "PseudoInst::debugbreak(xc->tcBase());",
270 "predicate_test": predicateTest },
271 ["IsNonSpeculative"])
272 header_output += BasicDeclare.subst(m5breakIop)
273 decoder_output += BasicConstructor.subst(m5breakIop)
274 exec_output += PredOpExecute.subst(m5breakIop)
275

--- 56 unchanged lines hidden ---
286 m5breakIop = InstObjParams("m5break", "M5break", "PredOp",
287 { "code": "PseudoInst::debugbreak(xc->tcBase());",
288 "predicate_test": predicateTest },
289 ["IsNonSpeculative"])
290 header_output += BasicDeclare.subst(m5breakIop)
291 decoder_output += BasicConstructor.subst(m5breakIop)
292 exec_output += PredOpExecute.subst(m5breakIop)
293

--- 56 unchanged lines hidden ---