| Doug Warzecha | 90563ec | 2005-09-06 15:17:15 -0700 | [diff] [blame] | 1 | Overview | 
 | 2 |  | 
 | 3 | The Dell Systems Management Base Driver provides a sysfs interface for | 
 | 4 | systems management software such as Dell OpenManage to perform system | 
 | 5 | management interrupts and host control actions (system power cycle or | 
 | 6 | power off after OS shutdown) on certain Dell systems. | 
 | 7 |  | 
 | 8 | Dell OpenManage requires this driver on the following Dell PowerEdge systems: | 
 | 9 | 300, 1300, 1400, 400SC, 500SC, 1500SC, 1550, 600SC, 1600SC, 650, 1655MC, | 
 | 10 | 700, and 750.  Other Dell software such as the open source libsmbios project | 
 | 11 | is expected to make use of this driver, and it may include the use of this | 
 | 12 | driver on other Dell systems. | 
 | 13 |  | 
 | 14 | The Dell libsmbios project aims towards providing access to as much BIOS | 
 | 15 | information as possible.  See http://linux.dell.com/libsmbios/main/ for | 
 | 16 | more information about the libsmbios project. | 
 | 17 |  | 
 | 18 |  | 
 | 19 | System Management Interrupt | 
 | 20 |  | 
 | 21 | On some Dell systems, systems management software must access certain | 
 | 22 | management information via a system management interrupt (SMI).  The SMI data | 
 | 23 | buffer must reside in 32-bit address space, and the physical address of the | 
 | 24 | buffer is required for the SMI.  The driver maintains the memory required for | 
 | 25 | the SMI and provides a way for the application to generate the SMI. | 
 | 26 | The driver creates the following sysfs entries for systems management | 
 | 27 | software to perform these system management interrupts: | 
 | 28 |  | 
 | 29 | /sys/devices/platform/dcdbas/smi_data | 
 | 30 | /sys/devices/platform/dcdbas/smi_data_buf_phys_addr | 
 | 31 | /sys/devices/platform/dcdbas/smi_data_buf_size | 
 | 32 | /sys/devices/platform/dcdbas/smi_request | 
 | 33 |  | 
 | 34 | Systems management software must perform the following steps to execute | 
 | 35 | a SMI using this driver: | 
 | 36 |  | 
 | 37 | 1) Lock smi_data. | 
 | 38 | 2) Write system management command to smi_data. | 
 | 39 | 3) Write "1" to smi_request to generate a calling interface SMI or | 
 | 40 |    "2" to generate a raw SMI. | 
 | 41 | 4) Read system management command response from smi_data. | 
 | 42 | 5) Unlock smi_data. | 
 | 43 |  | 
 | 44 |  | 
 | 45 | Host Control Action | 
 | 46 |  | 
 | 47 | Dell OpenManage supports a host control feature that allows the administrator | 
 | 48 | to perform a power cycle or power off of the system after the OS has finished | 
 | 49 | shutting down.  On some Dell systems, this host control feature requires that | 
 | 50 | a driver perform a SMI after the OS has finished shutting down. | 
 | 51 |  | 
 | 52 | The driver creates the following sysfs entries for systems management software | 
 | 53 | to schedule the driver to perform a power cycle or power off host control | 
 | 54 | action after the system has finished shutting down: | 
 | 55 |  | 
 | 56 | /sys/devices/platform/dcdbas/host_control_action | 
 | 57 | /sys/devices/platform/dcdbas/host_control_smi_type | 
 | 58 | /sys/devices/platform/dcdbas/host_control_on_shutdown | 
 | 59 |  | 
 | 60 | Dell OpenManage performs the following steps to execute a power cycle or | 
 | 61 | power off host control action using this driver: | 
 | 62 |  | 
 | 63 | 1) Write host control action to be performed to host_control_action. | 
 | 64 | 2) Write type of SMI that driver needs to perform to host_control_smi_type. | 
 | 65 | 3) Write "1" to host_control_on_shutdown to enable host control action. | 
 | 66 | 4) Initiate OS shutdown. | 
 | 67 |    (Driver will perform host control SMI when it is notified that the OS | 
 | 68 |    has finished shutting down.) | 
 | 69 |  | 
 | 70 |  | 
 | 71 | Host Control SMI Type | 
 | 72 |  | 
 | 73 | The following table shows the value to write to host_control_smi_type to | 
 | 74 | perform a power cycle or power off host control action: | 
 | 75 |  | 
 | 76 | PowerEdge System    Host Control SMI Type | 
 | 77 | ----------------    --------------------- | 
 | 78 |       300             HC_SMITYPE_TYPE1 | 
 | 79 |      1300             HC_SMITYPE_TYPE1 | 
 | 80 |      1400             HC_SMITYPE_TYPE2 | 
 | 81 |       500SC           HC_SMITYPE_TYPE2 | 
 | 82 |      1500SC           HC_SMITYPE_TYPE2 | 
 | 83 |      1550             HC_SMITYPE_TYPE2 | 
 | 84 |       600SC           HC_SMITYPE_TYPE2 | 
 | 85 |      1600SC           HC_SMITYPE_TYPE2 | 
 | 86 |       650             HC_SMITYPE_TYPE2 | 
 | 87 |      1655MC           HC_SMITYPE_TYPE2 | 
 | 88 |       700             HC_SMITYPE_TYPE3 | 
 | 89 |       750             HC_SMITYPE_TYPE3 | 
 | 90 |  | 
 | 91 |  |