swap.isa (10196:be0e1724eb39) swap.isa (12234:78ece221f9f5)
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

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

24// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26//
27// Authors: Gabe Black
28// Ali Saidi
29
30// This template provides the execute functions for a swap
31def template SwapExecute {{
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

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

24// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26//
27// Authors: Gabe Black
28// Ali Saidi
29
30// This template provides the execute functions for a swap
31def template SwapExecute {{
32 Fault %(class_name)s::execute(CPU_EXEC_CONTEXT *xc,
32 Fault %(class_name)s::execute(ExecContext *xc,
33 Trace::InstRecord *traceData) const
34 {
35 Fault fault = NoFault;
36 // This is to support the conditional store in cas instructions.
37 // It should be optomized out in all the others
38 bool storeCond = true;
39 Addr EA;
40 %(fp_enable_check)s;

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

63 }
64
65 return fault;
66 }
67}};
68
69
70def template SwapInitiateAcc {{
33 Trace::InstRecord *traceData) const
34 {
35 Fault fault = NoFault;
36 // This is to support the conditional store in cas instructions.
37 // It should be optomized out in all the others
38 bool storeCond = true;
39 Addr EA;
40 %(fp_enable_check)s;

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

63 }
64
65 return fault;
66 }
67}};
68
69
70def template SwapInitiateAcc {{
71 Fault %(class_name)s::initiateAcc(CPU_EXEC_CONTEXT * xc,
71 Fault %(class_name)s::initiateAcc(ExecContext * xc,
72 Trace::InstRecord * traceData) const
73 {
74 Fault fault = NoFault;
75 Addr EA;
76 %(fp_enable_check)s;
77 uint64_t mem_data = 0;
78 %(op_decl)s;
79 %(op_rd)s;

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

92 }
93 return fault;
94 }
95}};
96
97
98
99def template SwapCompleteAcc {{
72 Trace::InstRecord * traceData) const
73 {
74 Fault fault = NoFault;
75 Addr EA;
76 %(fp_enable_check)s;
77 uint64_t mem_data = 0;
78 %(op_decl)s;
79 %(op_rd)s;

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

92 }
93 return fault;
94 }
95}};
96
97
98
99def template SwapCompleteAcc {{
100 Fault %(class_name)s::completeAcc(PacketPtr pkt, CPU_EXEC_CONTEXT * xc,
100 Fault %(class_name)s::completeAcc(PacketPtr pkt, ExecContext * xc,
101 Trace::InstRecord * traceData) const
102 {
103 Fault fault = NoFault;
104 %(op_decl)s;
105
106 getMem(pkt, Mem, traceData);
107 uint64_t mem_data = Mem;
108

--- 75 unchanged lines hidden ---
101 Trace::InstRecord * traceData) const
102 {
103 Fault fault = NoFault;
104 %(op_decl)s;
105
106 getMem(pkt, Mem, traceData);
107 uint64_t mem_data = Mem;
108

--- 75 unchanged lines hidden ---