Module Name:    src
Committed By:   nakayama
Date:           Fri Jul 25 17:21:32 UTC 2014

Modified Files:
        src/sys/arch/sparc/sparc: autoconf.c cpu.c
        src/sys/arch/sparc64/sparc64: autoconf.c cpu.c

Log Message:
Backout using humanize_number(9) in clockfreq().
humanize_number(9) cannot handle a fraction part and doesn't
match the intention of clockfreq().

Also backout the changes caused by the fallout of clockfreq().

Fixed outputs:

-cpu0 at mainbus0: MB86904 @ 170  MHz, MB86910 or WTL1164/5 FPU
+cpu0 at mainbus0: MB86904 @ 170 MHz, MB86910 or WTL1164/5 FPU

-sbus0 at iommu0: clock = 21250  MHz
+sbus0 at iommu0: clock = 21.250 MHz

-cpu0 at mainbus0: SUNW,UltraSPARC-II @ 449  MHz, CPU id 0
+cpu0 at mainbus0: SUNW,UltraSPARC-II @ 449.971 MHz, CPU id 0


To generate a diff of this commit:
cvs rdiff -u -r1.256 -r1.257 src/sys/arch/sparc/sparc/autoconf.c
cvs rdiff -u -r1.247 -r1.248 src/sys/arch/sparc/sparc/cpu.c
cvs rdiff -u -r1.197 -r1.198 src/sys/arch/sparc64/sparc64/autoconf.c
cvs rdiff -u -r1.113 -r1.114 src/sys/arch/sparc64/sparc64/cpu.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/sparc/sparc/autoconf.c
diff -u src/sys/arch/sparc/sparc/autoconf.c:1.256 src/sys/arch/sparc/sparc/autoconf.c:1.257
--- src/sys/arch/sparc/sparc/autoconf.c:1.256	Wed Apr 23 09:06:57 2014
+++ src/sys/arch/sparc/sparc/autoconf.c	Fri Jul 25 17:21:32 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: autoconf.c,v 1.256 2014/04/23 09:06:57 macallan Exp $ */
+/*	$NetBSD: autoconf.c,v 1.257 2014/07/25 17:21:32 nakayama Exp $ */
 
 /*
  * Copyright (c) 1996
@@ -48,7 +48,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.256 2014/04/23 09:06:57 macallan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.257 2014/07/25 17:21:32 nakayama Exp $");
 
 #include "opt_ddb.h"
 #include "opt_kgdb.h"
@@ -1034,8 +1034,13 @@ char *
 clockfreq(int freq)
 {
 	static char buf[10];
+	size_t len;
 
-	humanize_number(buf, sizeof(buf), freq / 1000, "", 1000);
+	freq /= 1000;
+	len = snprintf(buf, sizeof(buf), "%d", freq / 1000);
+	freq %= 1000;
+	if (freq)
+		snprintf(buf + len, sizeof(buf) - len, ".%03d", freq);
 	return buf;
 }
 

Index: src/sys/arch/sparc/sparc/cpu.c
diff -u src/sys/arch/sparc/sparc/cpu.c:1.247 src/sys/arch/sparc/sparc/cpu.c:1.248
--- src/sys/arch/sparc/sparc/cpu.c:1.247	Wed Jun  4 07:06:03 2014
+++ src/sys/arch/sparc/sparc/cpu.c	Fri Jul 25 17:21:32 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpu.c,v 1.247 2014/06/04 07:06:03 martin Exp $ */
+/*	$NetBSD: cpu.c,v 1.248 2014/07/25 17:21:32 nakayama Exp $ */
 
 /*
  * Copyright (c) 1996
@@ -52,7 +52,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.247 2014/06/04 07:06:03 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.248 2014/07/25 17:21:32 nakayama Exp $");
 
 #include "opt_multiprocessor.h"
 #include "opt_lockdebug.h"
@@ -437,7 +437,7 @@ cpu_attach(struct cpu_softc *sc, int nod
 	/* Stuff to only run on the boot CPU */
 	cpu_setup();
 	snprintf(buf, sizeof buf, "%s @ %s MHz, %s FPU",
-		cpi->cpu_longname, clockfreq(cpi->hz / 1000), cpi->fpu_name);
+		cpi->cpu_longname, clockfreq(cpi->hz), cpi->fpu_name);
 	cpu_setmodel("%s (%s)", machine_model, buf);
 	printf(": %s\n", buf);
 	cache_print(sc);
@@ -526,7 +526,7 @@ cpu_attach_non_boot(struct cpu_softc *sc
 	/* Now start this CPU */
 	cpu_spinup(cpi);
 	printf(": %s @ %s MHz, %s FPU\n", cpi->cpu_longname,
-		clockfreq(cpi->hz / 1000), cpi->fpu_name);
+		clockfreq(cpi->hz), cpi->fpu_name);
 
 	cache_print(sc);
 

Index: src/sys/arch/sparc64/sparc64/autoconf.c
diff -u src/sys/arch/sparc64/sparc64/autoconf.c:1.197 src/sys/arch/sparc64/sparc64/autoconf.c:1.198
--- src/sys/arch/sparc64/sparc64/autoconf.c:1.197	Wed Mar 26 17:29:21 2014
+++ src/sys/arch/sparc64/sparc64/autoconf.c	Fri Jul 25 17:21:32 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: autoconf.c,v 1.197 2014/03/26 17:29:21 christos Exp $ */
+/*	$NetBSD: autoconf.c,v 1.198 2014/07/25 17:21:32 nakayama Exp $ */
 
 /*
  * Copyright (c) 1996
@@ -48,7 +48,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.197 2014/03/26 17:29:21 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.198 2014/07/25 17:21:32 nakayama Exp $");
 
 #include "opt_ddb.h"
 #include "opt_kgdb.h"
@@ -511,8 +511,13 @@ char *
 clockfreq(long freq)
 {
 	static char buf[10];
+	size_t len;
 
-	humanize_number(buf, sizeof(buf), freq / 1000, "", 1000);
+	freq /= 1000;
+	len = snprintf(buf, sizeof(buf), "%ld", freq / 1000);
+	freq %= 1000;
+	if (freq)
+		snprintf(buf + len, sizeof(buf) - len, ".%03ld", freq);
 	return buf;
 }
 

Index: src/sys/arch/sparc64/sparc64/cpu.c
diff -u src/sys/arch/sparc64/sparc64/cpu.c:1.113 src/sys/arch/sparc64/sparc64/cpu.c:1.114
--- src/sys/arch/sparc64/sparc64/cpu.c:1.113	Tue Jun 10 18:27:41 2014
+++ src/sys/arch/sparc64/sparc64/cpu.c	Fri Jul 25 17:21:32 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpu.c,v 1.113 2014/06/10 18:27:41 palle Exp $ */
+/*	$NetBSD: cpu.c,v 1.114 2014/07/25 17:21:32 nakayama Exp $ */
 
 /*
  * Copyright (c) 1996
@@ -52,7 +52,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.113 2014/06/10 18:27:41 palle Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.114 2014/07/25 17:21:32 nakayama Exp $");
 
 #include "opt_multiprocessor.h"
 
@@ -342,7 +342,7 @@ cpu_attach(device_t parent, device_t dev
 	ci->ci_system_clockrate[1] = sclk / 1000000;
 
 	snprintf(buf, sizeof buf, "%s @ %s MHz",
-		prom_getpropstring(node, "name"), clockfreq(clk / 1000));
+		prom_getpropstring(node, "name"), clockfreq(clk));
 	cpu_setmodel("%s (%s)", machine_model, buf);
 
 	aprint_normal(": %s, CPU id %d\n", buf, ci->ci_cpuid);

Reply via email to