| What: /dev/raw-kcs* | |
| Date: 2021-02-15 | |
| KernelVersion: 5.13 | |
| Contact: openbmc@lists.ozlabs.org | |
| Contact: openipmi-developer@lists.sourceforge.net | |
| Contact: Andrew Jeffery <andrew@aj.id.au> | |
| Description: ``/dev/raw-kcs*`` exposes to userspace the data and | |
| status registers of Keyboard-Controller-Style (KCS) IPMI | |
| interfaces via read() and write() syscalls. Direct | |
| exposure of the data and status registers enables | |
| inefficient but arbitrary protocols to be implemented | |
| over the device. A typical approach is to use KCS | |
| devices for out-of-band signalling for bulk data | |
| transfers over other interfaces between a Baseboard | |
| Management Controller and its host. | |
| +--------+--------+---------+ | |
| | Offset | read() | write() | | |
| +--------+--------+---------+ | |
| | 0 | IDR | ODR | | |
| +--------+--------+---------+ | |
| | 1 | STR | STR | | |
| +--------+--------+---------+ | |
| Users: libmctp: https://github.com/openbmc/libmctp |