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