From c6795799963479a5ddb9b97ebb4cf6c1c97c1fba Mon Sep 17 00:00:00 2001 From: Robert Mustacchi Date: Wed, 9 Sep 2020 22:30:42 -0700 Subject: 13119 Want support for SMBIOS 3.4 Reviewed by: C Fraire Reviewed by: Toomas Soome Approved by: Dan McDonald --- usr/src/cmd/smbios/smbios.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'usr/src/cmd') diff --git a/usr/src/cmd/smbios/smbios.c b/usr/src/cmd/smbios/smbios.c index 5597e04fc5..dedfe29e9c 100644 --- a/usr/src/cmd/smbios/smbios.c +++ b/usr/src/cmd/smbios/smbios.c @@ -22,6 +22,7 @@ /* * Copyright 2015 OmniTI Computer Consulting, Inc. All rights reserved. * Copyright (c) 2017, Joyent, Inc. + * Copyright 2020 Oxide Computer Company * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -716,7 +717,7 @@ print_slot(smbios_hdl_t *shp, id_t id, FILE *fp) oprintf(fp, " Slot Peer %u:\n", i); oprintf(fp, " Segment group: %u\n", peer[i].smblp_group); - oprintf(fp, " Bus/Device/Function: %u/%u/%u", + oprintf(fp, " Bus/Device/Function: %u/%u/%u\n", peer[i].smblp_bus, peer[i].smblp_device, peer[i].smblp_function); oprintf(fp, " Electrical width: %u\n", @@ -725,6 +726,25 @@ print_slot(smbios_hdl_t *shp, id_t id, FILE *fp) smbios_info_slot_peers_free(shp, npeers, peer); } + + if (s.smbl_info != 0) { + if (s.smbl_type >= SMB_SLT_PCIE && + s.smbl_type <= SMB_SLT_PCIEG6P) { + oprintf(fp, " PCIe Generation: %d\n", s.smbl_info); + } else { + oprintf(fp, " Slot Type: 0x%x\n", s.smbl_info); + } + } + + if (s.smbl_pwidth != 0) { + desc_printf(smbios_slot_width_desc(s.smbl_pwidth), + fp, " Physical Width: 0x%x", s.smbl_pwidth); + } + + if (s.smbl_pitch != 0) { + oprintf(fp, " Slot Pitch: %u.%u mm\n", s.smbl_pitch / 100, + s.smbl_pitch % 100); + } } static void -- cgit v1.2.3 From 8ad93a826ff9af944e63c7d84b30cba79dc36d54 Mon Sep 17 00:00:00 2001 From: Robert Mustacchi Date: Wed, 9 Sep 2020 23:46:40 -0700 Subject: 13121 mdb smbios dmod could work for libsmbios Reviewed by: Toomas Soome Approved by: Joshua M. Clulow --- usr/src/cmd/mdb/intel/amd64/Makefile | 2 +- usr/src/cmd/mdb/intel/amd64/libsmbios/Makefile | 27 ++++++++++++++++++++++++++ usr/src/cmd/mdb/intel/ia32/Makefile | 2 +- usr/src/cmd/mdb/intel/ia32/libsmbios/Makefile | 26 +++++++++++++++++++++++++ usr/src/cmd/mdb/intel/modules/smbios/smbios.c | 2 +- usr/src/pkg/manifests/developer-debug-mdb.mf | 3 +++ 6 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 usr/src/cmd/mdb/intel/amd64/libsmbios/Makefile create mode 100644 usr/src/cmd/mdb/intel/ia32/libsmbios/Makefile (limited to 'usr/src/cmd') diff --git a/usr/src/cmd/mdb/intel/amd64/Makefile b/usr/src/cmd/mdb/intel/amd64/Makefile index 6ddc6b59d5..39d3574f15 100644 --- a/usr/src/cmd/mdb/intel/amd64/Makefile +++ b/usr/src/cmd/mdb/intel/amd64/Makefile @@ -27,7 +27,7 @@ include ../../Makefile.common MODULES = $(COMMON_MODULES_PROC) $(COMMON_MODULES_KVM) -MODULES += disk_label uhci +MODULES += disk_label uhci libsmbios SUBDIRS = mdb mdb_ks kmdb libstandctf libstand .WAIT $(MODULES) diff --git a/usr/src/cmd/mdb/intel/amd64/libsmbios/Makefile b/usr/src/cmd/mdb/intel/amd64/libsmbios/Makefile new file mode 100644 index 0000000000..a04ca7df17 --- /dev/null +++ b/usr/src/cmd/mdb/intel/amd64/libsmbios/Makefile @@ -0,0 +1,27 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# + +# +# Copyright 2020 Oxide Computer Company +# + +MODULE = libsmbios.so +MDBTGT = proc + +MODSRCS = smbios.c + +include ../../../../Makefile.cmd +include ../../../../Makefile.cmd.64 +include ../../Makefile.amd64 +include ../../../Makefile.module + +MODSRCS_DIR = ../../modules/smbios +LDLIBS += -lsmbios diff --git a/usr/src/cmd/mdb/intel/ia32/Makefile b/usr/src/cmd/mdb/intel/ia32/Makefile index cb544a52d2..9d8f9efe87 100644 --- a/usr/src/cmd/mdb/intel/ia32/Makefile +++ b/usr/src/cmd/mdb/intel/ia32/Makefile @@ -28,7 +28,7 @@ include ../../Makefile.common MODULES = $(COMMON_MODULES_PROC) $(COMMON_MODULES_PROC_32BIT) -MODULES += disk_label +MODULES += disk_label libsmbios SUBDIRS = mdb .WAIT $(MODULES) diff --git a/usr/src/cmd/mdb/intel/ia32/libsmbios/Makefile b/usr/src/cmd/mdb/intel/ia32/libsmbios/Makefile new file mode 100644 index 0000000000..14491786c2 --- /dev/null +++ b/usr/src/cmd/mdb/intel/ia32/libsmbios/Makefile @@ -0,0 +1,26 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# + +# +# Copyright 2020 Oxide Computer Company +# + +MODULE = libsmbios.so +MDBTGT = proc + +MODSRCS = smbios.c + +include ../../../../Makefile.cmd +include ../../Makefile.ia32 +include ../../../Makefile.module + +MODSRCS_DIR = ../../modules/smbios +LDLIBS += -lsmbios diff --git a/usr/src/cmd/mdb/intel/modules/smbios/smbios.c b/usr/src/cmd/mdb/intel/modules/smbios/smbios.c index 429a5fba0e..1b692d45b1 100644 --- a/usr/src/cmd/mdb/intel/modules/smbios/smbios.c +++ b/usr/src/cmd/mdb/intel/modules/smbios/smbios.c @@ -28,7 +28,7 @@ * _KERNEL. Therefore we have to manually declare an extern delaration for * strerror(). */ -extern const char *strerror(int); +extern char *strerror(int); /* * Take an existing smbios_hdl_t from a dump and slurp out its memory so we can diff --git a/usr/src/pkg/manifests/developer-debug-mdb.mf b/usr/src/pkg/manifests/developer-debug-mdb.mf index af99982b2c..63c7982c3c 100644 --- a/usr/src/pkg/manifests/developer-debug-mdb.mf +++ b/usr/src/pkg/manifests/developer-debug-mdb.mf @@ -216,6 +216,8 @@ file path=usr/lib/mdb/proc/$(ARCH64)/libnvpair.so group=sys mode=0555 file path=usr/lib/mdb/proc/$(ARCH64)/libproc.so group=sys mode=0555 file path=usr/lib/mdb/proc/$(ARCH64)/libpython$(PYTHON_VERSION).so group=sys \ mode=0555 +$(i386_ONLY)file path=usr/lib/mdb/proc/$(ARCH64)/libsmbios.so group=sys \ + mode=0555 file path=usr/lib/mdb/proc/$(ARCH64)/libsysevent.so group=sys mode=0555 file path=usr/lib/mdb/proc/$(ARCH64)/libtopo.so group=sys mode=0555 file path=usr/lib/mdb/proc/$(ARCH64)/libumem.so group=sys mode=0555 @@ -230,6 +232,7 @@ file path=usr/lib/mdb/proc/libcmdutils.so group=sys mode=0555 file path=usr/lib/mdb/proc/libnvpair.so group=sys mode=0555 file path=usr/lib/mdb/proc/libproc.so group=sys mode=0555 file path=usr/lib/mdb/proc/libpython$(PYTHON_VERSION).so group=sys mode=0555 +$(i386_ONLY)file path=usr/lib/mdb/proc/libsmbios.so group=sys mode=0555 file path=usr/lib/mdb/proc/libsysevent.so group=sys mode=0555 file path=usr/lib/mdb/proc/libtopo.so group=sys mode=0555 file path=usr/lib/mdb/proc/libumem.so group=sys mode=0555 -- cgit v1.2.3