From 6df6a012d221d352e8ee2bc1fc95a43a0081c739 Mon Sep 17 00:00:00 2001 From: Aiken Harris Date: Thu, 14 May 2026 21:12:09 +0200 Subject: [PATCH] Partially revert ca4f3acc0e --- xtoskrnl/ar/amd64/procsup.cc | 25 +++++++------------------ xtoskrnl/ar/i686/procsup.cc | 25 +++++++------------------ 2 files changed, 14 insertions(+), 36 deletions(-) diff --git a/xtoskrnl/ar/amd64/procsup.cc b/xtoskrnl/ar/amd64/procsup.cc index 16aab6b..cd22542 100644 --- a/xtoskrnl/ar/amd64/procsup.cc +++ b/xtoskrnl/ar/amd64/procsup.cc @@ -77,29 +77,13 @@ AR::ProcSup::IdentifyProcessor(VOID) CpuRegisters.Leaf = CPUID_GET_VENDOR_STRING; AR::CpuFunc::CpuId(&CpuRegisters); - /* Store CPU vendor name in processor control block */ + /* Store CPU vendor in processor control block */ + Prcb->CpuId.Vendor = (CPU_VENDOR)CpuRegisters.Ebx; *(PULONG)&Prcb->CpuId.VendorName[0] = CpuRegisters.Ebx; *(PULONG)&Prcb->CpuId.VendorName[4] = CpuRegisters.Edx; *(PULONG)&Prcb->CpuId.VendorName[8] = CpuRegisters.Ecx; Prcb->CpuId.VendorName[12] = '\0'; - /* Resolve CPU vendor */ - if(RTL::Memory::CompareMemory(Prcb->CpuId.VendorName, "AuthenticAMD", 12) == 12) - { - /* AMD CPU */ - Prcb->CpuId.Vendor = CPU_VENDOR_AMD; - } - else if(RTL::Memory::CompareMemory(Prcb->CpuId.VendorName, "GenuineIntel", 12) == 12) - { - /* Intel CPU */ - Prcb->CpuId.Vendor = CPU_VENDOR_INTEL; - } - else - { - /* Unknown CPU vendor */ - Prcb->CpuId.Vendor = CPU_VENDOR_UNKNOWN; - } - /* Get CPU standard features */ RtlZeroMemory(&CpuRegisters, sizeof(CPUID_REGISTERS)); CpuRegisters.Leaf = CPUID_GET_STANDARD1_FEATURES; @@ -134,6 +118,11 @@ AR::ProcSup::IdentifyProcessor(VOID) Prcb->CpuId.Model += (CpuSignature.ExtendedModel << 4); } } + else + { + /* Unknown CPU vendor */ + Prcb->CpuId.Vendor = CPU_VENDOR_UNKNOWN; + } /* Identify processor features */ IdentifyProcessorFeatures(); diff --git a/xtoskrnl/ar/i686/procsup.cc b/xtoskrnl/ar/i686/procsup.cc index 4957b83..2f05926 100644 --- a/xtoskrnl/ar/i686/procsup.cc +++ b/xtoskrnl/ar/i686/procsup.cc @@ -70,29 +70,13 @@ AR::ProcSup::IdentifyProcessor(VOID) CpuRegisters.Leaf = CPUID_GET_VENDOR_STRING; AR::CpuFunc::CpuId(&CpuRegisters); - /* Store CPU vendor name in processor control block */ + /* Store CPU vendor in processor control block */ + Prcb->CpuId.Vendor = (CPU_VENDOR)CpuRegisters.Ebx; *(PULONG)&Prcb->CpuId.VendorName[0] = CpuRegisters.Ebx; *(PULONG)&Prcb->CpuId.VendorName[4] = CpuRegisters.Edx; *(PULONG)&Prcb->CpuId.VendorName[8] = CpuRegisters.Ecx; Prcb->CpuId.VendorName[12] = '\0'; - /* Resolve CPU vendor */ - if(RTL::Memory::CompareMemory(Prcb->CpuId.VendorName, "AuthenticAMD", 12) == 12) - { - /* AMD CPU */ - Prcb->CpuId.Vendor = CPU_VENDOR_AMD; - } - else if(RTL::Memory::CompareMemory(Prcb->CpuId.VendorName, "GenuineIntel", 12) == 12) - { - /* Intel CPU */ - Prcb->CpuId.Vendor = CPU_VENDOR_INTEL; - } - else - { - /* Unknown CPU vendor */ - Prcb->CpuId.Vendor = CPU_VENDOR_UNKNOWN; - } - /* Get CPU standard features */ RtlZeroMemory(&CpuRegisters, sizeof(CPUID_REGISTERS)); CpuRegisters.Leaf = CPUID_GET_STANDARD1_FEATURES; @@ -127,6 +111,11 @@ AR::ProcSup::IdentifyProcessor(VOID) Prcb->CpuId.Model += (CpuSignature.ExtendedModel << 4); } } + else + { + /* Unknown CPU vendor */ + Prcb->CpuId.Vendor = CPU_VENDOR_UNKNOWN; + } /* Identify processor features */ IdentifyProcessorFeatures();