in src/CodeAbortTimings/CodeAbortTimings.cpp [253:283]
int main(int argc, char** argv)
{
if (argc != 2)
{
cerr << "Usage: " << argv[0] << "<attacker core index, victim is 0>\n";
return -1;
}
maxPriority();
auto attackerCore = atoi(argv[1]);
int victimCore = 0;
cout << "\n++++++++++++++++\n"
<< "Core " << victimCore << " vs core " << attackerCore
<< "\n++++++++++++++++\n\n";
int id = 0;
runExp(id++, func0, nopfunc, victimCore, attackerCore, "Victim: read nopfunc; Attacker: evict nopfunc");
runExp(id++, func1, nopfunc, victimCore, attackerCore, "Victim: execute nopfunc; Attacker: evict nopfunc");
runExp(id++, func2, nopfunc, victimCore, attackerCore, "Victim: read nopfunc, spin; Attacker: evict nopfunc");
runExp(id++, func3, nopfunc, victimCore, attackerCore, "Victim: execute nopfunc, spin; Attacker: evict nopfunc");
runExp(id++, func3, spin, victimCore, attackerCore, "Victim: execute nopfunc, spin; Attacker: evict spin");
runExp(id++, func4, nopfunc, victimCore, attackerCore, "Victim: read nopfunc, execute nopfunc, spin; Attacker: evict nopfunc");
runExp(id++, func41, nopfunc, victimCore, attackerCore, "Victim: read nopfunc, ---no mfence---, execute nopfunc, spin; Attacker: evict nopfunc");
runExp(id++, func6, spin, victimCore, attackerCore, "Victim: read spin, spin; Attacker: evict spin");
runExp(id++, func5, nopfunc, victimCore, attackerCore, "Victim: read nopfunc, execute dummyfunc, spin; Attacker: evict nopfunc");
runExp(id++, func4, dummyfunc, victimCore, attackerCore, "Victim: read nopfunc, execute nopfunc, spin; Attacker: evict dummyfunc (comes 64 bytes after nopfunc)");
cout << "Wrote detailed timing reports to disk (*.csv)\n";
return 0;
}