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 --- |