x86_64: use the compiler built-in for cpuid.
This commit is contained in:
@@ -7,14 +7,14 @@
|
|||||||
|
|
||||||
#include <arch_system_info.h>
|
#include <arch_system_info.h>
|
||||||
|
|
||||||
|
#include <cpuid.h>
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
get_current_cpuid(cpuid_info* info, uint32 eax, uint32 ecx)
|
get_current_cpuid(cpuid_info* info, uint32 eax, uint32 ecx)
|
||||||
{
|
{
|
||||||
__asm__("cpuid"
|
__cpuid_count(eax, ecx, info->regs.eax, info->regs.ebx, info->regs.ecx,
|
||||||
: "=a" (info->regs.eax), "=b" (info->regs.ebx), "=c" (info->regs.ecx),
|
info->regs.edx);
|
||||||
"=d" (info->regs.edx)
|
|
||||||
: "a" (eax), "c" (ecx));
|
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,16 +6,16 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <OS.h>
|
#include <OS.h>
|
||||||
#include <syscalls.h>
|
|
||||||
|
#include <cpuid.h>
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
get_cpuid(cpuid_info* info, uint32 eaxRegister, uint32 cpuNum)
|
get_cpuid(cpuid_info* info, uint32 eax, uint32 cpuNum)
|
||||||
{
|
{
|
||||||
__asm__("cpuid"
|
__cpuid_count(eax, 0, info->regs.eax, info->regs.ebx, info->regs.ecx,
|
||||||
: "=a" (info->regs.eax), "=b" (info->regs.ebx), "=c" (info->regs.ecx),
|
info->regs.edx);
|
||||||
"=d" (info->regs.edx)
|
|
||||||
: "a" (eaxRegister), "c" (0));
|
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user