mem.isa (7712:7733c562e5e3) mem.isa (7725:00ea9430643b)
1// -*- mode:c++ -*-
2
3// Copyright (c) 2007 MIPS Technologies, Inc.
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

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

447 return fault;
448 }
449}};
450
451def template MiscExecute {{
452 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc,
453 Trace::InstRecord *traceData) const
454 {
1// -*- mode:c++ -*-
2
3// Copyright (c) 2007 MIPS Technologies, Inc.
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

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

447 return fault;
448 }
449}};
450
451def template MiscExecute {{
452 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc,
453 Trace::InstRecord *traceData) const
454 {
455 Addr EA;
455 Addr EA M5_VAR_USED = 0;
456 Fault fault = NoFault;
457
458 %(fp_enable_check)s;
459 %(op_decl)s;
460 %(op_rd)s;
461 %(ea_code)s;
462
463 if (fault == NoFault) {

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

572 (header_output, decoder_output, decode_block, exec_output) = \
573 LoadStoreBase(name, Name, ea_code, memacc_code, mem_flags, inst_flags,
574 exec_template_base = 'Store')
575}};
576
577def format Prefetch(ea_code = {{ EA = Rs + disp; }},
578 mem_flags = [], pf_flags = [], inst_flags = []) {{
579 pf_mem_flags = mem_flags + pf_flags + ['PREFETCH']
456 Fault fault = NoFault;
457
458 %(fp_enable_check)s;
459 %(op_decl)s;
460 %(op_rd)s;
461 %(ea_code)s;
462
463 if (fault == NoFault) {

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

572 (header_output, decoder_output, decode_block, exec_output) = \
573 LoadStoreBase(name, Name, ea_code, memacc_code, mem_flags, inst_flags,
574 exec_template_base = 'Store')
575}};
576
577def format Prefetch(ea_code = {{ EA = Rs + disp; }},
578 mem_flags = [], pf_flags = [], inst_flags = []) {{
579 pf_mem_flags = mem_flags + pf_flags + ['PREFETCH']
580 pf_inst_flags = inst_flags + ['IsMemRef', 'IsLoad',
581 'IsDataPrefetch', 'MemReadOp']
580 pf_inst_flags = inst_flags
582
583 (header_output, decoder_output, decode_block, exec_output) = \
584 LoadStoreBase(name, Name, ea_code,
581
582 (header_output, decoder_output, decode_block, exec_output) = \
583 LoadStoreBase(name, Name, ea_code,
585 'xc->prefetch(EA, memAccessFlags);',
584 'warn_once("Prefetching not implemented for MIPS\\n");',
586 pf_mem_flags, pf_inst_flags, exec_template_base = 'Misc')
587
588}};
589
590def format StoreCond(memacc_code, postacc_code,
591 ea_code = {{ EA = Rs + disp; }},
592 mem_flags = [], inst_flags = []) {{
593 (header_output, decoder_output, decode_block, exec_output) = \
594 LoadStoreBase(name, Name, ea_code, memacc_code, mem_flags, inst_flags,
595 postacc_code, exec_template_base = 'StoreCond')
596}};
585 pf_mem_flags, pf_inst_flags, exec_template_base = 'Misc')
586
587}};
588
589def format StoreCond(memacc_code, postacc_code,
590 ea_code = {{ EA = Rs + disp; }},
591 mem_flags = [], inst_flags = []) {{
592 (header_output, decoder_output, decode_block, exec_output) = \
593 LoadStoreBase(name, Name, ea_code, memacc_code, mem_flags, inst_flags,
594 postacc_code, exec_template_base = 'StoreCond')
595}};