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