zynqmp_pm_force_pwrdwn(9)
π zynqmp_pm_force_pwrdwn β from the Kernel API Manual, bestie β¨
okay so picture this: it's a (9) kernel API page, the manual is literally called Kernel API Manual, and today's main character is zynqmp_pm_force_pwrdwn. say it with me. no for real, say it, it's a tongue twister and you'll feel iconic after π
πΈ NAME πΈ
zynqmp_pm_force_pwrdwn β the PM call where you politely (well, forcefully) request that some other PU or subsystem get powered down. like, you're not asking, you're telling π
β¨ SYNOPSIS β¨
int zynqmp_pm_force_pwrdwn (const u32 node , const enum
zynqmp_pm_request_ack ack );
she returns an int, she takes two args, she's lowkey a whole vibe π¦
π«Ά ARGUMENTS π«Ά
nodeβ the Node ID of the PU or subsystem you're targeting. this is your victim's address, basically πackβ the flag that says whether an acknowledge is requested.zynqmp_pm_request_acktype, respect the enum's name periodt
π₯ RETURN π₯
returns a status β either success, or error+reason. so yes bestie, you will find out what happened, no mystery here π
π SEE ALSO π
the reading list is long and honestly she ate. from the kernel file ./drivers/firmware/xilinx/zynqmp.c:
struct zynqmp_devinfo(9)struct pm_api_feature_data(9)zynqmp_pm_ret_code(9)do_fw_call_smc(9)do_fw_call_hvc(9)zynqmp_pm_feature(9)zynqmp_pm_is_function_supported(9)zynqmp_pm_invoke_fw_fn(9)zynqmp_pm_invoke_fn(9)zynqmp_pm_get_api_version(9)zynqmp_pm_get_chipid(9)zynqmp_pm_get_family_info(9)zynqmp_pm_get_sip_svc_version(9)zynqmp_pm_get_trustzone_version(9)get_set_conduit_method(9)zynqmp_pm_query_data(9)zynqmp_pm_clock_enable(9)zynqmp_pm_clock_disable(9)zynqmp_pm_clock_getstate(9)zynqmp_pm_clock_setdivider(9)zynqmp_pm_clock_getdivider(9)zynqmp_pm_clock_setparent(9)zynqmp_pm_clock_getparent(9)zynqmp_pm_set_pll_frac_mode(9)zynqmp_pm_get_pll_frac_mode(9)zynqmp_pm_set_pll_frac_data(9)zynqmp_pm_get_pll_frac_data(9)zynqmp_pm_set_sd_tapdelay(9)zynqmp_pm_sd_dll_reset(9)zynqmp_pm_ospi_mux_select(9)zynqmp_pm_write_ggs(9)zynqmp_pm_read_ggs(9)zynqmp_pm_write_pggs(9)zynqmp_pm_read_pggs(9)zynqmp_pm_set_boot_health_status(9)zynqmp_pm_reset_assert(9)zynqmp_pm_reset_get_status(9)zynqmp_pm_fpga_load(9)zynqmp_pm_fpga_get_status(9)zynqmp_pm_fpga_get_config_status(9)zynqmp_pm_pinctrl_request(9)zynqmp_pm_pinctrl_release(9)zynqmp_pm_pinctrl_set_function(9)zynqmp_pm_pinctrl_get_config(9)zynqmp_pm_pinctrl_set_config(9)zynqmp_pm_bootmode_read(9)zynqmp_pm_bootmode_write(9)zynqmp_pm_init_finalize(9)zynqmp_pm_set_suspend_mode(9)zynqmp_pm_request_node(9)zynqmp_pm_release_node(9)zynqmp_pm_get_rpu_mode(9)zynqmp_pm_set_rpu_mode(9)zynqmp_pm_set_tcm_config(9)zynqmp_pm_get_node_status(9)zynqmp_pm_get_rpu_node_status(9)zynqmp_pm_request_wake(9)zynqmp_pm_start_rpu(9)zynqmp_pm_stop_rpu(9)zynqmp_pm_set_requirement(9)zynqmp_pm_load_pdi(9)zynqmp_pm_efuse_access(9)zynqmp_pm_register_notifier(9)zynqmp_pm_system_shutdown(9)zynqmp_pm_set_feature_config(9)zynqmp_pm_get_feature_config(9)zynqmp_pm_sec_read_reg(9)zynqmp_pm_sec_mask_write_reg(9)zynqmp_pm_set_sd_config(9)zynqmp_pm_set_gem_config(9)struct zynqmp_pm_shutdown_scope(9)zynqmp_pm_is_shutdown_scope_valid(9)zynqmp_clear_pm_state(9)
no cap, that's the whole squad and every single one of them made the list π
tbh there's not a single warning, bug note, or exit status in here β this page is refreshingly chill. everything you need is up there π§
<div align="center">sooo that's the whole page bestie π</div>
this little gem lives in ./drivers/firmware/xilinx, and it was stamped October 2026 β go forth and force-power things down responsibly, mwah ππ
π¦ 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