Deleted Added
sdiff udiff text old ( 12234:78ece221f9f5 ) new ( 12236:126ac9da6050 )
full compact
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
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
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 ---