11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# IPMI device configuration
31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
5bcf6b4bbb5be0807143239f6c460e5e6aecf2981Jan Engelhardtmenuconfig IPMI_HANDLER
61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds       tristate 'IPMI top-level message handler'
7bcf6b4bbb5be0807143239f6c460e5e6aecf2981Jan Engelhardt       depends on HAS_IOMEM
81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds       help
91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds         This enables the central IPMI message handler, required for IPMI
101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 to work.
111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds         IPMI is a standard for managing sensors (temperature,
131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds         voltage, etc.) in a system.
141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds         See <file:Documentation/IPMI.txt> for more details on the driver.
161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 If unsure, say N.
181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
19bcf6b4bbb5be0807143239f6c460e5e6aecf2981Jan Engelhardtif IPMI_HANDLER
20bcf6b4bbb5be0807143239f6c460e5e6aecf2981Jan Engelhardt
211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig IPMI_PANIC_EVENT
221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds       bool 'Generate a panic event to all BMCs on a panic'
231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds       help
241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds         When a panic occurs, this will cause the IPMI message handler to
251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 generate an IPMI event describing the panic to each interface
261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 registered with the message handler.
271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig IPMI_PANIC_STRING
291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	bool 'Generate OEM events containing the panic string'
301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on IPMI_PANIC_EVENT
311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  When a panic occurs, this will cause the IPMI message handler to
331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  generate IPMI OEM type f0 events holding the IPMB address of the
341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  panic generator (byte 4 of the event), a sequence number for the
351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  string (byte 5 of the event) and part of the string (the rest of the
361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  event).  Bytes 1, 2, and 3 are the normal usage for an OEM event.
371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  You can fetch these events and use the sequence numbers to piece the
381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  string together.
391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig IPMI_DEVICE_INTERFACE
411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds       tristate 'Device interface for IPMI'
421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds       help
431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds         This provides an IOCTL interface to the IPMI message handler so
441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 userland processes may use IPMI.  It supports poll() and select().
451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig IPMI_SI
471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds       tristate 'IPMI System Interface handler'
481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds       help
491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds         Provides a driver for System Interfaces (KCS, SMIC, BT).
501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 Currently, only KCS and SMIC are supported.  If
511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 you are using IPMI, you should probably say "y" here.
521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
530dfe6e7ed47feeb22f3cf8c7d8ac7e65bd4e87f5Corey Minyardconfig IPMI_SI_PROBE_DEFAULTS
540dfe6e7ed47feeb22f3cf8c7d8ac7e65bd4e87f5Corey Minyard       bool 'Probe for all possible IPMI system interfaces by default'
550dfe6e7ed47feeb22f3cf8c7d8ac7e65bd4e87f5Corey Minyard       default n
560dfe6e7ed47feeb22f3cf8c7d8ac7e65bd4e87f5Corey Minyard       depends on IPMI_SI
570dfe6e7ed47feeb22f3cf8c7d8ac7e65bd4e87f5Corey Minyard       help
580dfe6e7ed47feeb22f3cf8c7d8ac7e65bd4e87f5Corey Minyard	 Modern systems will usually expose IPMI interfaces via a discoverable
590dfe6e7ed47feeb22f3cf8c7d8ac7e65bd4e87f5Corey Minyard	 firmware mechanism such as ACPI or DMI. Older systems do not, and so
600dfe6e7ed47feeb22f3cf8c7d8ac7e65bd4e87f5Corey Minyard	 the driver is forced to probe hardware manually. This may cause boot
610dfe6e7ed47feeb22f3cf8c7d8ac7e65bd4e87f5Corey Minyard	 delays. Say "n" here to disable this manual probing. IPMI will then
620dfe6e7ed47feeb22f3cf8c7d8ac7e65bd4e87f5Corey Minyard	 only be available on older systems if the "ipmi_si_intf.trydefaults=1"
630dfe6e7ed47feeb22f3cf8c7d8ac7e65bd4e87f5Corey Minyard	 boot argument is passed.
640dfe6e7ed47feeb22f3cf8c7d8ac7e65bd4e87f5Corey Minyard
651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig IPMI_WATCHDOG
661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds       tristate 'IPMI Watchdog Timer'
671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds       help
681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds         This enables the IPMI watchdog timer.
691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig IPMI_POWEROFF
711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds       tristate 'IPMI Poweroff'
721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds       help
731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds         This enables a function to power off the system with IPMI if
741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	 the IPMI management controller is capable of this.
751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
76bcf6b4bbb5be0807143239f6c460e5e6aecf2981Jan Engelhardtendif # IPMI_HANDLER
77