ldstop.isa (8103:53c2d9b1c15d) | ldstop.isa (8432:4a0c9c9409e4) |
---|---|
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 --- 163 unchanged lines hidden (view full) --- 172 173 %(code)s; 174 175 if(fault == NoFault) 176 { 177 fault = write(xc, Mem, EA, memFlags); 178 if(fault == NoFault) 179 { | 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 --- 163 unchanged lines hidden (view full) --- 172 173 %(code)s; 174 175 if(fault == NoFault) 176 { 177 fault = write(xc, Mem, EA, memFlags); 178 if(fault == NoFault) 179 { |
180 %(post_code)s; | |
181 %(op_wb)s; 182 } 183 } 184 185 return fault; 186 } 187}}; 188 --- 217 unchanged lines hidden (view full) --- 406 defineMicroLoadOp('Ldst', 'Data = merge(Data, Mem, dataSize);', 407 'Data = Mem & mask(dataSize * 8);', 408 '(StoreCheck << FlagShift)') 409 defineMicroLoadOp('Ldstl', 'Data = merge(Data, Mem, dataSize);', 410 'Data = Mem & mask(dataSize * 8);', 411 '(StoreCheck << FlagShift) | Request::LOCKED') 412 defineMicroLoadOp('Ldfp', 'FpData.uqw = Mem;', big = False) 413 | 180 %(op_wb)s; 181 } 182 } 183 184 return fault; 185 } 186}}; 187 --- 217 unchanged lines hidden (view full) --- 405 defineMicroLoadOp('Ldst', 'Data = merge(Data, Mem, dataSize);', 406 'Data = Mem & mask(dataSize * 8);', 407 '(StoreCheck << FlagShift)') 408 defineMicroLoadOp('Ldstl', 'Data = merge(Data, Mem, dataSize);', 409 'Data = Mem & mask(dataSize * 8);', 410 '(StoreCheck << FlagShift) | Request::LOCKED') 411 defineMicroLoadOp('Ldfp', 'FpData.uqw = Mem;', big = False) 412 |
414 def defineMicroStoreOp(mnemonic, code, \ 415 postCode="", completeCode="", mem_flags="0"): | 413 def defineMicroStoreOp(mnemonic, code, completeCode="", mem_flags="0"): |
416 global header_output 417 global decoder_output 418 global exec_output 419 global microopClasses 420 Name = mnemonic 421 name = mnemonic.lower() 422 423 # Build up the all register version of this micro op 424 iop = InstObjParams(name, Name, 'X86ISA::LdStOp', 425 {"code": code, | 414 global header_output 415 global decoder_output 416 global exec_output 417 global microopClasses 418 Name = mnemonic 419 name = mnemonic.lower() 420 421 # Build up the all register version of this micro op 422 iop = InstObjParams(name, Name, 'X86ISA::LdStOp', 423 {"code": code, |
426 "post_code": postCode, | |
427 "complete_code": completeCode, 428 "ea_code": calculateEA}) 429 header_output += MicroLdStOpDeclare.subst(iop) 430 decoder_output += MicroLdStOpConstructor.subst(iop) 431 exec_output += MicroStoreExecute.subst(iop) 432 exec_output += MicroStoreInitiateAcc.subst(iop) 433 exec_output += MicroStoreCompleteAcc.subst(iop) 434 --- 71 unchanged lines hidden --- | 424 "complete_code": completeCode, 425 "ea_code": calculateEA}) 426 header_output += MicroLdStOpDeclare.subst(iop) 427 decoder_output += MicroLdStOpConstructor.subst(iop) 428 exec_output += MicroStoreExecute.subst(iop) 429 exec_output += MicroStoreInitiateAcc.subst(iop) 430 exec_output += MicroStoreCompleteAcc.subst(iop) 431 --- 71 unchanged lines hidden --- |