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