]>
Commit | Line | Data |
---|---|---|
f2645fa3 ML |
1 | What: /dev/wmi/dell-smbios |
2 | Date: November 2017 | |
3 | KernelVersion: 4.15 | |
4 | Contact: "Mario Limonciello" <mario.limonciello@dell.com> | |
5 | Description: | |
6 | Perform SMBIOS calls on supported Dell machines. | |
7 | through the Dell ACPI-WMI interface. | |
8 | ||
9 | IOCTL's and buffer formats are defined in: | |
10 | <uapi/linux/wmi.h> | |
11 | ||
12 | 1) To perform an SMBIOS call from userspace, you'll need to | |
13 | first determine the minimum size of the calling interface | |
14 | buffer for your machine. | |
15 | Platforms that contain larger buffers can return larger | |
16 | objects from the system firmware. | |
17 | Commonly this size is either 4k or 32k. | |
18 | ||
19 | To determine the size of the buffer read() a u64 dword from | |
20 | the WMI character device /dev/wmi/dell-smbios. | |
21 | ||
22 | 2) After you've determined the minimum size of the calling | |
23 | interface buffer, you can allocate a structure that represents | |
24 | the structure documented above. | |
25 | ||
26 | 3) In the 'length' object store the size of the buffer you | |
27 | determined above and allocated. | |
28 | ||
29 | 4) In this buffer object, prepare as necessary for the SMBIOS | |
30 | call you're interested in. Typically SMBIOS buffers have | |
31 | "class", "select", and "input" defined to values that coincide | |
32 | with the data you are interested in. | |
33 | Documenting class/select/input values is outside of the scope | |
34 | of this documentation. Check with the libsmbios project for | |
35 | further documentation on these values. | |
36 | ||
37 | 6) Run the call by using ioctl() as described in the header. | |
38 | ||
39 | 7) The output will be returned in the buffer object. | |
40 | ||
41 | 8) Be sure to free up your allocated object. |