PATCH: Re: Processor-Type and -Level

Marcus Meissner marcus at jet.franken.de
Mon Dec 1 14:08:20 CST 2003


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:

Can you try this patch:

Ciao, Marcus

Changelog:
	On i686, report processorlevel 6.

Index: dlls/kernel/cpu.c
===================================================================
RCS file: /home/wine/wine/dlls/kernel/cpu.c,v
retrieving revision 1.2
diff -u -r1.2 cpu.c
--- dlls/kernel/cpu.c	25 Nov 2003 00:08:46 -0000	1.2
+++ dlls/kernel/cpu.c	1 Dec 2003 20:07:45 -0000
@@ -320,16 +320,17 @@
 				case 4: cachedsi.dwProcessorType = PROCESSOR_INTEL_486;
 					cachedsi.wProcessorLevel= 4;
 					break;
-				case 5:
-				case 6: /* PPro/2/3 has same info as P1 */
-					cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM;
+				case 5: cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM;
 					cachedsi.wProcessorLevel= 5;
 					break;
+				case 6: cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM;
+					cachedsi.wProcessorLevel= 6;
+					break;
 				case 1: /* two-figure levels */
                                     if (value[1] == '5')
                                     {
                                         cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM;
-                                        cachedsi.wProcessorLevel= 5;
+                                        cachedsi.wProcessorLevel= 6;
                                         break;
                                     }
                                     /* fall through */
@@ -352,11 +353,12 @@
 				case 4: cachedsi.dwProcessorType = PROCESSOR_INTEL_486;
 					cachedsi.wProcessorLevel= 4;
 					break;
-				case 5:
-				case 6: /* PPro/2/3 has same info as P1 */
-					cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM;
+				case 5: cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM;
 					cachedsi.wProcessorLevel= 5;
 					break;
+				case 6: cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM;
+					cachedsi.wProcessorLevel= 6;
+					break;
 				default:
 					FIXME("unknown Linux 2.0 cpu family '%s', please report ! (-> setting to 386)\n", value);
 					break;
@@ -485,7 +487,7 @@
                        }
                        if (!strncmp(cpuclass+1, "686", 3)) {
                             cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM;
-                            cachedsi.wProcessorLevel= 5;
+                            cachedsi.wProcessorLevel= 6;
                             /* this should imply MMX */
                             PF[PF_MMX_INSTRUCTIONS_AVAILABLE] = TRUE;
                        }
@@ -537,10 +539,13 @@
 			cachedsi.wProcessorLevel = 4;
 			break;
 		case 5:
+			cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM;
+			cachedsi.wProcessorLevel = 5;
+			break;
 		case 6:
 		case 15: /* PPro/2/3/4 has same info as P1 */
 			cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM;
-			cachedsi.wProcessorLevel = 5;
+			cachedsi.wProcessorLevel = 6;
 			break;
 		default:
 			FIXME("unknown FreeBSD cpu family %d, please report! (-> setting to 386)\n", \



More information about the wine-patches mailing list