On Thu, Aug 12, 2021 at 03:01:37PM +1000, Jonathan Gray wrote:
> On Thu, Aug 12, 2021 at 06:44:51AM +0200, Theo Buehler wrote:
> > There doesn't seem to be a good reason for omitting the newlines here.
> > If those are ever hit, it will look odd. Am I missing something?
> 
> See the i386 p3_get_bus_clock() which is where this came from.
> i386 prints the msr value and a newline.
> 
> Wether that part is added to amd64 or removed from i386 it would be best
> to keep them in sync as much as possible.

Thanks. This syncs the print_msr code path from i386 in p3_get_bus_clock
and adds the missing newlines in est_acpi_pss_changed() in i386.

Index: sys/arch/i386/i386/est.c
===================================================================
RCS file: /cvs/src/sys/arch/i386/i386/est.c,v
retrieving revision 1.52
diff -u -p -r1.52 est.c
--- sys/arch/i386/i386/est.c    31 Mar 2018 13:45:03 -0000      1.52
+++ sys/arch/i386/i386/est.c    12 Aug 2021 05:46:12 -0000
@@ -1017,14 +1017,14 @@ est_acpi_pss_changed(struct acpicpu_pss 
        if ((acpilist = malloc(sizeof(struct fqlist), M_DEVBUF, M_NOWAIT))
            == NULL) {
                printf("est_acpi_pss_changed: cannot allocate memory for new "
-                   "est state");
+                   "est state\n");
                return;
        }
 
        if ((acpilist->table = mallocarray(npss, sizeof(struct est_op),
            M_DEVBUF, M_NOWAIT)) == NULL) {
                printf("est_acpi_pss_changed: cannot allocate memory for new "
-                   "operating points");
+                   "operating points\n");
                free(acpilist, M_DEVBUF, sizeof(*acpilist));
                return;
        }
Index: sys/arch/amd64/amd64/est.c
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/est.c,v
retrieving revision 1.40
diff -u -p -r1.40 est.c
--- sys/arch/amd64/amd64/est.c  11 Aug 2021 18:15:50 -0000      1.40
+++ sys/arch/amd64/amd64/est.c  12 Aug 2021 05:32:49 -0000
@@ -187,7 +187,7 @@ p3_get_bus_clock(struct cpu_info *ci)
                default:
                        printf("%s: unknown Core FSB_FREQ value %d",
                            ci->ci_dev->dv_xname, bus);
-                       break;
+                       goto print_msr;
                }
                break;
        case 0x1c: /* Atom */
@@ -211,13 +211,20 @@ p3_get_bus_clock(struct cpu_info *ci)
                default:
                        printf("%s: unknown Atom FSB_FREQ value %d",
                            ci->ci_dev->dv_xname, bus);
-                       break;
+                       goto print_msr;
                }
                break;
        default:
                /* no FSB on modern Intel processors */
                break;
        }
+       return;
+print_msr:
+       /*
+        * Show the EBL_CR_POWERON MSR, so we'll at least have
+        * some extra information, such as clock ratio, etc.
+        */
+       printf(" (0x%llx)\n", rdmsr(MSR_EBL_CR_POWERON));
 }
 
 #if NACPICPU > 0
@@ -291,14 +298,14 @@ est_acpi_pss_changed(struct acpicpu_pss 
        if ((acpilist = malloc(sizeof(struct fqlist), M_DEVBUF, M_NOWAIT))
            == NULL) {
                printf("est_acpi_pss_changed: cannot allocate memory for new "
-                   "est state");
+                   "est state\n");
                return;
        }
 
        if ((acpilist->table = mallocarray(npss, sizeof(struct est_op),
            M_DEVBUF, M_NOWAIT)) == NULL) {
                printf("est_acpi_pss_changed: cannot allocate memory for new "
-                   "operating points");
+                   "operating points\n");
                free(acpilist, M_DEVBUF, sizeof(struct fqlist));
                return;
        }

Reply via email to