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 03a3e4c440..4a1acdb490 100644 --- a/src/system/libroot/os/arch/x86_64/system_info.cpp +++ b/src/system/libroot/os/arch/x86_64/system_info.cpp @@ -1,4 +1,5 @@ /* + * Cp[yright 2014, Paweł Dziepak, pdziepak@quarnos.org. * Copyright 2003-2004, Axel Dörfler, axeld@pinc-software.de. * Distributed under the terms of the MIT License. */ @@ -11,6 +12,10 @@ status_t get_cpuid(cpuid_info* info, uint32 eaxRegister, uint32 cpuNum) { - return _kern_get_cpuid(info, eaxRegister, cpuNum); + __asm__("cpuid" + : "=a" (info->regs.eax), "=b" (info->regs.ebx), "=c" (info->regs.ecx), + "=d" (info->regs.edx) + : "a" (eaxRegister), "c" (0)); + return B_OK; }