Intel® ISA Extensions
Use hardware-based isolation and memory encryption to provide more code protection in your solutions.
1103 Discussions

Obtain time stamp disable (TSD) flag in user-mode

freeze2046
Beginner
525 Views
I need to check if the rdtsc instruction is supported by the processor and the operating system. The processor part is easy been done, but I have problem to check if the operation system is supporting this in other privileges than 0.

The general way is to read bit 2 from the control register CR4, but I cannot do this in PL3. Is there any workaround? I don't want to cause a Privileged Instruction exception.
0 Kudos
1 Reply
Chris_Hooper
Beginner
525 Views
If you are on Linux, you can use something like the following:

#include
#include

bool
is_rdtsc_supported(void)
{
int tsc_supported = PR_TSC_SIGSEGV;

if (prctl(PR_GET_TSC, &tsc_supported) < 0)
return false;

return tsc_supported == PR_TSC_ENABLE;
}
0 Kudos
Reply