2010/10/2 Rudolf Mayerhofer rm@eightyfive.net
On Saturday 02 October 2010 08:15:46 Dmitry Timoshkov wrote:
Rudolf Mayerhofer rm@eightyfive.net wrote:
/* System Information Class 0x01 */
+typedef struct _SYSTEM_CPU_CACHE_INFORMATION {
- ULONG ProcessorMask;
- CACHE_DESCRIPTOR CacheInformation;
+} SYSTEM_CPU_CACHE_INFORMATION, *PSYSTEM_CPU_CACHE_INFORMATION;
typedef struct _SYSTEM_CPU_INFORMATION {
WORD Architecture;
@@ -1100,6 +1104,10 @@ typedef struct _SYSTEM_CPU_INFORMATION {
WORD Revision; /* combination of CPU model and stepping */ WORD Reserved; /* always zero */ DWORD FeatureSet; /* see bit flags below */
- ULONG Cores[64]; /* Contains a Processormask for each
physical
core. Index is CoreID*/ + ULONG ProcessorPackages[64]; /* Contains a Processormask for each processorpackage. Index is ProcessorPackage ID*/
- ULONG NumaNodes[64]; /* Contains a Processormask for each numa
node. Index is NumaNodeNumber */ + SYSTEM_CPU_CACHE_INFORMATION Caches[256]; /* Contains all cpu cache entries found */
} SYSTEM_CPU_INFORMATION, *PSYSTEM_CPU_INFORMATION;
Where does this come from? At least the processor mask is supposed to be an ULONG_PTR.
You're right. Seem that i have missed that Processormask is ULONG_PTR, will update that ASAP.
This is used in NTDLL and Kernel32 to provide an Implementation for kernel32's GetLogicalProcessorInformation().
You should break long lines (like the ones on patch 3/3) into lines of 100
characters max