I brought this up a few weeks ago because it looked like I would need to
acquire the CPUID while in the kernel. I dropped it when it looked like that
function was returning to usermode. However, it’s now back in the kernel and
I’ve re-read the original posts.
I find __cpuid() is indeed an intrinsic and is defined in intrin.h. However,
intrin.h is not a header file in any of the current WinDDK include
directories, nor is __cpuid() used by any source files in the DDK. I did
find __readPmc(), __rdTsc, and __getReg(). GetReg looks to be IA64 specific.
I don’t deny that __cpuid is an intrinsic and should therefore simply work
once called. The problem is what header file to include from what path, and
what switches should be set? As a sledge hammer effort I simply moved
anything ending in intrin.h into my build space and watched everything
meltdown into a pile of molten errors.
So, has anyone used cupid in the kernel and if so can you detail how you did
it? I’m not quite ready to go back to my client and say it can’t be done in
the kernel.
Gary G. Little
H (952) 223-1349
C (952) 454-4629
xxxxx@comcast.net