1
0
Fork 0
mirror of https://github.com/kubernetes-sigs/node-feature-discovery.git synced 2025-03-05 08:17:04 +00:00
node-feature-discovery/rdt-discovery/l3-allocation-discovery.c
2016-12-12 11:26:15 -08:00

24 lines
622 B
C

#include <stdio.h>
#include <stdlib.h>
#include "machine.h"
int main(int argc, char *argv[]) {
struct cpuid_out res;
// Logic below from https://github.com/01org/intel-cmt-cat/blob/master/lib/host_cap.c
// TODO(balajismaniam): Implement L3 CAT detection using brand string and MSR probing if
// not detected using cpuid
lcpuid(0x7, 0x0, &res);
if (!(res.ebx & (1 << 15))) {
return EXIT_FAILURE;
}
else {
lcpuid(0x10, 0x0, &res);
if (!(res.ebx & (1 << 1))) {
return EXIT_FAILURE;
}
}
// If we are here, then L3 cache allocation capability is available.
return EXIT_SUCCESS;
}