InvalidateGenerator.cc (10566:c99c8d2a7c31) InvalidateGenerator.cc (11320:42ecb523c64a)
1/*
2 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
3 * Copyright (c) 2009-2010 Advanced Micro Devices, 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

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

93 delete pkt->req;
94 delete pkt;
95
96 DPRINTF(DirectedTest, "failed to issue request - sequencer not ready\n");
97 return false;
98 }
99}
100
1/*
2 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
3 * Copyright (c) 2009-2010 Advanced Micro Devices, 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

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

93 delete pkt->req;
94 delete pkt;
95
96 DPRINTF(DirectedTest, "failed to issue request - sequencer not ready\n");
97 return false;
98 }
99}
100
101void
101void
102InvalidateGenerator::performCallback(uint32_t proc, Addr address)
103{
102InvalidateGenerator::performCallback(uint32_t proc, Addr address)
103{
104 assert(m_address == address);
104 assert(m_address == address);
105
106 if (m_status == InvalidateGeneratorStatus_Load_Pending) {
107 assert(m_active_read_node == proc);
108 m_active_read_node++;
109 //
110 // Once all cpus have the block in S state, issue the invalidate
111 //
112 if (m_active_read_node == m_num_cpus) {

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

123 m_active_inv_node = 0;
124 }
125 //
126 // Invalidate completed, send that info to the tester and restart
127 // the cycle
128 //
129 m_directed_tester->incrementCycleCompletions();
130 m_status = InvalidateGeneratorStatus_Load_Waiting;
105
106 if (m_status == InvalidateGeneratorStatus_Load_Pending) {
107 assert(m_active_read_node == proc);
108 m_active_read_node++;
109 //
110 // Once all cpus have the block in S state, issue the invalidate
111 //
112 if (m_active_read_node == m_num_cpus) {

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

123 m_active_inv_node = 0;
124 }
125 //
126 // Invalidate completed, send that info to the tester and restart
127 // the cycle
128 //
129 m_directed_tester->incrementCycleCompletions();
130 m_status = InvalidateGeneratorStatus_Load_Waiting;
131 }
132
131 }
132
133}
134
135InvalidateGenerator *
136InvalidateGeneratorParams::create()
137{
138 return new InvalidateGenerator(this);
139}
133}
134
135InvalidateGenerator *
136InvalidateGeneratorParams::create()
137{
138 return new InvalidateGenerator(this);
139}