diff --git a/src/system/kernel/arch/x86/64/cpuid.cpp b/src/system/kernel/arch/x86/64/cpuid.cpp index 7d14b71bbd..a0fe6c0f6d 100644 --- a/src/system/kernel/arch/x86/64/cpuid.cpp +++ b/src/system/kernel/arch/x86/64/cpuid.cpp @@ -7,14 +7,14 @@ #include +#include + status_t get_current_cpuid(cpuid_info* info, uint32 eax, uint32 ecx) { - __asm__("cpuid" - : "=a" (info->regs.eax), "=b" (info->regs.ebx), "=c" (info->regs.ecx), - "=d" (info->regs.edx) - : "a" (eax), "c" (ecx)); + __cpuid_count(eax, ecx, info->regs.eax, info->regs.ebx, info->regs.ecx, + info->regs.edx); return B_OK; } diff --git a/src/system/libroot/os/arch/x86_64/system_info.cpp b/src/system/libroot/os/arch/x86_64/system_info.cpp index 354c21a55e..9bf5ef562d 100644 --- a/src/system/libroot/os/arch/x86_64/system_info.cpp +++ b/src/system/libroot/os/arch/x86_64/system_info.cpp @@ -6,16 +6,16 @@ #include -#include + +#include status_t -get_cpuid(cpuid_info* info, uint32 eaxRegister, uint32 cpuNum) +get_cpuid(cpuid_info* info, uint32 eax, uint32 cpuNum) { - __asm__("cpuid" - : "=a" (info->regs.eax), "=b" (info->regs.ebx), "=c" (info->regs.ecx), - "=d" (info->regs.edx) - : "a" (eaxRegister), "c" (0)); + __cpuid_count(eax, 0, info->regs.eax, info->regs.ebx, info->regs.ecx, + info->regs.edx); + return B_OK; }