mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 03:29:47 +07:00
90563ec412
This patch adds the Dell Systems Management Base Driver with sysfs support. This driver has been tested with Dell OpenManage. Signed-off-by: Doug Warzecha <Douglas_Warzecha@dell.com> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
92 lines
3.6 KiB
Plaintext
92 lines
3.6 KiB
Plaintext
Overview
|
|
|
|
The Dell Systems Management Base Driver provides a sysfs interface for
|
|
systems management software such as Dell OpenManage to perform system
|
|
management interrupts and host control actions (system power cycle or
|
|
power off after OS shutdown) on certain Dell systems.
|
|
|
|
Dell OpenManage requires this driver on the following Dell PowerEdge systems:
|
|
300, 1300, 1400, 400SC, 500SC, 1500SC, 1550, 600SC, 1600SC, 650, 1655MC,
|
|
700, and 750. Other Dell software such as the open source libsmbios project
|
|
is expected to make use of this driver, and it may include the use of this
|
|
driver on other Dell systems.
|
|
|
|
The Dell libsmbios project aims towards providing access to as much BIOS
|
|
information as possible. See http://linux.dell.com/libsmbios/main/ for
|
|
more information about the libsmbios project.
|
|
|
|
|
|
System Management Interrupt
|
|
|
|
On some Dell systems, systems management software must access certain
|
|
management information via a system management interrupt (SMI). The SMI data
|
|
buffer must reside in 32-bit address space, and the physical address of the
|
|
buffer is required for the SMI. The driver maintains the memory required for
|
|
the SMI and provides a way for the application to generate the SMI.
|
|
The driver creates the following sysfs entries for systems management
|
|
software to perform these system management interrupts:
|
|
|
|
/sys/devices/platform/dcdbas/smi_data
|
|
/sys/devices/platform/dcdbas/smi_data_buf_phys_addr
|
|
/sys/devices/platform/dcdbas/smi_data_buf_size
|
|
/sys/devices/platform/dcdbas/smi_request
|
|
|
|
Systems management software must perform the following steps to execute
|
|
a SMI using this driver:
|
|
|
|
1) Lock smi_data.
|
|
2) Write system management command to smi_data.
|
|
3) Write "1" to smi_request to generate a calling interface SMI or
|
|
"2" to generate a raw SMI.
|
|
4) Read system management command response from smi_data.
|
|
5) Unlock smi_data.
|
|
|
|
|
|
Host Control Action
|
|
|
|
Dell OpenManage supports a host control feature that allows the administrator
|
|
to perform a power cycle or power off of the system after the OS has finished
|
|
shutting down. On some Dell systems, this host control feature requires that
|
|
a driver perform a SMI after the OS has finished shutting down.
|
|
|
|
The driver creates the following sysfs entries for systems management software
|
|
to schedule the driver to perform a power cycle or power off host control
|
|
action after the system has finished shutting down:
|
|
|
|
/sys/devices/platform/dcdbas/host_control_action
|
|
/sys/devices/platform/dcdbas/host_control_smi_type
|
|
/sys/devices/platform/dcdbas/host_control_on_shutdown
|
|
|
|
Dell OpenManage performs the following steps to execute a power cycle or
|
|
power off host control action using this driver:
|
|
|
|
1) Write host control action to be performed to host_control_action.
|
|
2) Write type of SMI that driver needs to perform to host_control_smi_type.
|
|
3) Write "1" to host_control_on_shutdown to enable host control action.
|
|
4) Initiate OS shutdown.
|
|
(Driver will perform host control SMI when it is notified that the OS
|
|
has finished shutting down.)
|
|
|
|
|
|
Host Control SMI Type
|
|
|
|
The following table shows the value to write to host_control_smi_type to
|
|
perform a power cycle or power off host control action:
|
|
|
|
PowerEdge System Host Control SMI Type
|
|
---------------- ---------------------
|
|
300 HC_SMITYPE_TYPE1
|
|
1300 HC_SMITYPE_TYPE1
|
|
1400 HC_SMITYPE_TYPE2
|
|
500SC HC_SMITYPE_TYPE2
|
|
1500SC HC_SMITYPE_TYPE2
|
|
1550 HC_SMITYPE_TYPE2
|
|
600SC HC_SMITYPE_TYPE2
|
|
1600SC HC_SMITYPE_TYPE2
|
|
650 HC_SMITYPE_TYPE2
|
|
1655MC HC_SMITYPE_TYPE2
|
|
700 HC_SMITYPE_TYPE3
|
|
750 HC_SMITYPE_TYPE3
|
|
|
|
|