mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-13 14:24:11 +08:00
8599a12b1e
Various pdx86 docs under Documentation/ABI/testing still use Mario's old, now defunct, <mario.limonciello@dell.com> address. Update the docs to point to either the new Dell.Client.Kernel@dell.com email alias for Dell specific drivers, or to Mario's new @outlook.com address for other drivers. Cc: Dell.Client.Kernel@dell.com Cc: Mario Limonciello <mario.limonciello@outlook.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20210810160900.106512-1-hdegoede@redhat.com
42 lines
1.5 KiB
Plaintext
42 lines
1.5 KiB
Plaintext
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.
|