aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/x86/dl-diagnostics-cpu.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/x86/dl-diagnostics-cpu.c')
-rw-r--r--sysdeps/x86/dl-diagnostics-cpu.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/sysdeps/x86/dl-diagnostics-cpu.c b/sysdeps/x86/dl-diagnostics-cpu.c
index ceafde9..5555c47 100644
--- a/sysdeps/x86/dl-diagnostics-cpu.c
+++ b/sysdeps/x86/dl-diagnostics-cpu.c
@@ -51,6 +51,14 @@ print_cpu_feature_preferred (const char *label, unsigned int flag)
_dl_printf("x86.cpu_features.preferred.%s=0x%x\n", label, flag);
}
+static void
+_dl_x86_cpu_feature_diagnostics_print (const char *label,
+ unsigned long long int value)
+{
+ _dl_printf("x86.diagnostics.");
+ _dl_diagnostics_print_labeled_value (label, value);
+}
+
void
_dl_diagnostics_cpu (void)
{
@@ -132,6 +140,17 @@ _dl_diagnostics_cpu (void)
== sizeof (*cpu_features),
"last cpu_features field has been printed");
+ {
+ struct x86_cpu_feature_diagnostics diag;
+ _dl_x86_cpu_feature_diagnostics_init (&diag);
+ _dl_x86_cpu_feature_diagnostics_run (cpu_features, &diag);
+ _dl_x86_cpu_feature_diagnostics_print ("count", diag.count);
+ _dl_x86_cpu_feature_diagnostics_print ("reported", diag.reported);
+ _dl_x86_cpu_feature_diagnostics_print ("probed", diag.probed);
+ _dl_x86_cpu_feature_diagnostics_print ("filtered",
+ diag.probed & ~diag.reported);
+ }
+
_dl_diagnostics_cpuid ();
}