forked from torvalds/linux
Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
IOCTL support for dell-wmi-sysman driver
Perform BIOS Management calls on supported Dell machines through the Dell WMI System Management interface. This interface provides IOCTL's to perform bundled BIOS Setting transactions. Cc: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Prasanth KSR <prasanth.ksr@dell.com> Co-developed-by: Divya Bharathi <divya.bharathi@dell.com> Signed-off-by: Divya Bharathi <divya.bharathi@dell.com> Co-developed-by: Mario Limonciello <mario.limonciello@dell.com> Signed-off-by: Mario Limonciello <mario.limonciello@dell.com>
- Loading branch information
1 parent
6155670
commit 00141bcb2495c75a902d3070e149760b1050322e
Showing
11 changed files
with
946 additions
and
89 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| What: /dev/wmi/dell-wmi-sysman | ||
| Date: November 2021 | ||
| KernelVersion: 5.15 | ||
| Contact: "Divya Bharathi" <divya.bharathi@dell.com> | ||
| "Mario Limonciello" <mario.limonciello@dell.com> | ||
| "Prasanth K S R" <prasanth.ksr@dell.com> | ||
| Description: | ||
| Perform BIOS Management calls on supported Dell machines | ||
| through the Dell WMI System Management interface. | ||
|
|
||
| This interface provides IOCTL's to perform bundled | ||
| BIOS Setting transactions. | ||
|
|
||
| IOCTL's and buffer formats are defined in: | ||
| <uapi/linux/wmi.h> | ||
|
|
||
| 1) To perform a BIOS System Management call from userspace, | ||
| you'll need to first determine the minimum size of the | ||
| system management 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-wmi-sysman. | ||
|
|
||
| 2) After you've determined the minimum size of the system management | ||
| interface buffer, you can allocate a structure that represents | ||
| the structure documented above (struct dell_wmi_sysman_buffer). | ||
|
|
||
| 3) In this buffer object, prepare as necessary for the BIOS System | ||
| Management call you're interested in. Typically System Management | ||
| buffers have "length", "command" , "count" and "admin_password" | ||
| defined to values that coincide with the "data" you are interested in. | ||
|
|
||
| 4) Run the call by using ioctl() as described in the header. | ||
|
|
||
| 5) The output will be returned in the buffer object and | ||
| make sure to free up the allocated buffer. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.