• Home
  • Raw
  • Download

Lines Matching +full:use +full:- +full:broken +full:- +full:interrupts

12 standardized database for field-replaceable units (FRUs) and a watchdog
15 To use this, you need an interface to an IPMI controller in your
17 management software that can use the IPMI system.
19 This document describes how to use the IPMI driver for Linux. If you
25 -------------
32 No matter what, you must pick 'IPMI top-level message handler' to use
35 The message handler does not provide any user-level interfaces.
36 Kernel code (like the watchdog) can still use it. If you need access
50 these enabled and let the drivers auto-detect what is present.
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
74 'IPMI Poweroff' to do this. The driver will auto-detect if the system
89 ------------
92 only need to take the pieces you need and you can use it in many
93 different ways. Because of that, it's broken into many chunks of
96 ipmi_msghandler - This is the central piece of software for the IPMI
101 interface for use by application processes.
103 ipmi_devintf - This provides a userland IOCTL interface for the IPMI
107 ipmi_si - A driver for various system interfaces. This supports KCS,
109 own custom interface, you probably need to use this.
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
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
136 (things that interface to IPMI controllers) to use.
138 linux/ipmi_msgdefs.h - General definitions for base IPMI messaging.
142 ----------
170 BMC use the IPMI_IPMB_ADDR_TYPE address type. The format is::
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 -------------------------------------------
280 To use the message handler, you must first create a user using
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
302 use it for anything you like.
309 From userland, you fill out an ipmi_req_t structure and use the
310 IPMICTL_SEND_COMMAND ioctl. For incoming stuff, you can use select()
311 or poll() to wait for messages to come in. However, you cannot use
323 When you send a command (which is defined by the lowest-order bit of
326 command. If the response is not receive in the IPMI-specified 5
340 buffer and own free routines. This is not recommended for normal use,
354 "val" to non-zero. Any events that have been received by the driver
363 (or use IPMI_CHAN_ALL for all channels if you don't care). Only one
369 netfn, use the address from the received message, and use the same
376 -------------------------------
389 -------------
416 If you specify addrs as non-zero for an interface, the driver will
417 use the memory address given as the address of the device. This
420 If you specify ports as non-zero for an interface, the driver will
421 use the I/O port given as the device address.
423 If you specify irqs as non-zero for an interface, the driver will
424 attempt to use the given interrupt for the device.
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
456 by the driver, but systems with broken interrupts might need an enable,
480 If your IPMI interface does not support interrupts and is a KCS or
482 interface to help speed things up. This is a low-priority kernel
486 interrupts, the driver will run VERY slowly. Don't blame me,
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
520 can also use this on the kernel command line for a more compact format
526 -----------------------
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
571 driver what to use.
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 --------------------
609 ipmi_ipmb.bmcaddr=<address to use for system interface addresses messages>
617 echo ipmi-ipmb <addr> > /sys/class/i2c-dev/i2c-<n>/device/new_device
631 channels being 0-7 and try the IPMB channels.
634 ------------
637 --------------------------------------------------
641 You can use the IPMI smi_watcher to catch the IPMI interfaces as they
642 come or go, and to grab the information, you can use the function
664 --------
666 A watchdog timer is provided that implements the Linux-standard
674 ifnum_to_use specifies which interface the watchdog timer should use.
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
692 interrupts, and "pre_nmi" for a NMI on a preaction. This is how
726 gets a pre-action. During a panic or a reboot, the watchdog will
729 Note that if you use the NMI preaction for the watchdog, you MUST NOT
730 use the nmi watchdog. There is no reasonable way to tell if an NMI
742 --------------
744 The OpenIPMI driver supports the ability to put semi-custom and custom
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)
789 --------
798 either be zero (do a power down) or non-zero (do a power cycle, power
806 code should use. The default is -1, which means to pick the first one