blockmem.isa (4040:eb894f3fc168) blockmem.isa (4362:95e5f28ce484)
1// Copyright (c) 2006-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

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

312 makeMicroName(Name, microPc),
313 makeMicroName(Name + "Imm", microPc),
314 asi, opt_flags);
315 faultCode = ''
316 return (header_output, decoder_output, exec_output, decode_block)
317}};
318
319def format BlockLoad(code, asi, *opt_flags) {{
1// Copyright (c) 2006-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

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

312 makeMicroName(Name, microPc),
313 makeMicroName(Name + "Imm", microPc),
314 asi, opt_flags);
315 faultCode = ''
316 return (header_output, decoder_output, exec_output, decode_block)
317}};
318
319def format BlockLoad(code, asi, *opt_flags) {{
320 code = filterDoubles(code)
320 # We need to make sure to check the highest priority fault last.
321 # That way, if other faults have been detected, they'll be overwritten
322 # rather than the other way around.
323 faultCode = AlternateASIPrivFaultCheck + BlockAlignmentFaultCheck
324 (header_output,
325 decoder_output,
326 exec_output,
327 decode_block) = doBlockMemFormat(code, faultCode,
328 LoadFuncs, name, Name, asi, opt_flags)
329}};
330
331def format BlockStore(code, asi, *opt_flags) {{
321 # We need to make sure to check the highest priority fault last.
322 # That way, if other faults have been detected, they'll be overwritten
323 # rather than the other way around.
324 faultCode = AlternateASIPrivFaultCheck + BlockAlignmentFaultCheck
325 (header_output,
326 decoder_output,
327 exec_output,
328 decode_block) = doBlockMemFormat(code, faultCode,
329 LoadFuncs, name, Name, asi, opt_flags)
330}};
331
332def format BlockStore(code, asi, *opt_flags) {{
333 code = filterDoubles(code)
332 # We need to make sure to check the highest priority fault last.
333 # That way, if other faults have been detected, they'll be overwritten
334 # rather than the other way around.
335 faultCode = AlternateASIPrivFaultCheck + BlockAlignmentFaultCheck
336 (header_output,
337 decoder_output,
338 exec_output,
339 decode_block) = doBlockMemFormat(code, faultCode,
340 StoreFuncs, name, Name, asi, opt_flags)
341}};
334 # We need to make sure to check the highest priority fault last.
335 # That way, if other faults have been detected, they'll be overwritten
336 # rather than the other way around.
337 faultCode = AlternateASIPrivFaultCheck + BlockAlignmentFaultCheck
338 (header_output,
339 decoder_output,
340 exec_output,
341 decode_block) = doBlockMemFormat(code, faultCode,
342 StoreFuncs, name, Name, asi, opt_flags)
343}};