main.isa (12106:7784fac1b159) | main.isa (12234:78ece221f9f5) |
---|---|
1// -*- mode:c++ -*- 2 3// Copyright (c) 2003-2005 The Regents of The University of Michigan 4// All rights reserved. 5// 6// Redistribution and use in source and binary forms, with or without 7// modification, are permitted provided that the following conditions are 8// met: redistributions of source code must retain the above copyright --- 273 unchanged lines hidden (view full) --- 282 } 283 284 return ss.str(); 285 } 286}}; 287 288// Declarations for execute() methods. 289def template BasicExecDeclare {{ | 1// -*- mode:c++ -*- 2 3// Copyright (c) 2003-2005 The Regents of The University of Michigan 4// All rights reserved. 5// 6// Redistribution and use in source and binary forms, with or without 7// modification, are permitted provided that the following conditions are 8// met: redistributions of source code must retain the above copyright --- 273 unchanged lines hidden (view full) --- 282 } 283 284 return ss.str(); 285 } 286}}; 287 288// Declarations for execute() methods. 289def template BasicExecDeclare {{ |
290 Fault execute(%(CPU_exec_context)s *, Trace::InstRecord *) const; | 290 Fault execute(ExecContext *, Trace::InstRecord *) const; |
291}}; 292 293// Basic instruction class declaration template. 294def template BasicDeclare {{ 295 /** 296 * Static instruction class for "%(mnemonic)s". 297 */ 298 class %(class_name)s : public %(base_class)s --- 12 unchanged lines hidden (view full) --- 311 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s) 312 { 313 %(constructor)s; 314 } 315}}; 316 317// Basic instruction class execute method template. 318def template BasicExecute {{ | 291}}; 292 293// Basic instruction class declaration template. 294def template BasicDeclare {{ 295 /** 296 * Static instruction class for "%(mnemonic)s". 297 */ 298 class %(class_name)s : public %(base_class)s --- 12 unchanged lines hidden (view full) --- 311 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s) 312 { 313 %(constructor)s; 314 } 315}}; 316 317// Basic instruction class execute method template. 318def template BasicExecute {{ |
319 Fault %(class_name)s::execute(CPU_EXEC_CONTEXT *xc, | 319 Fault %(class_name)s::execute(ExecContext *xc, |
320 Trace::InstRecord *traceData) const 321 { 322 Fault fault = NoFault; 323 324 %(fp_enable_check)s; 325 %(op_decl)s; 326 %(op_rd)s; 327 %(code)s; --- 79 unchanged lines hidden (view full) --- 407#else 408 return csprintf("%-10s (%s)", "nop", originalDisassembly); 409#endif 410 } 411}}; 412 413output exec {{ 414 Fault | 320 Trace::InstRecord *traceData) const 321 { 322 Fault fault = NoFault; 323 324 %(fp_enable_check)s; 325 %(op_decl)s; 326 %(op_rd)s; 327 %(code)s; --- 79 unchanged lines hidden (view full) --- 407#else 408 return csprintf("%-10s (%s)", "nop", originalDisassembly); 409#endif 410 } 411}}; 412 413output exec {{ 414 Fault |
415 Nop::execute(CPU_EXEC_CONTEXT *, Trace::InstRecord *) const | 415 Nop::execute(ExecContext *, Trace::InstRecord *) const |
416 { 417 return NoFault; 418 } 419}}; 420 421// integer & FP operate instructions use Rc as dest, so check for 422// Rc == 31 to detect nops 423def template OperateNopCheckDecode {{ --- 47 unchanged lines hidden --- | 416 { 417 return NoFault; 418 } 419}}; 420 421// integer & FP operate instructions use Rc as dest, so check for 422// Rc == 31 to detect nops 423def template OperateNopCheckDecode {{ --- 47 unchanged lines hidden --- |