In NtQuerySystemInformation, handle request for information class 1,
now named SystemCpuInformation. Return some dummy data for now.
diff --git a/include/winternl.h b/include/winternl.h
index b041a8e..cd202ea 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -521,7 +521,7 @@
typedef enum _SYSTEM_INFORMATION_CLASS {
SystemBasicInformation = 0,
- Unknown1,
+ SystemCpuInformation = 1,
SystemPerformanceInformation = 2,
SystemTimeOfDayInformation = 3, /* was SystemTimeInformation */
Unknown4,
@@ -908,6 +908,35 @@
#endif
} SYSTEM_BASIC_INFORMATION, *PSYSTEM_BASIC_INFORMATION;
+/* CPU Information Class 0x01 */
+typedef struct {
+ WORD Architecture;
+ WORD Level;
+ WORD Revision; /* combination of CPU model and stepping */
+ WORD Reserved; /* always zero */
+ DWORD FeatureSet; /* see bit flags below */
+} SYSTEM_CPU_INFORMATION;
+
+/* definitions of bits in the Feature set for the x86 processors */
+#define CPU_FEATURE_VME 0x00000005 /* Virtual 86 Mode Extensions */
+#define CPU_FEATURE_TSC 0x00000002 /* Time Stamp Counter available */
+#define CPU_FEATURE_CMOV 0x00000008 /* Conditional Move instruction*/
+#define CPU_FEATURE_PGE 0x00000014 /* Page table Entry Global bit */
+#define CPU_FEATURE_PSE 0x00000024 /* Page Size Extension */
+#define CPU_FEATURE_MTRR 0x00000040 /* Memory Type Range Registers */
+#define CPU_FEATURE_CX8 0x00000080 /* Compare and eXchange 8 byte instr. */
+#define CPU_FEATURE_MMX 0x00000100 /* Multi Media eXtensions */
+#define CPU_FEATURE_X86 0x00000200 /* seems to be alway ON, on the '86 */
+#define CPU_FEATURE_PAT 0x00000400 /* Page Attribute Table */
+#define CPU_FEATURE_FXSR 0x00000800 /* FXSAVE and FXSTORE instructions */
+#define CPU_FEATURE_SEP 0x00001000 /* SYSENTER and SYSEXIT instructions */
+#define CPU_FEATURE_SSE 0x00002000 /* SSE extenstions (ext. MMX) */
+#define CPU_FEATURE_3DNOW 0x00008000 /* 3DNOW instructions available
+ (FIXME: needs to be confirmed) */
+#define CPU_FEATURE_SSE2 0x00010000 /* SSE2 extensions (XMMI64) */
+#define CPU_FEATURE_DS 0x00020000 /* Debug Store */
+#define CPU_FEATURE_HTT 0x00040000 /* Hyper Threading Technology */
+
/* System Information Class 0x15 */
typedef struct {
ULONG CurrentSize;