On Mon, Dec 01, 2003 at 08:22:49PM +0100, Olaf Leidinger wrote:
Hello!
Once I tried to install the win32 version of gimp-1.3.xx-i686 using wine and the installer refused to install because gimp was only compiled for newer processors. The author told me, that he uses the GetSystemInfo function to get the data he needs.
Running a modified MS-example on wine I get this result:
Hardware information: OEM ID: 0 Number of processors: 1 Page size: 4096 Processor type: 586 Processor Level: 5 Processor Revision: 0 Minimum application address: 10000 Maximum application address: 7fffffff Active processor mask: 1
/********** end of some source ***********/
To bring a long story to an end: I had a look at cpu.c from dll/kernel directory and I found this part: [line 251] /* FIXME: the two entries below should be computed somehow... */ cachedsi.lpMinimumApplicationAddress = (void *)0x00010000; cachedsi.lpMaximumApplicationAddress = (void *)0x7FFFFFFF; cachedsi.dwActiveProcessorMask = 1; cachedsi.dwNumberOfProcessors = 1; cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM; cachedsi.dwAllocationGranularity = 0x10000; cachedsi.wProcessorLevel = 5; /* 586 */ cachedsi.wProcessorRevision = 0;
So the corresponding values are compiled in.
Either we change wProcessorLevel to 6 or get it from the running system. I'd prefer the later ;-)
When I have some free time I could -perhaps- try to fix it but I've never changed something in the wine source. Does anybody have any proposals of how to change it in an acceptable manner?
No, if you read further down they are adjusted on Linux depending on /proc/cpuinfo.
However, on i686 it does not change the processor level.
Ciao, Marcus