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