162306a36Sopenharmony_ci===================================
262306a36Sopenharmony_ciDell Systems Management Base Driver
362306a36Sopenharmony_ci===================================
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciOverview
662306a36Sopenharmony_ci========
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciThe Dell Systems Management Base Driver provides a sysfs interface for
962306a36Sopenharmony_cisystems management software such as Dell OpenManage to perform system
1062306a36Sopenharmony_cimanagement interrupts and host control actions (system power cycle or
1162306a36Sopenharmony_cipower off after OS shutdown) on certain Dell systems.
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciDell OpenManage requires this driver on the following Dell PowerEdge systems:
1462306a36Sopenharmony_ci300, 1300, 1400, 400SC, 500SC, 1500SC, 1550, 600SC, 1600SC, 650, 1655MC,
1562306a36Sopenharmony_ci700, and 750.  Other Dell software such as the open source libsmbios project
1662306a36Sopenharmony_ciis expected to make use of this driver, and it may include the use of this
1762306a36Sopenharmony_cidriver on other Dell systems.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciThe Dell libsmbios project aims towards providing access to as much BIOS
2062306a36Sopenharmony_ciinformation as possible.  See http://linux.dell.com/libsmbios/main/ for
2162306a36Sopenharmony_cimore information about the libsmbios project.
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciSystem Management Interrupt
2562306a36Sopenharmony_ci===========================
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciOn some Dell systems, systems management software must access certain
2862306a36Sopenharmony_cimanagement information via a system management interrupt (SMI).  The SMI data
2962306a36Sopenharmony_cibuffer must reside in 32-bit address space, and the physical address of the
3062306a36Sopenharmony_cibuffer is required for the SMI.  The driver maintains the memory required for
3162306a36Sopenharmony_cithe SMI and provides a way for the application to generate the SMI.
3262306a36Sopenharmony_ciThe driver creates the following sysfs entries for systems management
3362306a36Sopenharmony_cisoftware to perform these system management interrupts::
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci	/sys/devices/platform/dcdbas/smi_data
3662306a36Sopenharmony_ci	/sys/devices/platform/dcdbas/smi_data_buf_phys_addr
3762306a36Sopenharmony_ci	/sys/devices/platform/dcdbas/smi_data_buf_size
3862306a36Sopenharmony_ci	/sys/devices/platform/dcdbas/smi_request
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ciSystems management software must perform the following steps to execute
4162306a36Sopenharmony_cia SMI using this driver:
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci1) Lock smi_data.
4462306a36Sopenharmony_ci2) Write system management command to smi_data.
4562306a36Sopenharmony_ci3) Write "1" to smi_request to generate a calling interface SMI or
4662306a36Sopenharmony_ci   "2" to generate a raw SMI.
4762306a36Sopenharmony_ci4) Read system management command response from smi_data.
4862306a36Sopenharmony_ci5) Unlock smi_data.
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ciHost Control Action
5262306a36Sopenharmony_ci===================
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ciDell OpenManage supports a host control feature that allows the administrator
5562306a36Sopenharmony_cito perform a power cycle or power off of the system after the OS has finished
5662306a36Sopenharmony_cishutting down.  On some Dell systems, this host control feature requires that
5762306a36Sopenharmony_cia driver perform a SMI after the OS has finished shutting down.
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ciThe driver creates the following sysfs entries for systems management software
6062306a36Sopenharmony_cito schedule the driver to perform a power cycle or power off host control
6162306a36Sopenharmony_ciaction after the system has finished shutting down:
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci/sys/devices/platform/dcdbas/host_control_action
6462306a36Sopenharmony_ci/sys/devices/platform/dcdbas/host_control_smi_type
6562306a36Sopenharmony_ci/sys/devices/platform/dcdbas/host_control_on_shutdown
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ciDell OpenManage performs the following steps to execute a power cycle or
6862306a36Sopenharmony_cipower off host control action using this driver:
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci1) Write host control action to be performed to host_control_action.
7162306a36Sopenharmony_ci2) Write type of SMI that driver needs to perform to host_control_smi_type.
7262306a36Sopenharmony_ci3) Write "1" to host_control_on_shutdown to enable host control action.
7362306a36Sopenharmony_ci4) Initiate OS shutdown.
7462306a36Sopenharmony_ci   (Driver will perform host control SMI when it is notified that the OS
7562306a36Sopenharmony_ci   has finished shutting down.)
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ciHost Control SMI Type
7962306a36Sopenharmony_ci=====================
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ciThe following table shows the value to write to host_control_smi_type to
8262306a36Sopenharmony_ciperform a power cycle or power off host control action:
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci=================== =====================
8562306a36Sopenharmony_ciPowerEdge System    Host Control SMI Type
8662306a36Sopenharmony_ci=================== =====================
8762306a36Sopenharmony_ci      300             HC_SMITYPE_TYPE1
8862306a36Sopenharmony_ci     1300             HC_SMITYPE_TYPE1
8962306a36Sopenharmony_ci     1400             HC_SMITYPE_TYPE2
9062306a36Sopenharmony_ci      500SC           HC_SMITYPE_TYPE2
9162306a36Sopenharmony_ci     1500SC           HC_SMITYPE_TYPE2
9262306a36Sopenharmony_ci     1550             HC_SMITYPE_TYPE2
9362306a36Sopenharmony_ci      600SC           HC_SMITYPE_TYPE2
9462306a36Sopenharmony_ci     1600SC           HC_SMITYPE_TYPE2
9562306a36Sopenharmony_ci      650             HC_SMITYPE_TYPE2
9662306a36Sopenharmony_ci     1655MC           HC_SMITYPE_TYPE2
9762306a36Sopenharmony_ci      700             HC_SMITYPE_TYPE3
9862306a36Sopenharmony_ci      750             HC_SMITYPE_TYPE3
9962306a36Sopenharmony_ci=================== =====================
100