From a49d4936e36511c7ea7a76c46a6bc3baaafcc74b Mon Sep 17 00:00:00 2001 From: EnderIce2 Date: Wed, 28 Feb 2024 05:07:22 +0200 Subject: [PATCH] Fix cpuid 0x7 for AMD --- core/cpu.cpp | 2 +- include/cpu/x86/cpuid_amd.hpp | 4 ++-- tests/cpuid.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/cpu.cpp b/core/cpu.cpp index 7c93bef..32c4782 100644 --- a/core/cpu.cpp +++ b/core/cpu.cpp @@ -251,7 +251,7 @@ namespace CPU if (strcmp(CPU::Vendor(), x86_CPUID_VENDOR_AMD) == 0) { CPU::x86::AMD::CPUID0x00000001 cpuid1; - CPU::x86::AMD::CPUID0x00000007 cpuid7; + CPU::x86::AMD::CPUID0x00000007_ECX_0 cpuid7; feat.PGE = cpuid1.EDX.PGE; feat.SSE = cpuid1.EDX.SSE; diff --git a/include/cpu/x86/cpuid_amd.hpp b/include/cpu/x86/cpuid_amd.hpp index 189dc8c..65eaa5a 100644 --- a/include/cpu/x86/cpuid_amd.hpp +++ b/include/cpu/x86/cpuid_amd.hpp @@ -327,9 +327,9 @@ namespace CPU }; /** @brief Structured Extended Feature Identifiers */ - struct CPUID0x00000007 + struct CPUID0x00000007_ECX_0 { - __amd_cpuid_init(0x00000007); + __amd_cpuid_init2(0x00000007, 0x0, _ECX_0); /** @brief Structured Extended Feature Identifiers */ union diff --git a/tests/cpuid.cpp b/tests/cpuid.cpp index 16d1300..656d8de 100644 --- a/tests/cpuid.cpp +++ b/tests/cpuid.cpp @@ -34,7 +34,7 @@ __constructor void TestCPUIDStructs() CPU::x86::AMD::CPUID0x00000001 cpuid1; CPU::x86::AMD::CPUID0x00000005 cpuid5; CPU::x86::AMD::CPUID0x00000006 cpuid6; - CPU::x86::AMD::CPUID0x00000007 cpuid7; + CPU::x86::AMD::CPUID0x00000007_ECX_0 cpuid7_C_0; CPU::x86::AMD::CPUID0x0000000B_ECX_0 cpuidB_C_0; CPU::x86::AMD::CPUID0x0000000B_ECX_1 cpuidB_C_1; CPU::x86::AMD::CPUID0x0000000D_ECX_0 cpuidD_C_0;