From owner-svn-src-all@freebsd.org Thu Aug 20 12:52:16 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 27BA73BDD8F; Thu, 20 Aug 2020 12:52:16 +0000 (UTC) (envelope-from manu@bidouilliste.com) Received: from mx.blih.net (mx.blih.net [212.83.155.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mx.blih.net", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BXPgM09cHz4QPc; Thu, 20 Aug 2020 12:52:14 +0000 (UTC) (envelope-from manu@bidouilliste.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bidouilliste.com; s=mx; t=1597927926; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=gcD8631yHAWVr/RIDnaR9S0dIxe65OJYehNZBAVUTBA=; b=X2nTqs8VNHmVmI8QomFpc1RSQPQnUIdI1x7ml+v4yx6HcVlGZXyW29yX0j3ksqQqGAL4QF mb2OXPoifEXvO7GnyBcrn23LjknVHCb3OtR5/lVW7lkliKg8PRGfa4pG8YNfuuTebsqkT1 72IIZuheFhkTMnp+CxGPjboCPtlbtco= Received: from skull.home.blih.net (lfbn-idf2-1-1138-237.w90-92.abo.wanadoo.fr [90.92.20.237]) by mx.blih.net (OpenSMTPD) with ESMTPSA id f550ac9d (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Thu, 20 Aug 2020 12:52:06 +0000 (UTC) Date: Thu, 20 Aug 2020 14:52:06 +0200 From: Emmanuel Vadot To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r364421 - head/stand/libsa Message-Id: <20200820145206.426a7c8d4ce83d9d58eeb9fd@bidouilliste.com> In-Reply-To: <202008201250.07KCoojX042611@repo.freebsd.org> References: <202008201250.07KCoojX042611@repo.freebsd.org> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.32; amd64-portbld-freebsd13.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4BXPgM09cHz4QPc X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bidouilliste.com header.s=mx header.b=X2nTqs8V; dmarc=pass (policy=none) header.from=bidouilliste.com; spf=pass (mx1.freebsd.org: domain of manu@bidouilliste.com designates 212.83.155.74 as permitted sender) smtp.mailfrom=manu@bidouilliste.com X-Spamd-Result: default: False [-1.23 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[bidouilliste.com:s=mx]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; MV_CASE(0.50)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; NEURAL_HAM_MEDIUM(-0.90)[-0.897]; R_SPF_ALLOW(-0.20)[+mx]; FREEFALL_USER(0.00)[manu]; NEURAL_SPAM_SHORT(0.17)[0.167]; DKIM_TRACE(0.00)[bidouilliste.com:+]; DMARC_POLICY_ALLOW(-0.50)[bidouilliste.com,none]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:12876, ipnet:212.83.128.0/19, country:FR]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[svn-src-head,svn-src-all]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2020 12:52:16 -0000 On Thu, 20 Aug 2020 12:50:50 +0000 (UTC) Emmanuel Vadot wrote: > Author: manu > Date: Thu Aug 20 12:50:49 2020 > New Revision: 364421 > URL: https://svnweb.freebsd.org/changeset/base/364421 > > Log: > libsa: smbios: Parse the chassis type and export it as smbios.chassis.type > > It can be useful to know what type of machine we are running on for desktop > related thing. > It also allow us to support all the DMI variable that linux driver can fetch. > > MFC after: 1 week > Sponsored by: Sponsored-by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26045 Reviewed by: emaste > Modified: > head/stand/libsa/smbios.c > > Modified: head/stand/libsa/smbios.c > ============================================================================== > --- head/stand/libsa/smbios.c Thu Aug 20 10:06:50 2020 (r364420) > +++ head/stand/libsa/smbios.c Thu Aug 20 12:50:49 2020 (r364421) > @@ -209,6 +209,90 @@ smbios_setuuid(const char *name, const caddr_t addr, c > > #endif > > +static const char * > +smbios_parse_chassis_type(caddr_t addr) > +{ > + int type; > + > + type = SMBIOS_GET8(addr, 0x5); > + switch (type) { > + case 0x1: > + return ("Other"); > + case 0x2: > + return ("Unknown"); > + case 0x3: > + return ("Desktop"); > + case 0x4: > + return ("Low Profile Desktop"); > + case 0x5: > + return ("Pizza Box"); > + case 0x6: > + return ("Mini Tower"); > + case 0x7: > + return ("Tower"); > + case 0x8: > + return ("Portable"); > + case 0x9: > + return ("Laptop"); > + case 0xA: > + return ("Notebook"); > + case 0xB: > + return ("Hand Held"); > + case 0xC: > + return ("Docking Station"); > + case 0xD: > + return ("All in One"); > + case 0xE: > + return ("Sub Notebook"); > + case 0xF: > + return ("Lunch Box"); > + case 0x10: > + return ("Space-saving"); > + case 0x11: > + return ("Main Server Chassis"); > + case 0x12: > + return ("Expansion Chassis"); > + case 0x13: > + return ("SubChassis"); > + case 0x14: > + return ("Bus Expansion Chassis"); > + case 0x15: > + return ("Peripheral Chassis"); > + case 0x16: > + return ("RAID Chassis"); > + case 0x17: > + return ("Rack Mount Chassis"); > + case 0x18: > + return ("Sealed-case PC"); > + case 0x19: > + return ("Multi-system chassis"); > + case 0x1A: > + return ("Compact PCI"); > + case 0x1B: > + return ("Advanced TCA"); > + case 0x1C: > + return ("Blade"); > + case 0x1D: > + return ("Blade Enclosure"); > + case 0x1E: > + return ("Tablet"); > + case 0x1F: > + return ("Convertible"); > + case 0x20: > + return ("Detachable"); > + case 0x21: > + return ("IoT Gateway"); > + case 0x22: > + return ("Embedded PC"); > + case 0x23: > + return ("Mini PC"); > + case 0x24: > + return ("Stick PC"); > + } > + > + return ("Undefined"); > +} > + > static caddr_t > smbios_parse_table(const caddr_t addr) > { > @@ -251,6 +335,7 @@ smbios_parse_table(const caddr_t addr) > > case 3: /* 3.3.4 System Enclosure or Chassis (Type 3) */ > smbios_setenv("smbios.chassis.maker", addr, 0x04); > + setenv("smbios.chassis.type", smbios_parse_chassis_type(addr), 1); > smbios_setenv("smbios.chassis.version", addr, 0x06); > #ifdef SMBIOS_SERIAL_NUMBERS > smbios_setenv("smbios.chassis.serial", addr, 0x07); -- Emmanuel Vadot