specop.isa (10184:bbfa3152bdea) specop.isa (10196:be0e1724eb39)
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

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

82 %(class_name)s(ExtMachInst _machInst, const char * instMnem,
83 uint64_t setFlags, Fault _fault, uint8_t _cc);
84
85 %(BasicExecDeclare)s
86 };
87}};
88
89def 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

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

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

--- 145 unchanged lines hidden ---
107 Trace::InstRecord * traceData) const
108 {
109 xc->tcBase()->suspend();
110 return NoFault;
111 }
112}};
113
114output decoder {{

--- 145 unchanged lines hidden ---