int main()

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;
}