| What: /dev/wmi/dell-smbios |
| Date: November 2017 |
| KernelVersion: 4.15 |
| Contact: Dell.Client.Kernel@dell.com |
| Description: |
| Perform SMBIOS calls on supported Dell machines. |
| through the Dell ACPI-WMI interface. |
| |
| IOCTL's and buffer formats are defined in: |
| <uapi/linux/wmi.h> |
| |
| 1) To perform an SMBIOS call from userspace, you'll need to |
| first determine the minimum size of the calling interface |
| buffer for your machine. |
| Platforms that contain larger buffers can return larger |
| objects from the system firmware. |
| Commonly this size is either 4k or 32k. |
| |
| To determine the size of the buffer read() a u64 dword from |
| the WMI character device /dev/wmi/dell-smbios. |
| |
| 2) After you've determined the minimum size of the calling |
| interface buffer, you can allocate a structure that represents |
| the structure documented above. |
| |
| 3) In the 'length' object store the size of the buffer you |
| determined above and allocated. |
| |
| 4) In this buffer object, prepare as necessary for the SMBIOS |
| call you're interested in. Typically SMBIOS buffers have |
| "class", "select", and "input" defined to values that coincide |
| with the data you are interested in. |
| Documenting class/select/input values is outside of the scope |
| of this documentation. Check with the libsmbios project for |
| further documentation on these values. |
| |
| 6) Run the call by using ioctl() as described in the header. |
| |
| 7) The output will be returned in the buffer object. |
| |
| 8) Be sure to free up your allocated object. |