Page MenuHomeFreeBSD

D26045.diff
No OneTemporary

D26045.diff

Index: stand/libsa/smbios.c
===================================================================
--- stand/libsa/smbios.c
+++ stand/libsa/smbios.c
@@ -209,6 +209,126 @@
#endif
+static const char *
+smbios_parse_chassis_type(caddr_t addr)
+{
+ int type;
+
+ type = SMBIOS_GET8(addr, 0x5);
+ switch (type) {
+ case 0x1:
+ return ("Other");
+ break;
+ case 0x2:
+ return ("Unknown");
+ break;
+ case 0x3:
+ return ("Desktop");
+ break;
+ case 0x4:
+ return ("Low Profile Desktop");
+ break;
+ case 0x5:
+ return ("Pizza Box");
+ break;
+ case 0x6:
+ return ("Mini Tower");
+ break;
+ case 0x7:
+ return ("Tower");
+ break;
+ case 0x8:
+ return ("Portable");
+ break;
+ case 0x9:
+ return ("Laptop");
+ break;
+ case 0xA:
+ return ("Notebook");
+ break;
+ case 0xB:
+ return ("Hand Held");
+ break;
+ case 0xC:
+ return ("Docking Station");
+ break;
+ case 0xD:
+ return ("All in One");
+ break;
+ case 0xE:
+ return ("Sub Notebook");
+ break;
+ case 0xF:
+ return ("Lunch Box");
+ break;
+ case 0x10:
+ return ("Space-saving");
+ break;
+ case 0x11:
+ return ("Main Server Chassis");
+ break;
+ case 0x12:
+ return ("Expansion Chassis");
+ break;
+ case 0x13:
+ return ("SubChassis");
+ break;
+ case 0x14:
+ return ("Bus Expansion Chassis");
+ break;
+ case 0x15:
+ return ("Peripheral Chassis");
+ break;
+ case 0x16:
+ return ("RAID Chassis");
+ break;
+ case 0x17:
+ return ("Rack Mount Chassis");
+ break;
+ case 0x18:
+ return ("Sealed-case PC");
+ break;
+ case 0x19:
+ return ("Multi-system chassis");
+ break;
+ case 0x1A:
+ return ("Compact PCI");
+ break;
+ case 0x1B:
+ return ("Advanced TCA");
+ break;
+ case 0x1C:
+ return ("Blade");
+ break;
+ case 0x1D:
+ return ("Blade Enclosure");
+ break;
+ case 0x1E:
+ return ("Tablet");
+ break;
+ case 0x1F:
+ return ("Convertible");
+ break;
+ case 0x20:
+ return ("Detachable");
+ break;
+ case 0x21:
+ return ("IoT Gateway");
+ break;
+ case 0x22:
+ return ("Embedded PC");
+ break;
+ case 0x23:
+ return ("Mini PC");
+ break;
+ case 0x24:
+ return ("Stick PC");
+ break;
+ }
+
+ return ("Undefined");
+}
+
static caddr_t
smbios_parse_table(const caddr_t addr)
{
@@ -251,6 +371,7 @@
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);

File Metadata

Mime Type
text/plain
Expires
Sat, Mar 1, 8:05 AM (3 h, 47 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16900866
Default Alt Text
D26045.diff (2 KB)

Event Timeline