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