swap.isa (12234:78ece221f9f5) | swap.isa (12385:288c62455dde) |
---|---|
1// Copyright (c) 2007 The Regents of The University of Michigan 2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer; 8// redistributions in binary form must reproduce the above copyright --- 150 unchanged lines hidden (view full) --- 159 header_output = MemDeclare.subst(iop) 160 decoder_output = BasicConstructor.subst(iop) 161 decode_block = BasicDecode.subst(iop) 162 microParams = {"code": code, "postacc_code" : postacc_code, 163 "ea_code" : addrCalcReg, "fault_check" : faultCode, 164 "EA_trunc" : TruncateEA} 165 exec_output = doSplitExecute(execute, name, Name, mem_flags, 166 ["IsStoreConditional"], microParams); | 1// Copyright (c) 2007 The Regents of The University of Michigan 2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer; 8// redistributions in binary form must reproduce the above copyright --- 150 unchanged lines hidden (view full) --- 159 header_output = MemDeclare.subst(iop) 160 decoder_output = BasicConstructor.subst(iop) 161 decode_block = BasicDecode.subst(iop) 162 microParams = {"code": code, "postacc_code" : postacc_code, 163 "ea_code" : addrCalcReg, "fault_check" : faultCode, 164 "EA_trunc" : TruncateEA} 165 exec_output = doSplitExecute(execute, name, Name, mem_flags, 166 ["IsStoreConditional"], microParams); |
167 return (header_output, decoder_output, exec_output + EACompExecute.subst(iop), decode_block) | 167 return (header_output, decoder_output, exec_output, decode_block) |
168}}; 169 170 171def format CasAlt(code, postacc_code, mem_flags, *opt_flags) {{ 172 mem_flags = makeList(mem_flags) 173 mem_flags = [ 'Request::%s' % flag for flag in mem_flags ] 174 mem_flags.append("EXT_ASI") 175 flags = string.join(mem_flags, '|') 176 (header_output, 177 decoder_output, 178 exec_output, 179 decode_block) = doCasFormat(code, SwapFuncs, AlternateASIPrivFaultCheck, 180 name, Name, flags, ["IsStoreConditional"], postacc_code) 181}}; 182 183 | 168}}; 169 170 171def format CasAlt(code, postacc_code, mem_flags, *opt_flags) {{ 172 mem_flags = makeList(mem_flags) 173 mem_flags = [ 'Request::%s' % flag for flag in mem_flags ] 174 mem_flags.append("EXT_ASI") 175 flags = string.join(mem_flags, '|') 176 (header_output, 177 decoder_output, 178 exec_output, 179 decode_block) = doCasFormat(code, SwapFuncs, AlternateASIPrivFaultCheck, 180 name, Name, flags, ["IsStoreConditional"], postacc_code) 181}}; 182 183 |