9ns: mnt: Don't use a 'bogus' struct
[akaros.git] / kern / arch / x86 / cpuinfo.c
index ef19f2d..0e16f75 100644 (file)
@@ -15,6 +15,8 @@
 #include <string.h>
 #include <cpu_feat.h>
 
+int x86_family, x86_model, x86_stepping;
+
 /* Check Intel's SDM 2a for Table 3-17 for the cpuid leaves */
 void print_cpuinfo(void)
 {
@@ -69,9 +71,12 @@ void print_cpuinfo(void)
                model += ext_model << 4;
        if (family == 15)
                family += ext_family;
-       cprintf("Family: %d\n", family);
-       cprintf("Model: %d\n", model);
-       cprintf("Stepping: %d\n", eax & 0x0000000F);
+       x86_family = family;
+       x86_model = model;
+       x86_stepping = eax & 0xf;
+       printk("Family: %d\n", x86_family);
+       printk("Model: %d\n", x86_model);
+       printk("Stepping: %d\n", x86_stepping);
        // eventually can fill this out with SDM Vol3B App B info, or
        // better yet with stepping info.  or cpuid 8000_000{2,3,4}
        switch ( family << 8 | model ) {
@@ -165,9 +170,8 @@ void print_cpuinfo(void)
        /* Regardless, make sure userspace can access rdtsc (and rdtscp) */
        lcr4(rcr4() & ~CR4_TSD);
        printk("1 GB Jumbo pages %ssupported\n", edx & (1 << 26) ? "" : "not ");
-       printk("FS/GS MSRs %ssupported\n", edx & (1 << 29) ? "" : "not ");
        if (!(edx & (1 << 29))) {
-               printk("Can't handle no FS/GS MSRs!\n");
+               printk("Not 64 bit, refusing to boot!\n");
                while (1)
                        asm volatile ("hlt");
        }