pc32 identcpu - Detect Geode LX
authorAlex Hornung <ahornung@gmail.com>
Fri, 2 Oct 2009 21:03:28 +0000 (22:03 +0100)
committerAlex Hornung <ahornung@gmail.com>
Sun, 4 Oct 2009 13:02:50 +0000 (14:02 +0100)
* Add identification of Geode LX CPUs.

Obtained-from: FreeBSD

sys/cpu/i386/include/cputypes.h
sys/platform/pc32/i386/identcpu.c

index ab210d1..338c545 100644 (file)
@@ -60,6 +60,7 @@
 #define        CPU_PII         14      /* Intel Pentium II */
 #define        CPU_PIII        15      /* Intel Pentium III */
 #define        CPU_P4          16      /* Intel Pentium 4 */
+#define        CPU_GEODE1100   17      /* NS Geode SC1100 */
 
 #ifndef LOCORE
 struct cpu_nameclass {
index 93b6d89..3257a38 100644 (file)
@@ -378,6 +378,14 @@ printcpuinfo(void)
                case 0x590:
                        strcat(cpu_model, "K6-III");
                        break;
+               case 0x5a0:
+                       strcat(cpu_model, "Geode LX");
+                       /*
+                        * Make sure the TSC runs through suspension,
+                        * otherwise we can't use it as timecounter.
+                        */
+                       wrmsr(0x1900, rdmsr(0x1900) | 0x20ULL);
+                       break;
                default:
                        strcat(cpu_model, "Unknown");
                        break;