int main(void)
{ struct perf_event_attr ret_attr, mret_attr; longlong count_rets, count_rets_mispred; int rrets_fd, mrrets_fd; unsignedint cpuid1_eax, b, c, d;
__cpuid(1, cpuid1_eax, b, c, d);
if (cpuid1_eax < 0x00800f00 ||
cpuid1_eax > 0x00afffff) {
fprintf(stderr, "This needs to run on a Zen[1-4] machine (CPUID(1).EAX: 0x%x). Exiting...\n", cpuid1_eax); exit(EXIT_FAILURE);
}
printf("RETs: (%lld retired <-> %lld mispredicted)\n",
count_rets, count_rets_mispred);
printf("SRSO Safe-RET mitigation works correctly if both counts are almost equal.\n");
return 0;
}
Messung V0.5
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.