STRUCT MBOX_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’Œ struct mbox_info(9) β€” the kernel API page for struct mbox_info

okay so bestie, buckle up, because this is the little struct that makes the mailbox channels between your cores actually talk to each other. it's called struct mbox_info, and it is, fr fr, just "mailbox channel data" β€” that's the whole vibe. πŸŽ€


✨ NAME ✨

struct mbox_info β€” mailbox channel data πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

struct mbox_info {
    unsigned char rx_mc_buf[MBOX_CLIENT_BUF_MAX];
    unsigned char tx_mc_buf[MBOX_CLIENT_BUF_MAX];
    struct zynqmp_r5_core *r5_core;
    struct work_struct mbox_work;
    struct mbox_client mbox_cl;
    struct mbox_chan *tx_chan;
    struct mbox_chan *rx_chan;
 };

no cap, that's the whole shape of it. copy it exactly, don't get creative with it 😭


🌸 Members 🌸

  • rx_mc_buf β€” the buffer where we copy data coming in from the mailbox rx channel. it's unsigned char rx_mc_buf[MBOX_CLIENT_BUF_MAX], so it's got room for MBOX_CLIENT_BUF_MAX bytes of incoming goodness πŸ’–
  • tx_mc_buf β€” the buffer where we copy data going out to the mailbox tx channel. also unsigned char tx_mc_buf[MBOX_CLIENT_BUF_MAX]. matching energy, iconic 🫢
  • r5_core β€” a pointer (struct zynqmp_r5_core *) to the r5_core that this mailbox belongs to. it's like, "whose mailbox is this anyway?" β€” this member answers that ✨
  • mbox_work β€” a struct work_struct that lets us schedule work after data shows up from the mailbox. so when the data lands, this is what queues up the follow-through πŸ’…
  • mbox_cl β€” the mailbox client, a struct mbox_client. yes bestie, that's the client side of the relationship 🀝
  • tx_chan β€” a struct mbox_chan * β€” the mailbox tx channel. outgoing mail goes here πŸ“€
  • rx_chan β€” a struct mbox_chan * β€” the mailbox rx channel. incoming mail lands here πŸ“₯
ngl, rx_chan and tx_chan being separate is the whole point β€” one for the mail you send, one for the mail you get. main character and supporting character, both essential πŸ‘‘

πŸ”₯ SEE ALSO πŸ”₯

okay so if you wanna go deeper (and you should, we're obsessed with context), the kernel file is ./drivers/remoteproc/xlnx_r5_remoteproc.c, and here's the full bestie roll call β€” all of these are (9) man pages:


and that's the whole page, bestie β€” 10/10, no notes, ate and left no crumbs πŸ’œ

this came out of ./drivers/remoteproc and it's dated October 2026 ✨ go read the other pages, ily, bye 🧚

πŸ“¦ where this page comes from