RPMsg
Шина сообщений ядра Linux между главным процессором и вспомогательными ядрами, исполняющими собственную прошивку на том же чипе.
Remote Processor Messaging появился в Linux в 2012 году вместе с remoteproc — фреймворком, загружающим и запускающим прошивку на другом ядре. Оба написал Охад Бен-Коэн для чипов OMAP от Texas Instruments, где главное ядро ARM соседствовало с DSP и Cortex-M. Транспорт позаимствовали у виртуализации: очереди virtio (vring) в общей памяти плюс прерывание, чтобы постучать в дверь другой стороны, когда что-то пришло.
Сверху расположены адресуемые конечные точки и именованные каналы, так что прошивка может объявить «здесь есть сервис rpmsg-tty», и Linux создаст соответствующее устройство. Буферы малы — по умолчанию 512 байт, — что годится для команд и строк состояния, но не для потока отсчётов. Те, кто пытается прогнать через него звук, обычно заводят собственный кольцевой буфер в общей памяти, а RPMsg используют лишь чтобы сообщить, где он лежит.