cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

Kconfig (5752B)


      1# SPDX-License-Identifier: GPL-2.0-only
      2#
      3# IPMI device configuration
      4#
      5
      6menuconfig IPMI_HANDLER
      7	tristate 'IPMI top-level message handler'
      8	depends on HAS_IOMEM
      9	select IPMI_DMI_DECODE if DMI
     10	help
     11	  This enables the central IPMI message handler, required for IPMI
     12	  to work.
     13
     14	  IPMI is a standard for managing sensors (temperature,
     15	  voltage, etc.) in a system.
     16
     17	  See <file:Documentation/driver-api/ipmi.rst> for more details on the driver.
     18
     19	  If unsure, say N.
     20
     21config IPMI_DMI_DECODE
     22	select IPMI_PLAT_DATA
     23	bool
     24
     25config IPMI_PLAT_DATA
     26	bool
     27
     28if IPMI_HANDLER
     29
     30config IPMI_PANIC_EVENT
     31	bool 'Generate a panic event to all BMCs on a panic'
     32	help
     33	  When a panic occurs, this will cause the IPMI message handler to,
     34	  by default, generate an IPMI event describing the panic to each
     35	  interface registered with the message handler.  This is always
     36	  available, the module parameter for ipmi_msghandler named
     37	  panic_op can be set to "event" to chose this value, this config
     38	  simply causes the default value to be set to "event".
     39
     40config IPMI_PANIC_STRING
     41	bool 'Generate OEM events containing the panic string'
     42	depends on IPMI_PANIC_EVENT
     43	help
     44	  When a panic occurs, this will cause the IPMI message handler to,
     45	  by default, generate IPMI OEM type f0 events holding the IPMB
     46	  address of the panic generator (byte 4 of the event), a sequence
     47	  number for the string (byte 5 of the event) and part of the
     48	  string (the rest of the event).  Bytes 1, 2, and 3 are the normal
     49	  usage for an OEM event.  You can fetch these events and use the
     50	  sequence numbers to piece the string together.  This config
     51	  parameter sets the default value to generate these events,
     52	  the module parameter for ipmi_msghandler named panic_op can
     53	  be set to "string" to chose this value, this config simply
     54	  causes the default value to be set to "string".
     55
     56config IPMI_DEVICE_INTERFACE
     57	tristate 'Device interface for IPMI'
     58	help
     59	  This provides an IOCTL interface to the IPMI message handler so
     60	  userland processes may use IPMI.  It supports poll() and select().
     61
     62config IPMI_SI
     63	tristate 'IPMI System Interface handler'
     64	select IPMI_PLAT_DATA
     65	help
     66	  Provides a driver for System Interfaces (KCS, SMIC, BT).
     67	  Currently, only KCS and SMIC are supported.  If
     68	  you are using IPMI, you should probably say "y" here.
     69
     70config IPMI_SSIF
     71	tristate 'IPMI SMBus handler (SSIF)'
     72	depends on I2C
     73	help
     74	  Provides a driver for a SMBus interface to a BMC, meaning that you
     75	  have a driver that must be accessed over an I2C bus instead of a
     76	  standard interface.  This module requires I2C support.
     77
     78config IPMI_IPMB
     79	tristate 'IPMI IPMB interface'
     80	depends on I2C && I2C_SLAVE
     81	help
     82	  Provides a driver for a system running right on the IPMB bus.
     83	  It supports normal system interface messages to a BMC on the IPMB
     84	  bus, and it also supports direct messaging on the bus using
     85	  IPMB direct messages.  This module requires I2C support.
     86
     87config IPMI_POWERNV
     88	depends on PPC_POWERNV
     89	tristate 'POWERNV (OPAL firmware) IPMI interface'
     90	help
     91	  Provides a driver for OPAL firmware-based IPMI interfaces.
     92
     93config IPMI_WATCHDOG
     94	tristate 'IPMI Watchdog Timer'
     95	help
     96	  This enables the IPMI watchdog timer.
     97
     98config IPMI_POWEROFF
     99	tristate 'IPMI Poweroff'
    100	help
    101	  This enables a function to power off the system with IPMI if
    102	  the IPMI management controller is capable of this.
    103
    104endif # IPMI_HANDLER
    105
    106config IPMI_KCS_BMC
    107	tristate
    108
    109config ASPEED_KCS_IPMI_BMC
    110	depends on ARCH_ASPEED || COMPILE_TEST
    111	select IPMI_KCS_BMC
    112	select REGMAP_MMIO
    113	tristate "Aspeed KCS IPMI BMC driver"
    114	help
    115	  Provides a driver for the KCS (Keyboard Controller Style) IPMI
    116	  interface found on Aspeed SOCs (AST2400 and AST2500).
    117
    118	  The driver implements the BMC side of the KCS contorller, it
    119	  provides the access of KCS IO space for BMC side.
    120
    121config NPCM7XX_KCS_IPMI_BMC
    122	depends on ARCH_NPCM7XX || COMPILE_TEST
    123	select IPMI_KCS_BMC
    124	select REGMAP_MMIO
    125	tristate "NPCM7xx KCS IPMI BMC driver"
    126	help
    127	  Provides a driver for the KCS (Keyboard Controller Style) IPMI
    128	  interface found on Nuvoton NPCM7xx SOCs.
    129
    130	  The driver implements the BMC side of the KCS contorller, it
    131	  provides the access of KCS IO space for BMC side.
    132
    133	  This support is also available as a module.  If so, the module
    134	  will be called kcs_bmc_npcm7xx.
    135
    136config IPMI_KCS_BMC_CDEV_IPMI
    137	depends on IPMI_KCS_BMC
    138	tristate "IPMI character device interface for BMC KCS devices"
    139	help
    140	  Provides a BMC-side character device implementing IPMI
    141	  semantics for KCS IPMI devices.
    142
    143	  Say YES if you wish to expose KCS devices on the BMC for IPMI
    144	  purposes.
    145
    146	  This support is also available as a module. The module will be
    147	  called kcs_bmc_cdev_ipmi.
    148
    149config IPMI_KCS_BMC_SERIO
    150	depends on IPMI_KCS_BMC && SERIO
    151	tristate "SerIO adaptor for BMC KCS devices"
    152	help
    153	  Adapts the BMC KCS device for the SerIO subsystem. This allows users
    154	  to take advantage of userspace interfaces provided by SerIO where
    155	  appropriate.
    156
    157	  Say YES if you wish to expose KCS devices on the BMC via SerIO
    158	  interfaces.
    159
    160	  This support is also available as a module. The module will be
    161	  called kcs_bmc_serio.
    162
    163config ASPEED_BT_IPMI_BMC
    164	depends on ARCH_ASPEED || COMPILE_TEST
    165	depends on REGMAP && REGMAP_MMIO && MFD_SYSCON
    166	tristate "BT IPMI bmc driver"
    167	help
    168	  Provides a driver for the BT (Block Transfer) IPMI interface
    169	  found on Aspeed SOCs (AST2400 and AST2500). The driver
    170	  implements the BMC side of the BT interface.
    171
    172config IPMB_DEVICE_INTERFACE
    173	tristate 'IPMB Interface handler'
    174	depends on I2C
    175	depends on I2C_SLAVE
    176	help
    177	  Provides a driver for a device (Satellite MC) to
    178	  receive requests and send responses back to the BMC via
    179	  the IPMB interface. This module requires I2C support.