xref: /linux/Documentation/ABI/testing/dell-smbios-wmi (revision 71e2f4dd5a65bd8dbca0b77661e75eea471168f8)
1What:		/dev/wmi/dell-smbios
2Date:		November 2017
3KernelVersion:	4.15
4Contact:	"Mario Limonciello" <mario.limonciello@dell.com>
5Description:
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.
42