basic.isa (10196:be0e1724eb39) basic.isa (12234:78ece221f9f5)
1// -*- mode:c++ -*-
2
3// Copyright (c) 2011 ARM Limited
4// All rights reserved
5//
6// The license below extends only to copyright in the software and shall
7// not be construed as granting a license to any other intellectual
8// property including but not limited to intellectual property relating

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

37// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
38// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
39// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
40//
41// Authors: Stephen Hines
42
43// Declarations for execute() methods.
44def template BasicExecDeclare {{
1// -*- mode:c++ -*-
2
3// Copyright (c) 2011 ARM Limited
4// All rights reserved
5//
6// The license below extends only to copyright in the software and shall
7// not be construed as granting a license to any other intellectual
8// property including but not limited to intellectual property relating

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

37// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
38// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
39// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
40//
41// Authors: Stephen Hines
42
43// Declarations for execute() methods.
44def template BasicExecDeclare {{
45 Fault execute(%(CPU_exec_context)s *, Trace::InstRecord *) const;
45 Fault execute(ExecContext *, Trace::InstRecord *) const;
46}};
47
48// Basic instruction class declaration template.
49def template BasicDeclare {{
50 /**
51 * Static instruction class for "%(mnemonic)s".
52 */
53 class %(class_name)s : public %(base_class)s

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

77 {
78 %(constructor)s;
79 }
80}};
81
82
83// Basic instruction class execute method template.
84def template BasicExecute {{
46}};
47
48// Basic instruction class declaration template.
49def template BasicDeclare {{
50 /**
51 * Static instruction class for "%(mnemonic)s".
52 */
53 class %(class_name)s : public %(base_class)s

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

77 {
78 %(constructor)s;
79 }
80}};
81
82
83// Basic instruction class execute method template.
84def template BasicExecute {{
85 Fault %(class_name)s::execute(CPU_EXEC_CONTEXT *xc, Trace::InstRecord *traceData) const
85 Fault %(class_name)s::execute(
86 ExecContext *xc, Trace::InstRecord *traceData) const
86 {
87 Fault fault = NoFault;
88
89 %(op_decl)s;
90 %(op_rd)s;
91 %(code)s;
92
93 if (fault == NoFault)

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

105
106// Basic decode template, passing mnemonic in as string arg to constructor.
107def template BasicDecodeWithMnemonic {{
108 return new %(class_name)s("%(mnemonic)s", machInst);
109}};
110
111// Definitions of execute methods that panic.
112def template BasicExecPanic {{
87 {
88 Fault fault = NoFault;
89
90 %(op_decl)s;
91 %(op_rd)s;
92 %(code)s;
93
94 if (fault == NoFault)

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

106
107// Basic decode template, passing mnemonic in as string arg to constructor.
108def template BasicDecodeWithMnemonic {{
109 return new %(class_name)s("%(mnemonic)s", machInst);
110}};
111
112// Definitions of execute methods that panic.
113def template BasicExecPanic {{
113Fault execute(%(CPU_exec_context)s *, Trace::InstRecord *) const
114Fault execute(ExecContext *, Trace::InstRecord *) const
114{
115 panic("Execute method called when it shouldn't!");
116 // GCC < 4.3 fail to recognize the above panic as no return
117 return NoFault;
118}
119}};
115{
116 panic("Execute method called when it shouldn't!");
117 // GCC < 4.3 fail to recognize the above panic as no return
118 return NoFault;
119}
120}};