[PATCH1/3] include/winternl: Add Logical Processor Information to SYSTEM_CPU_INFORMATION

Rudolf Mayerhofer rm at eightyfive.net
Sat Oct 2 04:48:56 CDT 2010


On Saturday 02 October 2010 08:15:46 Dmitry Timoshkov wrote:
> Rudolf Mayerhofer <rm at 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().



More information about the wine-devel mailing list