Написах следното вградено събрание, за да опитам да проверя за ID флага. Знам, че трябва да се зададе, защото мога да използвам инструкцията cpuid, но тази функция връща 0, когато я тествам.
_Bool /* Checks whether the cpu has the cpuid instruction available */
cpu_has_cpuid(void) {
uint64_t out;
asm ("pushfq\n\t"
"popq %[out]\n\t"
: [out] "=r" (out)
:: "memory");
return out & 0x200000;
}
Някой знае ли какво направих грешно тук и може ли да ми помогне?
Ако помага, стойността, която получавам без битовата маска, е 582
.