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);