Disable speedstep instead of panicing if the high and low speeds are the same.
authorguenther <guenther@openbsd.org>
Sat, 10 May 2014 18:59:29 +0000 (18:59 +0000)
committerguenther <guenther@openbsd.org>
Sat, 10 May 2014 18:59:29 +0000 (18:59 +0000)
Problem noted by Benjamin Baier (programmer (at) netzbasis.de)
improvements and ok kettenis@

sys/arch/amd64/amd64/est.c
sys/arch/i386/i386/est.c

index 3059a06..d4ad12e 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: est.c,v 1.30 2014/03/16 05:19:44 jsg Exp $ */
+/*     $OpenBSD: est.c,v 1.31 2014/05/10 18:59:29 guenther Exp $ */
 /*
  * Copyright (c) 2003 Michael Eriksson.
  * All rights reserved.
@@ -420,12 +420,15 @@ est_init(struct cpu_info *ci)
        if (est_fqlist->n < 2)
                return;
 
-       printf("%s: Enhanced SpeedStep %d MHz", cpu_device, cpuspeed);
-
        low = est_fqlist->table[est_fqlist->n - 1].mhz;
        high = est_fqlist->table[0].mhz;
+       if (low == high)
+               return;
+
        perflevel = (cpuspeed - low) * 100 / (high - low);
 
+       printf("%s: Enhanced SpeedStep %d MHz", cpu_device, cpuspeed);
+
        /*
         * OK, tell the user the available frequencies.
         */
index 5f3a723..dc159fc 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: est.c,v 1.40 2012/10/08 09:01:21 jsg Exp $ */
+/*     $OpenBSD: est.c,v 1.41 2014/05/10 18:59:29 guenther Exp $ */
 /*
  * Copyright (c) 2003 Michael Eriksson.
  * All rights reserved.
@@ -1179,12 +1179,15 @@ est_init(struct cpu_info *ci, int vendor)
        if (est_fqlist->n < 2)
                return;
 
-       printf("%s: Enhanced SpeedStep %d MHz", cpu_device, cpuspeed);
-
        low = est_fqlist->table[est_fqlist->n - 1].mhz;
        high = est_fqlist->table[0].mhz;
+       if (low == high)
+               return;
+
        perflevel = (cpuspeed - low) * 100 / (high - low);
 
+       printf("%s: Enhanced SpeedStep %d MHz", cpu_device, cpuspeed);
+
        /*
         * OK, tell the user the available frequencies.
         */