1// -*- mode:c++ -*- 2 3// Copyright (c) 2009 The University of Edinburgh 4// All rights reserved. 5// 6// Redistribution and use in source and binary forms, with or without 7// modification, are permitted provided that the following conditions are 8// met: redistributions of source code must retain the above copyright --- 40 unchanged lines hidden (view full) --- 49 %(InitiateAccDeclare)s 50 51 %(CompleteAccDeclare)s 52 }; 53}}; 54 55 56def template InitiateAccDeclare {{ |
57 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const; |
58}}; 59 60 61def template CompleteAccDeclare {{ |
62 Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const; |
63}}; 64 65 66def template LoadStoreConstructor {{ 67 %(class_name)s::%(class_name)s(ExtMachInst machInst) 68 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s) 69 { 70 %(constructor)s; 71 } 72}}; 73 74 75def template LoadExecute {{ |
76 Fault %(class_name)s::execute(ExecContext *xc, |
77 Trace::InstRecord *traceData) const 78 { 79 Addr EA; 80 Fault fault = NoFault; 81 82 %(op_decl)s; 83 %(op_rd)s; 84 %(ea_code)s; --- 8 unchanged lines hidden (view full) --- 93 } 94 95 return fault; 96 } 97}}; 98 99 100def template LoadInitiateAcc {{ |
101 Fault %(class_name)s::initiateAcc(ExecContext *xc, |
102 Trace::InstRecord *traceData) const 103 { 104 Addr EA; 105 Fault fault = NoFault; 106 107 %(op_src_decl)s; 108 %(op_rd)s; 109 %(ea_code)s; --- 5 unchanged lines hidden (view full) --- 115 116 return fault; 117 } 118}}; 119 120 121def template LoadCompleteAcc {{ 122 Fault %(class_name)s::completeAcc(PacketPtr pkt, |
123 ExecContext *xc, |
124 Trace::InstRecord *traceData) const 125 { 126 Addr M5_VAR_USED EA; 127 Fault fault = NoFault; 128 129 %(op_decl)s; 130 %(op_rd)s; 131 --- 10 unchanged lines hidden (view full) --- 142 } 143 144 return fault; 145 } 146}}; 147 148 149def template StoreExecute {{ |
150 Fault %(class_name)s::execute(ExecContext *xc, |
151 Trace::InstRecord *traceData) const 152 { 153 Addr EA; 154 Fault fault = NoFault; 155 156 %(op_decl)s; 157 %(op_rd)s; 158 %(ea_code)s; --- 12 unchanged lines hidden (view full) --- 171 } 172 173 return fault; 174 } 175}}; 176 177 178def template StoreInitiateAcc {{ |
179 Fault %(class_name)s::initiateAcc(ExecContext *xc, |
180 Trace::InstRecord *traceData) const 181 { 182 Addr EA; 183 Fault fault = NoFault; 184 185 %(op_decl)s; 186 %(op_rd)s; 187 %(ea_code)s; --- 13 unchanged lines hidden (view full) --- 201 } 202 203 return fault; 204 } 205}}; 206 207 208def template StoreCompleteAcc {{ |
209 Fault %(class_name)s::completeAcc(PacketPtr pkt, ExecContext *xc, |
210 Trace::InstRecord *traceData) const 211 { 212 return NoFault; 213 } 214}}; 215 216 217// The generic memory operation generator. This is called when two versions --- 121 unchanged lines hidden --- |