From 9f1a4f0ced786c575261ca8f22fdd7179ed26912 Mon Sep 17 00:00:00 2001 From: Rafal Kupiec Date: Tue, 14 May 2024 19:39:07 +0200 Subject: [PATCH] Compose the AMD family and model IDs according to the AMD CPUID manual, section 2 --- xtoskrnl/ar/amd64/procsup.c | 6 +++--- xtoskrnl/ar/i686/procsup.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/xtoskrnl/ar/amd64/procsup.c b/xtoskrnl/ar/amd64/procsup.c index 2840604..cc7fe95 100644 --- a/xtoskrnl/ar/amd64/procsup.c +++ b/xtoskrnl/ar/amd64/procsup.c @@ -167,9 +167,9 @@ ArpIdentifyProcessor(VOID) if(Prcb->CpuId.Vendor == CPU_VENDOR_AMD) { /* AMD CPU */ - Prcb->CpuId.Family = Prcb->CpuId.Family + CpuSignature.ExtendedFamily; - if(Prcb->CpuId.Model == 0xF) + if(Prcb->CpuId.Family >= 0xF) { + Prcb->CpuId.Family = Prcb->CpuId.Family + CpuSignature.ExtendedFamily; Prcb->CpuId.Model = Prcb->CpuId.Model + (CpuSignature.ExtendedModel << 4); } } @@ -181,7 +181,7 @@ ArpIdentifyProcessor(VOID) Prcb->CpuId.Family = Prcb->CpuId.Family + CpuSignature.ExtendedFamily; } - if((Prcb->CpuId.Family == 0xF) || (Prcb->CpuId.Family == 0x6)) + if((Prcb->CpuId.Family == 0x6) || (Prcb->CpuId.Family == 0xF)) { Prcb->CpuId.Model = Prcb->CpuId.Model + (CpuSignature.ExtendedModel << 4); } diff --git a/xtoskrnl/ar/i686/procsup.c b/xtoskrnl/ar/i686/procsup.c index 4f9b21f..d4986f4 100644 --- a/xtoskrnl/ar/i686/procsup.c +++ b/xtoskrnl/ar/i686/procsup.c @@ -162,9 +162,9 @@ ArpIdentifyProcessor(VOID) if(Prcb->CpuId.Vendor == CPU_VENDOR_AMD) { /* AMD CPU */ - Prcb->CpuId.Family = Prcb->CpuId.Family + CpuSignature.ExtendedFamily; - if(Prcb->CpuId.Model == 0xF) + if(Prcb->CpuId.Family >= 0xF) { + Prcb->CpuId.Family = Prcb->CpuId.Family + CpuSignature.ExtendedFamily; Prcb->CpuId.Model = Prcb->CpuId.Model + (CpuSignature.ExtendedModel << 4); } } @@ -176,7 +176,7 @@ ArpIdentifyProcessor(VOID) Prcb->CpuId.Family = Prcb->CpuId.Family + CpuSignature.ExtendedFamily; } - if((Prcb->CpuId.Family == 0xF) || (Prcb->CpuId.Family == 0x6)) + if((Prcb->CpuId.Family == 0x6) || (Prcb->CpuId.Family == 0xF)) { Prcb->CpuId.Model = Prcb->CpuId.Model + (CpuSignature.ExtendedModel << 4); }