| =================================== |
| Dell Systems Management Base Driver |
| =================================== |
| |
| 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 |
| =================== ===================== |