zynqmp_pm_invoke_fn(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… zynqmp_pm_invoke_fn β€” kernel API manual

Okay bestie, so this page is literally all about zynqmp_pm_invoke_fn β€” it's the Kernel API Manual entry for invoking the system-level platform management layer caller function, and the way it works depends on your configuration. No cap, it's giving "gateway to the firmware" energy. 🫢


✨ NAME ✨

zynqmp_pm_invoke_fn β€” invoke the system-level platform management layer caller function depending on the configuration. Periodt. πŸ’…


πŸ›  SYNOPSIS πŸ› 

int zynqmp_pm_invoke_fn (u32 pm_api_id , u32 *ret_payload , u32 num_args
, ... );

πŸŽ€ ARGUMENTS πŸŽ€

  • pm_api_id β€” the requested PM-API call. Like, which vibe are we asking the firmware for? πŸ‘‘
  • ret_payload β€” returned value array. This is where the answer lands, bestie. πŸ“¦
  • num_args β€” number of arguments to the requested PM-API call. Gotta count them fr fr.
  • ... β€” variable arguments. Surprise extras, iykyk. 🎁

🌸 DESCRIPTION 🌸

So basically this function invokes the platform management function for SMC or HVC call, depending on configuration. It follows the SMC Calling Convention (SMCCC) for SMC64, and the formula is literally:

Pm Function Identifier, PM_SIP_SVC + PM_API_ID =
((SMC_TYPE_FAST << FUNCID_TYPE_SHIFT)
((SMC_64) << FUNCID_CC_SHIFT)
((SIP_START) << FUNCID_OEN_SHIFT)
((PM_API_ID) & FUNCID_NUM_MASK))

Let me break it down, bestie:

  • PM_SIP_SVC β€” Registered ZynqMP SIP Service Call.
  • PM_API_ID β€” Platform Management API ID.

That's the whole lore. It's not doing extra, it's just packing the right bits so the firmware knows what's up. 🧚


πŸ”₯ RETURN πŸ”₯

Returns status, either success or error+reason. So like, either "slay, we're good" or "here's why not." πŸ’€


πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/firmware/xilinx/zynqmp.c and all these besties:


This page is from ./drivers/firmware/xilinx and was last updated in October 2026. Stay slay, bestie β€” now go invoke some PM-APIs responsibly πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from