Lines Matching +full:system +full:- +full:on +full:- +full:module

8 standard for controlling intelligent devices that monitor a system.
9 It provides for dynamic discovery of sensors in the system and the
12 standardized database for field-replaceable units (FRUs) and a watchdog
16 system (called a Baseboard Management Controller, or BMC) and
17 management software that can use the IPMI system.
25 -------------
28 things to have it work right depending on your hardware. Most of
32 No matter what, you must pick 'IPMI top-level message handler' to use
33 IPMI. What you do beyond that depends on your needs and hardware.
35 The message handler does not provide any user-level interfaces.
40 The driver interface depends on your hardware. If your system
46 support this, but it is unknown if it will work on every board. For
48 figuring to see if it will work on your system if the SMBIOS/APCI
50 these enabled and let the drivers auto-detect what is present.
52 You should generally enable ACPI on your system, as systems with IPMI
61 "The SMBus Driver" on how to hand-configure your system.
65 the kernel, then via a kernel command-line option you can have the
69 closed (by default it is disabled on close). Go into the 'Watchdog
71 'Disable watchdog shutdown on close'.
74 'IPMI Poweroff' to do this. The driver will auto-detect if the system
76 system doesn't support this option. This works on ATCA systems, the
77 Radisys CPI1 card, and any IPMI system that supports standard chassis
80 If you want the driver to put an event into the event log on a panic,
81 enable the 'Generate a panic event to all BMCs on a panic' option. If
84 option. You can also enable these dynamically by setting the module
85 parameter named "panic_op" in the ipmi_msghandler module to "event"
89 ------------
94 code. These chunks (by module name) are:
96 ipmi_msghandler - This is the central piece of software for the IPMI
97 system. It handles all messages, message timing, and responses. The
99 System Management Interfaces, or SMIs) also tie in here. This
103 ipmi_devintf - This provides a userland IOCTL interface for the IPMI
107 ipmi_si - A driver for various system interfaces. This supports KCS,
111 ipmi_ssif - A driver for accessing BMCs on the SMBus. It uses the
115 ipmi_powernv - A driver for access BMCs on POWERNV systems.
117 ipmi_watchdog - IPMI requires systems to have a very capable watchdog
119 interface on top of the IPMI message handler.
121 ipmi_poweroff - Some systems support the ability to be turned off via
124 bt-bmc - This is not part of the main driver, but instead a driver for
125 accessing a BMC-side interface of a BT interface. It is used on BMCs
133 linux/ipmi.h - Contains the user interface and IOCTL interface for IPMI.
135 linux/ipmi_smi.h - Contains the interface for system management interfaces
138 linux/ipmi_msgdefs.h - General definitions for base IPMI messaging.
142 ----------
157 "System Interface" addresses are defined as::
166 straight to the BMC on the current card. The channel must be
169 Messages that are destined to go out on the IPMB bus going through the
185 is directly on an IPMB bus and doesn't have to go through the BMC.
186 You can send messages to a specific management controller (MC) on the
200 use this to implement a management controller on a bus..
203 --------
221 offsets a little easier :-).
248 /* Place-holder for the data, don't make any assumptions about
258 -------------------------------------------
262 addressed (because some boards actually have multiple BMCs on them)
285 piece of data, the handler_data, that will be passed back to you on
297 To send a message from kernel-land, the ipmi_request_settime() call does
299 self-explanatory. However, it takes a "msgid" parameter. This is NOT
323 When you send a command (which is defined by the lowest-order bit of
324 the netfn per the IPMI spec) on the IPMB bus, the driver will
326 command. If the response is not receive in the IPMI-specified 5
332 MUST call ipmi_free_recv_msg() on it, or you will leak messages. Note
338 pieces of code that need to work even if the system is out of buffers
349 commands that other things on the IPMB bus have sent you). To receive
354 "val" to non-zero. Any events that have been received by the driver
376 -------------------------------
389 -------------
392 in the system. It discovers interfaces through a host of different
393 methods, depending on the system.
395 You can specify up to four interfaces on the module load line and
396 control some module parameters::
416 If you specify addrs as non-zero for an interface, the driver will
420 If you specify ports as non-zero for an interface, the driver will
423 If you specify irqs as non-zero for an interface, the driver will
432 locations and they may not be in 8-bit registers. These parameters
442 data used by IPMI is 8-bits wide, but it may be inside a larger
455 (if set to 0) the kernel IPMI daemon. Normally this is auto-detected
465 When compiled into the kernel, the parameters can be specified on the
478 It works the same as the module parameters of the same names.
482 interface to help speed things up. This is a low-priority kernel
484 is in progress. The force_kipmid module parameter will all the user to
485 force this thread on or off. If you force it off and don't have
489 Unfortunately, this thread can use a lot of CPU depending on the
495 tuned to your needs. Maybe, someday, auto-tuning will be added, but
496 that's not a simple thing and even the auto-tuning would need to be
502 write-only parameter. You write a string to this interface. The string
511 You can specify more than one interface on the line. The "opt"s are::
520 can also use this on the kernel command line for a more compact format
526 -----------------------
529 system. By default, the driver will only register with something it
531 at module load time (for a module) with::
543 name of the adapter, as shown in /sys/bus/i2c/devices/i2c-<n>/name.
544 It is *NOT* i2c-<n> itself. Also, the comparison is done ignoring
556 detection process for BMCs on the SMBusses.
563 alert will be enabled on supported hardware.
565 Discovering the IPMI compliant BMC on the SMBus can cause devices on
573 When compiled into the kernel, the addresses can be specified on the
583 These are the same options as on the module command line.
585 The I2C driver does not support non-blocking access or polling, so
587 time, or other panic-related IPMI functions without special kernel
595 --------------------
597 This driver is for supporting a system that sits on an IPMB bus; it
599 system interface addressed messages to it will cause the message to go
600 to the registered BMC on the system (default at IPMI address 0x20).
602 It also allows you to directly address other MCs on the bus using the
603 ipmb direct addressing. You can receive commands from other MCs on
609 ipmi_ipmb.bmcaddr=<address to use for system interface addresses messages>
610 ipmi_ipmb.retry_time_ms=<Time between retries on IPMB>
613 Loading the module will not result in the driver automatcially
617 echo ipmi-ipmb <addr> > /sys/class/i2c-dev/i2c-<n>/device/new_device
625 is only one receive message queue on a BMC, and that is meant for the
626 host drivers, not something on the IPMB bus.
628 A BMC may have multiple IPMB busses, which bus your device sits on
629 depends on how the system is wired. You can fetch the channels with
631 channels being 0-7 and try the IPMB channels.
634 ------------
637 --------------------------------------------------
660 on the dev pointer.
664 --------
666 A watchdog timer is provided that implements the Linux-standard
667 watchdog timer interface. It has three module parameters that can be
675 The default is -1, which means to pick the first one registered.
678 is the amount of seconds before the reset that the pre-timeout panic will
683 is the value of timeout which is set on kernel panic, in order to let actions
692 interrupts, and "pre_nmi" for a NMI on a preaction. This is how
695 The preop may be set to "preop_none" for no operation on a pretimeout,
702 on the device when the pretimeout occurs. Select and fasync work on
723 The options are the same as the module parameter options.
726 gets a pre-action. During a panic or a reboot, the watchdog will
742 --------------
744 The OpenIPMI driver supports the ability to put semi-custom and custom
745 events in the system event log if a panic occurs. if you enable the
746 'Generate a panic event to all BMCs on a panic' option, you will get
747 one event on a panic in a standard IPMI event format. If you enable
758 * Event Dir | Event Type: 0x6f (Assertion, sensor-specific event info)
769 * Record ID (bytes 0-1): Set by the SEL.
770 * Record type (byte 2): 0xf0 (OEM non-timestamped)
783 controller will be queried and the events sent to the SEL on that
789 --------
793 is in the ipmi_poweroff module. When the system requests a powerdown,
794 it will send the proper IPMI commands to do this. This is supported on
797 There is a module parameter named "poweroff_powercycle" that may
798 either be zero (do a power down) or non-zero (do a power cycle, power
799 the system off, then power it on in a few seconds). Setting
800 ipmi_poweroff.poweroff_control=x will do the same thing on the kernel
802 in /proc/sys/dev/ipmi/poweroff_powercycle. Note that if the system
806 code should use. The default is -1, which means to pick the first one
809 Note that if you have ACPI enabled, the system will prefer using ACPI to