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