nop.isa (2632:1bb2f91485ea) | nop.isa (2636:2e411eb3cae7) |
---|---|
1// Copyright (c) 2006 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 --- 18 unchanged lines hidden (view full) --- 27// Authors: Gabe Black 28// Steve Reinhardt 29 30//////////////////////////////////////////////////////////////////// 31// 32// Nop instruction 33// 34 | 1// Copyright (c) 2006 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 --- 18 unchanged lines hidden (view full) --- 27// Authors: Gabe Black 28// Steve Reinhardt 29 30//////////////////////////////////////////////////////////////////// 31// 32// Nop instruction 33// 34 |
35// Per-cpu-model nop execute method. 36def template NopExec {{ 37 38 Fault execute(%(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const 39 { 40 // Nothing to see here, move along 41 return NoFault; 42 } 43}}; 44 |
|
35output header {{ 36 /** 37 * Nop class. 38 */ 39 class Nop : public SparcStaticInst 40 { 41 public: 42 // Constructor 43 Nop(const char *mnem, ExtMachInst _machInst, OpClass __opClass) : 44 SparcStaticInst(mnem, _machInst, __opClass) 45 { 46 } 47 48 // All Nop instructions do the same thing, so this can be | 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 } 57 58 // All Nop instructions do the same thing, so this can be |
49 // defined here. Nops can be defined directly, so there needs 50 // to be a default implementation 51 Fault execute(%(CPU_exec_context)s *xc, 52 Trace::InstRecord *traceData) const 53 { 54 //Nothing to see here, move along 55 return NoFault; 56 } | 59 // defined here. Nops can be defined directly, so there 60 // needs to be a default implementation. Interpolate via 61 // template so i gets expanded to a set of 62 // cpu-model-specific functions. 63 %(NopExec)s |
57 58 std::string generateDisassembly(Addr pc, 59 const SymbolTable *symtab) const; 60 }; 61}}; 62 63output decoder {{ 64 std::string Nop::generateDisassembly(Addr pc, --- 27 unchanged lines hidden --- | 64 65 std::string generateDisassembly(Addr pc, 66 const SymbolTable *symtab) const; 67 }; 68}}; 69 70output decoder {{ 71 std::string Nop::generateDisassembly(Addr pc, --- 27 unchanged lines hidden --- |