specop.isa (12234:78ece221f9f5) specop.isa (12236:126ac9da6050)
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

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

64 uint64_t setFlags) :
65 X86MicroopBase(_machInst, "halt", instMnem,
66 setFlags | (ULL(1) << StaticInst::IsNonSpeculative) |
67 (ULL(1) << StaticInst::IsQuiesce),
68 No_OpClass)
69 {
70 }
71
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

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

64 uint64_t setFlags) :
65 X86MicroopBase(_machInst, "halt", instMnem,
66 setFlags | (ULL(1) << StaticInst::IsNonSpeculative) |
67 (ULL(1) << StaticInst::IsQuiesce),
68 No_OpClass)
69 {
70 }
71
72 %(BasicExecDeclare)s
72 Fault execute(ExecContext *, Trace::InstRecord *) const;
73
74 std::string generateDisassembly(Addr pc,
75 const SymbolTable *symtab) const;
76 };
77}};
78
79def template MicroFaultDeclare {{
80 class %(class_name)s : public %(base_class)s
81 {
82 public:
83 %(class_name)s(ExtMachInst _machInst, const char * instMnem,
84 uint64_t setFlags, Fault _fault, uint8_t _cc);
85
73
74 std::string generateDisassembly(Addr pc,
75 const SymbolTable *symtab) const;
76 };
77}};
78
79def template MicroFaultDeclare {{
80 class %(class_name)s : public %(base_class)s
81 {
82 public:
83 %(class_name)s(ExtMachInst _machInst, const char * instMnem,
84 uint64_t setFlags, Fault _fault, uint8_t _cc);
85
86 %(BasicExecDeclare)s
86 Fault execute(ExecContext *, Trace::InstRecord *) const;
87 };
88}};
89
90def template MicroFaultExecute {{
91 Fault %(class_name)s::execute(ExecContext *xc,
92 Trace::InstRecord *traceData) const
93 {
94 %(op_decl)s;

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

209def template MicroFenceOpDeclare {{
210 class %(class_name)s : public X86ISA::X86MicroopBase
211 {
212 public:
213 %(class_name)s(ExtMachInst _machInst,
214 const char * instMnem,
215 uint64_t setFlags);
216
87 };
88}};
89
90def template MicroFaultExecute {{
91 Fault %(class_name)s::execute(ExecContext *xc,
92 Trace::InstRecord *traceData) const
93 {
94 %(op_decl)s;

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

209def template MicroFenceOpDeclare {{
210 class %(class_name)s : public X86ISA::X86MicroopBase
211 {
212 public:
213 %(class_name)s(ExtMachInst _machInst,
214 const char * instMnem,
215 uint64_t setFlags);
216
217 %(BasicExecDeclare)s
217 Fault execute(ExecContext *, Trace::InstRecord *) const;
218 };
219}};
220
221def template MicroFenceOpConstructor {{
222 %(class_name)s::%(class_name)s(
223 ExtMachInst machInst, const char * instMnem, uint64_t setFlags) :
224 %(base_class)s(machInst, "%(mnemonic)s", instMnem,
225 setFlags, %(op_class)s)

--- 34 unchanged lines hidden ---
218 };
219}};
220
221def template MicroFenceOpConstructor {{
222 %(class_name)s::%(class_name)s(
223 ExtMachInst machInst, const char * instMnem, uint64_t setFlags) :
224 %(base_class)s(machInst, "%(mnemonic)s", instMnem,
225 setFlags, %(op_class)s)

--- 34 unchanged lines hidden ---