I'll see if darwinia runs ok now, it fails witht a cannot detect CPU error.
http://www.darwinia.co.uk/downloads/
--- Rein Klazes wijn@wanadoo.nl wrote:
Hi,
Changelog: dlls/ntdll : nt.c include : winternl.h
In NtQuerySystemInformation, handle request for information class 1, now named SystemCpuInformation. Return some dummy data for now.
Rein.
--- wine/dlls/ntdll/nt.c 2005-01-27
08:32:17.000000000 +0100 +++ mywine/dlls/ntdll/nt.c 2005-01-27 13:52:32.000000000 +0100 @@ -546,6 +546,22 @@ NTSTATUS WINAPI NtQuerySystemInformation else ret = STATUS_INFO_LENGTH_MISMATCH; } break;
- case SystemCpuInformation:
{
SYSTEM_CPU_INFORMATION* sci;
sci = (SYSTEM_CPU_INFORMATION *)
SystemInformation;
if (Length >= sizeof(*sci))
{
/* FIXME: move some code from
kernel/cpu.c to process this */
sci->Architecture =
PROCESSOR_ARCHITECTURE_INTEL;
sci->Level = 6; /* 686, aka Pentium
II+ */
sci->Revision = 0;
sci->Reserved = 0;
sci->FeatureSet = 0x1fff;
}
else ret = STATUS_INFO_LENGTH_MISMATCH;
}
case SystemPerformanceInformation: { SYSTEM_PERFORMANCE_INFORMATION* spi =break;
(SYSTEM_PERFORMANCE_INFORMATION*)SystemInformation; --- wine/include/winternl.h 2005-01-27 08:32:53.000000000 +0100 +++ mywine/include/winternl.h 2005-01-27 13:54:11.000000000 +0100 @@ -521,7 +521,7 @@ typedef enum _SECTION_INHERIT {
typedef enum _SYSTEM_INFORMATION_CLASS { SystemBasicInformation = 0,
- Unknown1,
- SystemCpuInformation = 1, SystemPerformanceInformation = 2, SystemTimeOfDayInformation = 3, /* was
SystemTimeInformation */ Unknown4, @@ -908,6 +908,35 @@ typedef struct _SYSTEM_BASIC_INFORMATION #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;
___________________________________________________________ ALL-NEW Yahoo! Messenger - all new features - even more fun! http://uk.messenger.yahoo.com