|  | 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 | 
|  |  | 
|  |  |