1d66d0df9SAndrew JefferyWhat: /dev/raw-kcs* 2d66d0df9SAndrew JefferyDate: 2021-02-15 3d66d0df9SAndrew JefferyKernelVersion: 5.13 4d66d0df9SAndrew JefferyContact: openbmc@lists.ozlabs.org 5d66d0df9SAndrew JefferyContact: openipmi-developer@lists.sourceforge.net 6d66d0df9SAndrew JefferyContact: Andrew Jeffery <andrew@aj.id.au> 7d66d0df9SAndrew JefferyDescription: ``/dev/raw-kcs*`` exposes to userspace the data and 8d66d0df9SAndrew Jeffery status registers of Keyboard-Controller-Style (KCS) IPMI 9d66d0df9SAndrew Jeffery interfaces via read() and write() syscalls. Direct 10d66d0df9SAndrew Jeffery exposure of the data and status registers enables 11d66d0df9SAndrew Jeffery inefficient but arbitrary protocols to be implemented 12d66d0df9SAndrew Jeffery over the device. A typical approach is to use KCS 13d66d0df9SAndrew Jeffery devices for out-of-band signalling for bulk data 14d66d0df9SAndrew Jeffery transfers over other interfaces between a Baseboard 15d66d0df9SAndrew Jeffery Management Controller and its host. 16d66d0df9SAndrew Jeffery 17d66d0df9SAndrew Jeffery +--------+--------+---------+ 18d66d0df9SAndrew Jeffery | Offset | read() | write() | 19d66d0df9SAndrew Jeffery +--------+--------+---------+ 20d66d0df9SAndrew Jeffery | 0 | IDR | ODR | 21d66d0df9SAndrew Jeffery +--------+--------+---------+ 22d66d0df9SAndrew Jeffery | 1 | STR | STR | 23d66d0df9SAndrew Jeffery +--------+--------+---------+ 24d66d0df9SAndrew Jeffery 25d66d0df9SAndrew JefferyUsers: libmctp: https://github.com/openbmc/libmctp 26