On Sun, Oct 3, 2010 at 10:25 AM, Rudolf Mayerhofer rm@eightyfive.net wrote:
A rewrite of my previously sent patches in order to avoid changing SYSTEM_CPU_INFORMATION.
This patch supersedes my previously sent patches: [PATCH1/3] include/winternl: Add Logical Processor Information to SYSTEM_CPU_INFORMATION (try 3) [PATCH2/3] kernel32/process: Implement GetLogicalProcessorInformation() (try
[PATCH3/3] ntdll: Retrieve Logical Processor Information from SysFS (try 4)
Try 2 removes a FIXME which is not needed. Try 3 changes a FIXME to a WARN when an unknown cache type is found
dlls/kernel32/process.c | 272 ++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 270 insertions(+), 2 deletions(-)
I don't know much about kernel32/ntdll, but I'm pretty sure that you could get this to work through ntdll. NtQuerySystemInformation with SystemProcessorInformation/SystemLogicalProcessorInformation (see http://undocumented.ntinternals.net/UserMode/Undocumented%20Functions/System...) should help. http://native-nt-toolkit.googlecode.com/svn/trunk/ndk/extypes.h (read, don't copy) seems to have a pretty exhaustive set of definitions, but even that's not complete. Some tests for the NT version would be useful.
Mike.