1/*
2 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
3 * Copyright (c) 2009 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

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

38#include "mem/ruby/common/Global.hh"
39
40class Check;
41class RubyTester;
42
43class CheckTable
44{
45 public:
46 CheckTable(int _num_cpu_sequencers, RubyTester* _tester);
46 CheckTable(int _num_writers, int _num_readers, RubyTester* _tester);
47 ~CheckTable();
48
49 Check* getRandomCheck();
50 Check* getCheck(const Address& address);
51
52 // bool isPresent(const Address& address) const;
53 // void removeCheckFromTable(const Address& address);
54 // bool isTableFull() const;

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

61
62 // Private copy constructor and assignment operator
63 CheckTable(const CheckTable& obj);
64 CheckTable& operator=(const CheckTable& obj);
65
66 std::vector<Check*> m_check_vector;
67 m5::hash_map<Address, Check*> m_lookup_map;
68
69 int m_num_cpu_sequencers;
69 int m_num_writers;
70 int m_num_readers;
71 RubyTester* m_tester_ptr;
72};
73
74inline std::ostream&
75operator<<(std::ostream& out, const CheckTable& obj)
76{
77 obj.print(out);
78 out << std::flush;
79 return out;
80}
81
82#endif // __CPU_RUBYTEST_CHECKTABLE_HH__