ldstop.isa (7620:3d8a23caa1ef) | ldstop.isa (7626:bdd926760470) |
---|---|
1// Copyright (c) 2007-2008 The Hewlett-Packard Development Company 2// All rights reserved. 3// 4// The license below extends only to copyright in the software and shall 5// not be construed as granting a license to any other intellectual 6// property including but not limited to intellectual property relating 7// to a hardware implementation of the functionality of the software 8// licensed hereunder. You may use the software subject to the license --- 57 unchanged lines hidden (view full) --- 66 67 return fault; 68 } 69}}; 70 71def template MicroLeaDeclare {{ 72 class %(class_name)s : public %(base_class)s 73 { | 1// Copyright (c) 2007-2008 The Hewlett-Packard Development Company 2// All rights reserved. 3// 4// The license below extends only to copyright in the software and shall 5// not be construed as granting a license to any other intellectual 6// property including but not limited to intellectual property relating 7// to a hardware implementation of the functionality of the software 8// licensed hereunder. You may use the software subject to the license --- 57 unchanged lines hidden (view full) --- 66 67 return fault; 68 } 69}}; 70 71def template MicroLeaDeclare {{ 72 class %(class_name)s : public %(base_class)s 73 { |
74 protected: 75 void buildMe(); 76 | |
77 public: 78 %(class_name)s(ExtMachInst _machInst, 79 const char * instMnem, uint64_t setFlags, 80 uint8_t _scale, InstRegIndex _index, InstRegIndex _base, 81 uint64_t _disp, InstRegIndex _segment, 82 InstRegIndex _data, 83 uint8_t _dataSize, uint8_t _addressSize, 84 Request::FlagsType _memFlags); 85 | 74 public: 75 %(class_name)s(ExtMachInst _machInst, 76 const char * instMnem, uint64_t setFlags, 77 uint8_t _scale, InstRegIndex _index, InstRegIndex _base, 78 uint64_t _disp, InstRegIndex _segment, 79 InstRegIndex _data, 80 uint8_t _dataSize, uint8_t _addressSize, 81 Request::FlagsType _memFlags); 82 |
86 %(class_name)s(ExtMachInst _machInst, 87 const char * instMnem, 88 uint8_t _scale, InstRegIndex _index, InstRegIndex _base, 89 uint64_t _disp, InstRegIndex _segment, 90 InstRegIndex _data, 91 uint8_t _dataSize, uint8_t _addressSize, 92 Request::FlagsType _memFlags); 93 | |
94 %(BasicExecDeclare)s 95 }; 96}}; 97 98// Load templates 99 100def template MicroLoadExecute {{ 101 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, --- 139 unchanged lines hidden (view full) --- 241//This declares the completeAcc function in memory operations 242def template CompleteAccDeclare {{ 243 Fault completeAcc(PacketPtr, %(CPU_exec_context)s *, Trace::InstRecord *) const; 244}}; 245 246def template MicroLdStOpDeclare {{ 247 class %(class_name)s : public %(base_class)s 248 { | 83 %(BasicExecDeclare)s 84 }; 85}}; 86 87// Load templates 88 89def template MicroLoadExecute {{ 90 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, --- 139 unchanged lines hidden (view full) --- 230//This declares the completeAcc function in memory operations 231def template CompleteAccDeclare {{ 232 Fault completeAcc(PacketPtr, %(CPU_exec_context)s *, Trace::InstRecord *) const; 233}}; 234 235def template MicroLdStOpDeclare {{ 236 class %(class_name)s : public %(base_class)s 237 { |
249 protected: 250 void buildMe(); 251 | |
252 public: 253 %(class_name)s(ExtMachInst _machInst, 254 const char * instMnem, uint64_t setFlags, 255 uint8_t _scale, InstRegIndex _index, InstRegIndex _base, 256 uint64_t _disp, InstRegIndex _segment, 257 InstRegIndex _data, 258 uint8_t _dataSize, uint8_t _addressSize, 259 Request::FlagsType _memFlags); 260 | 238 public: 239 %(class_name)s(ExtMachInst _machInst, 240 const char * instMnem, uint64_t setFlags, 241 uint8_t _scale, InstRegIndex _index, InstRegIndex _base, 242 uint64_t _disp, InstRegIndex _segment, 243 InstRegIndex _data, 244 uint8_t _dataSize, uint8_t _addressSize, 245 Request::FlagsType _memFlags); 246 |
261 %(class_name)s(ExtMachInst _machInst, 262 const char * instMnem, 263 uint8_t _scale, InstRegIndex _index, InstRegIndex _base, 264 uint64_t _disp, InstRegIndex _segment, 265 InstRegIndex _data, 266 uint8_t _dataSize, uint8_t _addressSize, 267 Request::FlagsType _memFlags); 268 | |
269 %(BasicExecDeclare)s 270 271 %(InitiateAccDeclare)s 272 273 %(CompleteAccDeclare)s 274 }; 275}}; 276 277def template MicroLdStOpConstructor {{ | 247 %(BasicExecDeclare)s 248 249 %(InitiateAccDeclare)s 250 251 %(CompleteAccDeclare)s 252 }; 253}}; 254 255def template MicroLdStOpConstructor {{ |
278 279 inline void %(class_name)s::buildMe() 280 { 281 %(constructor)s; 282 } 283 | |
284 inline %(class_name)s::%(class_name)s( | 256 inline %(class_name)s::%(class_name)s( |
285 ExtMachInst machInst, const char * instMnem, 286 uint8_t _scale, InstRegIndex _index, InstRegIndex _base, 287 uint64_t _disp, InstRegIndex _segment, 288 InstRegIndex _data, 289 uint8_t _dataSize, uint8_t _addressSize, 290 Request::FlagsType _memFlags) : 291 %(base_class)s(machInst, "%(mnemonic)s", instMnem, 0, 292 _scale, _index, _base, 293 _disp, _segment, _data, 294 _dataSize, _addressSize, _memFlags, %(op_class)s) 295 { 296 buildMe(); 297 } 298 299 inline %(class_name)s::%(class_name)s( | |
300 ExtMachInst machInst, const char * instMnem, uint64_t setFlags, 301 uint8_t _scale, InstRegIndex _index, InstRegIndex _base, 302 uint64_t _disp, InstRegIndex _segment, 303 InstRegIndex _data, 304 uint8_t _dataSize, uint8_t _addressSize, 305 Request::FlagsType _memFlags) : 306 %(base_class)s(machInst, "%(mnemonic)s", instMnem, setFlags, 307 _scale, _index, _base, 308 _disp, _segment, _data, 309 _dataSize, _addressSize, _memFlags, %(op_class)s) 310 { | 257 ExtMachInst machInst, const char * instMnem, uint64_t setFlags, 258 uint8_t _scale, InstRegIndex _index, InstRegIndex _base, 259 uint64_t _disp, InstRegIndex _segment, 260 InstRegIndex _data, 261 uint8_t _dataSize, uint8_t _addressSize, 262 Request::FlagsType _memFlags) : 263 %(base_class)s(machInst, "%(mnemonic)s", instMnem, setFlags, 264 _scale, _index, _base, 265 _disp, _segment, _data, 266 _dataSize, _addressSize, _memFlags, %(op_class)s) 267 { |
311 buildMe(); | 268 %(constructor)s; |
312 } 313}}; 314 315let {{ 316 class LdStOp(X86Microop): 317 def __init__(self, data, segment, addr, disp, 318 dataSize, addressSize, baseFlags, atCPL0, prefetch): 319 self.data = data --- 172 unchanged lines hidden --- | 269 } 270}}; 271 272let {{ 273 class LdStOp(X86Microop): 274 def __init__(self, data, segment, addr, disp, 275 dataSize, addressSize, baseFlags, atCPL0, prefetch): 276 self.data = data --- 172 unchanged lines hidden --- |