Author: ekohl Date: Sat May 26 20:37:11 2007 New Revision: 26907
URL: http://svn.reactos.org/svn/reactos?rev=26907&view=rev Log: Calculate L2 cache size for AMD CPUs.
Modified: trunk/reactos/ntoskrnl/ke/i386/cpu.c
Modified: trunk/reactos/ntoskrnl/ke/i386/cpu.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/i386/cpu.c?rev=... ============================================================================== --- trunk/reactos/ntoskrnl/ke/i386/cpu.c (original) +++ trunk/reactos/ntoskrnl/ke/i386/cpu.c Sat May 26 20:37:11 2007 @@ -510,13 +510,21 @@ } } while (--CacheRequests); } - break; - - case CPU_AMD: - - /* FIXME */ - DPRINT1("Not handling AMD caches yet\n"); - break; + break; + + case CPU_AMD: + + /* Check if we support CPUID 0x80000006 */ + CPUID(Data, 0x80000000); + if (Data[0] >= 6) + { + /* Get 2nd level cache and tlb size */ + CPUID(Data, 0x80000006); + + /* Set the L2 Cache Size */ + Pcr->SecondLevelCacheSize = (Data[2] & 0xFFFF0000) >> 6; + } + break; } }