diff options
Diffstat (limited to 'modules/devices/x86')
| -rw-r--r-- | modules/devices/x86/processor.c | 21 | 
1 files changed, 13 insertions, 8 deletions
| diff --git a/modules/devices/x86/processor.c b/modules/devices/x86/processor.c index b04bea12..9acd9e19 100644 --- a/modules/devices/x86/processor.c +++ b/modules/devices/x86/processor.c @@ -220,6 +220,7 @@ GSList *processor_scan(void)      FILE *cpuinfo;      gchar buffer[512];      gint processor_number = 0; +    gchar *tmp_bugs;      cpuinfo = fopen("/proc/cpuinfo", "r");      if (!cpuinfo) @@ -259,6 +260,16 @@ GSList *processor_scan(void)  	    get_str("f00f_bug", processor->bug_f00f);  	    get_str("coma_bug", processor->bug_coma); +        if (processor->bugs == NULL || g_strcmp0(processor->bugs, "") == 0) { +            g_free(processor->bugs); +            /* make bugs list on old kernels that don't offer one */ +            processor->bugs = g_strdup_printf("%s%s%s%s", +                    processor->bug_fdiv ? "fdiv"  : "", +                    processor->bug_hlt  ? " _hlt" : "", +                    processor->bug_f00f ? " f00f" : "", +                    processor->bug_coma ? " coma" : ""); +        } +  	    get_int("model", processor->model);  	    get_int("cpu family", processor->family);  	    get_int("stepping", processor->stepping); @@ -551,6 +562,8 @@ gchar *processor_get_capabilities_from_flags(gchar * strflags)          }  	j++;      } +    if (tmp == NULL || g_strcmp0(tmp, "") == 0) +        tmp = g_strdup_printf("%s=%s\n", "empty", _("Empty List"));      g_strfreev(old);      return tmp; @@ -575,10 +588,6 @@ gchar *processor_get_detailed_info(Processor * processor)  			  "BogoMIPS=%.2f\n"  			  "Byte Order=%s\n"  			  "[Features]\n" -			  "FDIV Bug=%s\n" -			  "HLT Bug=%s\n" -			  "F00F Bug=%s\n" -			  "Coma Bug=%s\n"  			  "Has FPU=%s\n"  			  "[Cache]\n"  			  "%s\n" @@ -601,10 +610,6 @@ gchar *processor_get_detailed_info(Processor * processor)  #else  			  "Big Endian",  #endif -			  processor->bug_fdiv ? processor->bug_fdiv : "no", -			  processor->bug_hlt  ? processor->bug_hlt  : "no", -			  processor->bug_f00f ? processor->bug_f00f : "no", -			  processor->bug_coma ? processor->bug_coma : "no",  			  processor->has_fpu  ? processor->has_fpu  : "no",  			  cache_info,  			  tmp_pm, tmp_bugs, tmp_flags); | 
