specop.isa (10341:0b4d10f53c2d) specop.isa (12234:78ece221f9f5)
1// Copyright (c) 2007-2008 The Hewlett-Packard Development Company
2// Copyright (c) 2011 Mark D. Hill and David A. Wood
3// All rights reserved.
4//
5// The license below extends only to copyright in the software and shall
6// not be construed as granting a license to any other intellectual
7// property including but not limited to intellectual property relating
8// to a hardware implementation of the functionality of the software

--- 74 unchanged lines hidden (view full) ---

83 %(class_name)s(ExtMachInst _machInst, const char * instMnem,
84 uint64_t setFlags, Fault _fault, uint8_t _cc);
85
86 %(BasicExecDeclare)s
87 };
88}};
89
90def template MicroFaultExecute {{
1// Copyright (c) 2007-2008 The Hewlett-Packard Development Company
2// Copyright (c) 2011 Mark D. Hill and David A. Wood
3// All rights reserved.
4//
5// The license below extends only to copyright in the software and shall
6// not be construed as granting a license to any other intellectual
7// property including but not limited to intellectual property relating
8// to a hardware implementation of the functionality of the software

--- 74 unchanged lines hidden (view full) ---

83 %(class_name)s(ExtMachInst _machInst, const char * instMnem,
84 uint64_t setFlags, Fault _fault, uint8_t _cc);
85
86 %(BasicExecDeclare)s
87 };
88}};
89
90def template MicroFaultExecute {{
91 Fault %(class_name)s::execute(CPU_EXEC_CONTEXT *xc,
91 Fault %(class_name)s::execute(ExecContext *xc,
92 Trace::InstRecord *traceData) const
93 {
94 %(op_decl)s;
95 %(op_rd)s;
96 if (%(cond_test)s) {
97 //Return the fault we were constructed with
98 return fault;
99 } else {
100 return NoFault;
101 }
102 }
103}};
104
105output exec {{
106 Fault
92 Trace::InstRecord *traceData) const
93 {
94 %(op_decl)s;
95 %(op_rd)s;
96 if (%(cond_test)s) {
97 //Return the fault we were constructed with
98 return fault;
99 } else {
100 return NoFault;
101 }
102 }
103}};
104
105output exec {{
106 Fault
107 MicroHalt::execute(CPU_EXEC_CONTEXT *xc,
108 Trace::InstRecord * traceData) const
107 MicroHalt::execute(ExecContext *xc, Trace::InstRecord * traceData) const
109 {
110 xc->tcBase()->suspend();
111 return NoFault;
112 }
113}};
114
115output decoder {{
116 MicroFaultBase::MicroFaultBase(

--- 144 unchanged lines hidden ---
108 {
109 xc->tcBase()->suspend();
110 return NoFault;
111 }
112}};
113
114output decoder {{
115 MicroFaultBase::MicroFaultBase(

--- 144 unchanged lines hidden ---