Я хочу проверить, доступна ли инструкция RDTSC.Должен быть процессор Intel Pentium или более новый, либо либо флаг TSD в регистре CR4 сброшен, либо он установлен, а CPL равен 0.
Итак, нет проблем с получением текущего уровня привилегий (биты 0 и1 из регистра сегмента CS).Также нет проблем проверить, поддерживается ли сама инструкция (CPUID.1: EDX [4] = 1).
Но (и это проблема), это также должно выполняться в пользовательском режиме (PL3).Но я не могу прочитать управляющий регистр CR4 в пользовательском режиме.
Есть ли другой способ проверить, ограничивает ли операционная система доступ к счетчику меток времени?