nop.isa (12234:78ece221f9f5) | nop.isa (12236:126ac9da6050) |
---|---|
1// Copyright (c) 2006-2007 The Regents of The University of Michigan 2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer; 8// redistributions in binary form must reproduce the above copyright --- 20 unchanged lines hidden (view full) --- 29 30//////////////////////////////////////////////////////////////////// 31// 32// Nop instruction 33// 34 35// Per-cpu-model nop execute method. 36def template NopExec {{ | 1// Copyright (c) 2006-2007 The Regents of The University of Michigan 2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer; 8// redistributions in binary form must reproduce the above copyright --- 20 unchanged lines hidden (view full) --- 29 30//////////////////////////////////////////////////////////////////// 31// 32// Nop instruction 33// 34 35// Per-cpu-model nop execute method. 36def template NopExec {{ |
37 38 Fault execute(ExecContext *xc, Trace::InstRecord *traceData) const 39 { 40 // Nothing to see here, move along 41 return NoFault; 42 } | |
43}}; 44 45output header {{ 46 /** 47 * Nop class. 48 */ 49 class Nop : public SparcStaticInst 50 { 51 public: 52 // Constructor 53 Nop(const char *mnem, ExtMachInst _machInst, OpClass __opClass) : 54 SparcStaticInst(mnem, _machInst, __opClass) 55 { 56 flags[IsNop] = true; 57 } 58 | 37}}; 38 39output header {{ 40 /** 41 * Nop class. 42 */ 43 class Nop : public SparcStaticInst 44 { 45 public: 46 // Constructor 47 Nop(const char *mnem, ExtMachInst _machInst, OpClass __opClass) : 48 SparcStaticInst(mnem, _machInst, __opClass) 49 { 50 flags[IsNop] = true; 51 } 52 |
59 // All Nop instructions do the same thing, so this can be 60 // defined here. Nops can be defined directly, so there 61 // needs to be a default implementation. Interpolate via 62 // template so i gets expanded to a set of 63 // cpu-model-specific functions. 64 %(NopExec)s | 53 Fault 54 execute(ExecContext *xc, Trace::InstRecord *traceData) const 55 { 56 return NoFault; 57 } |
65 66 std::string generateDisassembly(Addr pc, 67 const SymbolTable *symtab) const; 68 }; 69}}; 70 71output decoder {{ 72 std::string Nop::generateDisassembly(Addr pc, --- 25 unchanged lines hidden --- | 58 59 std::string generateDisassembly(Addr pc, 60 const SymbolTable *symtab) const; 61 }; 62}}; 63 64output decoder {{ 65 std::string Nop::generateDisassembly(Addr pc, --- 25 unchanged lines hidden --- |