Мне нужно найти тип архитектуры процессора. У меня нет доступа к /proc/cpuinfo, так как на машине работает syslinux. Я знаю, что есть способ сделать это с помощью встроенного ASM, однако я считаю, что мой синтаксис неверен, поскольку моя переменная iedx не установлена должным образом.
Я тащусь вместе с ASM, и отнюдь не эксперт. Если у кого-то есть какие-либо советы или может указать мне в правильном направлении, я был бы очень обязан.
static int is64Bit(void) {
int iedx = 0;
asm("mov %eax, 0x80000001");
asm("cpuid");
asm("mov %0, %%eax" : : "a" (iedx));
if ((iedx) && (1 << 29))
{
return 1;
}
return 0;
}