STRUCT STRATIX10_SVC_CONTROLLER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct stratix10_svc_controller β€” the service controller ✨

okay so first things first, bestie: this page lives in the Kernel API Manual, and it's the whole vibe guide to one struct. no cap, that's it. let's get into it 🫢


✨ SYNOPSIS ✨

here's the shape of it, character for character, don't @ me:

struct stratix10_svc_controller {
    struct device *dev;
    int num_chans;
    int num_active_client;
    struct list_head node;
    struct gen_pool *genpool;
    struct completion complete_status;
    svc_invoke_fn *invoke_fn;
    struct stratix10_svc *svc;
    struct mutex sdm_lock;
    struct stratix10_async_ctrl actrl;
    struct stratix10_svc_chan chans[];
};

πŸ’– Members πŸ’–

every single field, introduced properly like the main characters they are πŸ‘‘

  • dev β€” the device. that's it, that's the field πŸ’«
  • num_chans β€” how many channels are sitting in the chans array
  • num_active_client β€” the headcount of active service clients, fr fr
  • node β€” list management duty, someone's gotta do it
  • genpool β€” the memory pool, and it's pointing at the memory region
  • complete_status β€” the state for completion. we love a completion state πŸŽ€
  • invoke_fn β€” the function that issues a secure monitor call or a hypervisor call. literally the whole point
  • svc β€” manages the list of client svc drivers (yes, it's the manager, respect it)
  • sdm_lock β€” a mutex and it's strict: it only allows a single command single response to SDM. one at a time, no rushing the SDM πŸ™ˆ
  • actrl β€” the async control structure
  • chans β€” array of service channels, the flexible-array-iest of arrays 🌈

🌸 Description 🌸

so what's the lore? this struct is used to create communication channels for service clients, and to handle secure monitor or hypervisor call. that's the whole job description, and honestly? iconic. πŸ¦‹


πŸŽ€ SEE ALSO πŸŽ€

the Kernel file is ./drivers/firmware/stratix10-svc.c, and here's the entire friend group β€” every single one, no skipping:


ngl this page is short but it ate. go read the SEE ALSO list, it's giving required reading πŸ’€

and that's the whole thing! this came out of ./drivers/firmware, dated October 2026, and that's the sign-off bestie β€” stay slay, keep your mutexes locked, mwah πŸ’œπŸ§šβ€β™€οΈ

πŸ“¦ where this page comes from