35#include "debug/RubyTest.hh"
41 : m_num_writers(_num_writers), m_num_readers(_num_readers),
47 const int size2 = 100;
49 DPRINTF(RubyTest,
"Adding false sharing checks\n");
52 for (
int i = 0;
i < size1;
i++) {
58 DPRINTF(RubyTest,
"Adding cache conflict checks\n");
62 for (
int i = 0;
i < size2;
i++) {
68 DPRINTF(RubyTest,
"Adding cache conflict checks2\n");
70 for (
int i = 0;
i < size2;
i++) {
80 for (
int i = 0;
i < size;
i++)
89 panic(
"Check not aligned");
101 DPRINTF(RubyTest,
"Adding check for address: %s\n", address);
122 DPRINTF(RubyTest,
"Looking for check by address: %s\n", address);
130 assert(check != NULL);
RubyTester * m_tester_ptr
void print(std::ostream &out) const
std::unordered_map< Addr, Check * > m_lookup_map
std::vector< Check * > m_check_vector
Check * getCheck(Addr address)
void addCheck(Addr address)
CheckTable(int _num_writers, int _num_readers, RubyTester *_tester)
static constexpr std::enable_if_t< std::is_integral_v< T >, int > floorLog2(T x)
#define panic(...)
This implements a cprintf based panic() function.
Addr bitSelect(Addr addr, unsigned int small, unsigned int big)
Copyright (c) 2024 Arm Limited All rights reserved.
const int CHECK_SIZE_BITS
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.