This is the mail archive of the cygwin-patches@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Cygwin installation choke


> On Thu, Mar 13, 2003 at 05:09:21PM +0000, Chris Hardie wrote:
> > "The CYGWIN1.DLL is linked to missing export
> > KERNEL32.DLL:IsProcessorFeaturePresent"
> >
> > I'm running Windows '95 on a P300 Celeron. Anyone have any idea what's
> > going on?
>
> Fixed in CVS.  Thanks for the report.
Corinna, the cpuid results are still valid if the user doesn't have NT. Only
in the worst case scenario (i.e. a user running Windows 95/98 on a 486) will
it be necessary to resort to falling back on the registry values alone.

Chris

Index: fhandler_proc.cc
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/fhandler_proc.cc,v
retrieving revision 1.25
diff -u -p -r1.25 fhandler_proc.cc
--- fhandler_proc.cc	13 Mar 2003 22:53:16 -0000	1.25
+++ fhandler_proc.cc	13 Mar 2003 23:52:31 -0000
@@ -631,15 +631,7 @@ format_proc_cpuinfo (char *destbuf, size
 	    debug_printf ("processor does not support CPUID instruction");
 	}

-      if (!wincap.is_winnt ())
-        {
-	  bufptr += __small_sprintf (bufptr, "processor       : %d\n",
cpu_number);
-	  read_value ("VendorIdentifier", REG_SZ);
-	  bufptr += __small_sprintf (bufptr, "vendor id       : %s\n", szBuffer);
-	  read_value ("Identifier", REG_SZ);
-	  bufptr += __small_sprintf (bufptr, "identifier      : %s\n", szBuffer);
-	}
-      else if (!has_cpuid)
+    if (!has_cpuid)
 	{
 	  bufptr += __small_sprintf (bufptr, "processor       : %d\n",
cpu_number);
 	  read_value ("VendorIdentifier", REG_SZ);
@@ -649,23 +641,26 @@ format_proc_cpuinfo (char *destbuf, size
 	  read_value ("~Mhz", REG_DWORD);
 	  bufptr += __small_sprintf (bufptr, "cpu MHz         : %u\n", *(DWORD *)
szBuffer);

-	  print ("flags           :");
-	  if (IsProcessorFeaturePresent (PF_3DNOW_INSTRUCTIONS_AVAILABLE))
-	    print (" 3dnow");
-	  if (IsProcessorFeaturePresent (PF_COMPARE_EXCHANGE_DOUBLE))
-	    print (" cx8");
-	  if (!IsProcessorFeaturePresent (PF_FLOATING_POINT_EMULATED))
-	    print (" fpu");
-	  if (IsProcessorFeaturePresent (PF_MMX_INSTRUCTIONS_AVAILABLE))
-	    print (" mmx");
-	  if (IsProcessorFeaturePresent (PF_PAE_ENABLED))
-	    print (" pae");
-	  if (IsProcessorFeaturePresent (PF_RDTSC_INSTRUCTION_AVAILABLE))
-	    print (" tsc");
-	  if (IsProcessorFeaturePresent (PF_XMMI_INSTRUCTIONS_AVAILABLE))
-	    print (" sse");
-	  if (IsProcessorFeaturePresent (PF_XMMI64_INSTRUCTIONS_AVAILABLE))
-	    print (" sse2");
+      if (!wincap.is_winnt ())
+        {
+	      print ("flags           :");
+	      if (IsProcessorFeaturePresent (PF_3DNOW_INSTRUCTIONS_AVAILABLE))
+	        print (" 3dnow");
+	      if (IsProcessorFeaturePresent (PF_COMPARE_EXCHANGE_DOUBLE))
+	        print (" cx8");
+	      if (!IsProcessorFeaturePresent (PF_FLOATING_POINT_EMULATED))
+	        print (" fpu");
+	      if (IsProcessorFeaturePresent (PF_MMX_INSTRUCTIONS_AVAILABLE))
+	        print (" mmx");
+	      if (IsProcessorFeaturePresent (PF_PAE_ENABLED))
+	        print (" pae");
+	      if (IsProcessorFeaturePresent (PF_RDTSC_INSTRUCTION_AVAILABLE))
+	        print (" tsc");
+	      if (IsProcessorFeaturePresent (PF_XMMI_INSTRUCTIONS_AVAILABLE))
+	        print (" sse");
+	      if (IsProcessorFeaturePresent (PF_XMMI64_INSTRUCTIONS_AVAILABLE))
+	        print (" sse2");
+      }
 	}
       else
 	{


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]