Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/dev/ic dedup
details: https://anonhg.NetBSD.org/src/rev/4fd92f66000a
branches: trunk
changeset: 356835:4fd92f66000a
user: christos <christos%NetBSD.org@localhost>
date: Mon Oct 16 11:37:20 2017 +0000
description:
dedup
diffstat:
sys/dev/ic/spdmem.c | 50 +++++++++++++++++++++++---------------------------
1 files changed, 23 insertions(+), 27 deletions(-)
diffs (85 lines):
diff -r 663d76a0a24f -r 4fd92f66000a sys/dev/ic/spdmem.c
--- a/sys/dev/ic/spdmem.c Mon Oct 16 11:18:43 2017 +0000
+++ b/sys/dev/ic/spdmem.c Mon Oct 16 11:37:20 2017 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: spdmem.c,v 1.25 2017/10/16 08:33:48 msaitoh Exp $ */
+/* $NetBSD: spdmem.c,v 1.26 2017/10/16 11:37:20 christos Exp $ */
/*
* Copyright (c) 2007 Nicolas Joly
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: spdmem.c,v 1.25 2017/10/16 08:33:48 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: spdmem.c,v 1.26 2017/10/16 11:37:20 christos Exp $");
#include <sys/param.h>
#include <sys/device.h>
@@ -748,23 +748,30 @@
}
static void
+print_part(const char *part, size_t pnsize)
+{
+ char buf[64]; /* big enough */
+
+ KASSERT(pnsize < sizeof(buf));
+
+ memcpy(buf, part, pnsize);
+ buf[pnsize] = '\0'; /* Terminate for full string */
+ for (size_t i = pnsize; i-- > 0;) {
+ if (buf[i] == 0x20) /* remove trailing spaces */
+ buf[i] = '\0';
+ else
+ break;
+ }
+ aprint_normal(": %s\n", buf);
+}
+
+static void
decode_ddr3(const struct sysctlnode *node, device_t self, struct spdmem *s)
{
int dimm_size, cycle_time, bits;
- unsigned char buf[sizeof(s->sm_ddr3.ddr3_part) + 1];
- int i, pnsize;
- pnsize = sizeof(s->sm_ddr3.ddr3_part);
- memcpy(buf, s->sm_ddr3.ddr3_part, pnsize);
- buf[pnsize] = 0; /* Terminate for full string */
- for (i = pnsize - 1; i >= 0; i--) {
- if (buf[i] == 0x20) /* remove trailing spaces */
- buf[i] = 0;
- else
- break;
- }
aprint_naive("\n");
- aprint_normal(": %s\n", buf);
+ print_part(s->sm_ddr3.ddr3_part, sizeof(s->sm_ddr3.ddr3_part));
aprint_normal_dev(self, "%s", spdmem_basic_types[s->sm_type]);
if (s->sm_ddr3.ddr3_mod_type ==
@@ -873,21 +880,10 @@
{
int dimm_size, cycle_time;
int tAA_clocks, tRCD_clocks,tRP_clocks, tRAS_clocks;
- unsigned char buf[sizeof(s->sm_ddr4.ddr4_part_number) + 1];
- int i, pnsize;
-
- pnsize = sizeof(s->sm_ddr4.ddr4_part_number);
- memcpy(buf, s->sm_ddr4.ddr4_part_number, pnsize);
- buf[pnsize] = 0; /* Terminate for full string */
- for (i = pnsize - 1; i >= 0; i--) {
- if (buf[i] == 0x20) /* remove trailing spaces */
- buf[i] = 0;
- else
- break;
- }
aprint_naive("\n");
- aprint_normal(": %s\n", buf);
+ print_part(s->sm_ddr4.ddr4_part_number,
+ sizeof(s->sm_ddr4.ddr4_part_number));
aprint_normal_dev(self, "%s", spdmem_basic_types[s->sm_type]);
if (s->sm_ddr4.ddr4_mod_type < __arraycount(spdmem_ddr4_module_types))
aprint_normal(" (%s)",
Home |
Main Index |
Thread Index |
Old Index