DragonFly BSD
DragonFly submit List (threaded) for 2006-05
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

VIA C3 identification


From: Gary Allan <dragonfly@xxxxxxxxxxxxxxx>
Date: Mon, 08 May 2006 19:12:55 +0100

Hello,

I've added identifying additional VIA processors from FreeBSD. My C3 is now named correctly on startup.

Regards
Gary
Index: sys/i386/i386/identcpu.c
===================================================================
RCS file: /home/dcvs/src/sys/i386/i386/identcpu.c,v
retrieving revision 1.9
diff -u -r1.9 identcpu.c
--- sys/i386/i386/identcpu.c	6 Nov 2005 07:28:47 -0000	1.9
+++ sys/i386/i386/identcpu.c	14 Apr 2006 14:08:05 -0000
@@ -529,8 +529,30 @@
 		case 0x580:
 			strcpy(cpu_model, "IDT WinChip 2");
 			break;
+		case 0x660:
+			strcpy(cpu_model, "VIA C3 Samuel");
+			break;
 		case 0x670:
-			strcpy(cpu_model, "VIA C3 Samuel 2");
+			if (cpu_id & 0x8)
+				strcpy(cpu_model, "VIA C3 Ezra");
+			else
+				strcpy(cpu_model, "VIA C3 Samuel 2");
+			break;
+		case 0x680:
+			strcpy(cpu_model, "VIA C3 Ezra-T");
+			break;
+		case 0x690:
+			strcpy(cpu_model, "VIA C3 Nehemiah");
+			do_cpuid(0xc0000000, regs);
+			if (regs[0] == 0xc0000001) {
+				do_cpuid(0xc0000001, regs);
+				if ((cpu_id & 0xf) >= 3)
+					if ((regs[3] & 0x0c) == 0x0c)
+						strcat(cpu_model, "+RNG");
+				if ((cpu_id & 0xf) >= 8)
+					if ((regs[3] & 0xc0) == 0xc0)
+						strcat(cpu_model, "+ACE");
+			}
 			break;
 		default:
 			strcpy(cpu_model, "VIA/IDT Unknown");


[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]