I'll see if darwinia runs ok now, it fails witht a cannot detect CPU error. http://www.darwinia.co.uk/downloads/
--- Rein Klazes <[EMAIL PROTECTED]> 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; > + } > + break; > case SystemPerformanceInformation: > { > SYSTEM_PERFORMANCE_INFORMATION* spi = > (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