1 |
62 |
marcus.erl |
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 |
|
|
|