STRUCT RPROC_OPS(9)
๐ธ NAME ๐ธ
okay bestie, welcome to struct rproc_ops(9) from the Kernel API Manual โ this is the struct that holds platform-specific device handlers ๐
โจ SYNOPSIS โจ
here's the struct in all its exact glory, line breaks and all. copy it exactly, no editing the drip:
struct rproc_ops {
int (*prepare)(struct rproc *rproc);
int (*unprepare)(struct rproc *rproc);
int (*start)(struct rproc *rproc);
int (*stop)(struct rproc *rproc);
int (*attach)(struct rproc *rproc);
int (*detach)(struct rproc *rproc);
void (*kick)(struct rproc *rproc, int vqid);
void * (*da_to_va)(struct rproc *rproc, u64 da, size_t len, bool
*is_iomem);
int (*parse_fw)(struct rproc *rproc, const struct firmware *fw);
int (*handle_rsc)(struct rproc *rproc, u32 rsc_type, void *rsc, int
offset, int avail);
struct resource_table *(*find_loaded_rsc_table)(struct rproc *rproc,
const struct firmware *fw);
struct resource_table *(*get_loaded_rsc_table)(struct rproc *rproc,
size_t *size);
int (*load)(struct rproc *rproc, const struct firmware *fw);
int (*sanity_check)(struct rproc *rproc, const struct firmware *fw);
u64 (*get_boot_addr)(struct rproc *rproc, const struct firmware
*fw);
unsigned long (*panic)(struct rproc *rproc);
void (*coredump)(struct rproc *rproc);
};
๐ Members ๐
okay so these are the members, aka the function-pointer besties inside the struct. every single one has a job and we're gonna hype them all:
prepareโ prepare the device for code loading ๐ซunprepareโ unprepare the device after stopstartโ power on the device and boot it ๐ฅstopโ power off the deviceattachโ attach to a device that his already powered up (the manpage said what it said, bestie ๐ซถ)detachโ detach from a device, leaving it powered upkickโ kick a virtqueue (virtqueue id given as a parameter)da_to_vaโ optional platform hook to perform address translationsparse_fwโ parse firmware to extract information (e.g. resource table)handle_rscโ optional platform hook to handle vendor resources. Should returnRSC_HANDLEDif the resource was handled,RSC_IGNOREDif not handled, and a negative value on error โ ๏ธfind_loaded_rsc_tableโ find the loaded resource table from firmware imageget_loaded_rsc_tableโ get resource table installed in memory by external entityloadโ load firmware to memory, where the remote processor expects to find itsanity_checkโ sanity check the fw imageget_boot_addrโ get boot address to entry point specified in firmwarepanicโ optional callback to react to system panic; the core will delay panic at least the returned number of milliseconds ๐ญcoredumpโ collect firmware dump after the subsystem is shutdown
๐ฎ SEE ALSO ๐ฎ
Kernel file ./include/linux/remoteproc.h โ and the whole friend group:
struct rproc_mem_entry(9)enum rsc_handling_status(9)enum rproc_state(9)enum rproc_crash_type(9)enum rproc_dump_mechanism(9)struct rproc_dump_segment(9)enum rproc_features(9)struct rproc(9)struct rproc_subdev(9)struct rproc_vring(9)struct rproc_vdev(9)
xoxo, your kernel group-chat admin ๐ โ source/version: ./include/linux ยท date: October 2026 ยท page: struct rproc_ops(9) โจ
๐ฆ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms