Kernel: Allow specifying ecx with CPUID

Some CPUID functions (e.g. 0xb) require input values in ecx.
This commit is contained in:
Tom 2021-09-03 21:25:55 -06:00 committed by Andreas Kling
parent d14d68c462
commit 123087e235
Notes: sideshowbarker 2024-07-18 04:45:25 +09:00

View File

@ -12,9 +12,9 @@ namespace Kernel {
class CPUID {
public:
explicit CPUID(u32 function) { asm volatile("cpuid"
explicit CPUID(u32 function, u32 ecx = 0) { asm volatile("cpuid"
: "=a"(m_eax), "=b"(m_ebx), "=c"(m_ecx), "=d"(m_edx)
: "a"(function), "c"(0)); }
: "a"(function), "c"(ecx)); }
u32 eax() const { return m_eax; }
u32 ebx() const { return m_ebx; }
u32 ecx() const { return m_ecx; }