Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F111166739
D26045.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D26045.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D26045: libsa: smbios: Parse the chassis type and export it as smbios.chassis.type
Attached
Detach File
Event Timeline
Log In to Comment