zynqmp_pm_write_pggs(9)
πΎ zynqmp_pm_write_pggs β Kernel API Manual era πΎ
okay so bestie, buckle up, we're diving into zynqmp_pm_write_pggs(9) β a little function from the Kernel API Manual that is, and I cannot stress this enough, literally the whole personality of "write one thing into one register." no cap. π«Ά
β¨ NAME β¨
zynqmp_pm_write_pggs β the PM API for writing to persistent global general storage (pggs). yes that's three g's and one p and she ate π
π¦ SYNOPSIS π¦
int zynqmp_pm_write_pggs (u32 index , u32 value );
look at her. two arguments. no drama. iconic. β¨
πΈ ARGUMENTS πΈ
indexβ the PGGS register index π this is the which one of it allvalueβ the register value to be written β¨ this is the what goes in there
that's it that's the whole vibe check. one tells her where, one tells her what. π
π DESCRIPTION π
so what does she actually do? she writes value to the PGGS register. periodt. π
ngl bestie this is a short one β the manpage is not gonna give you a whole novel here. she writes the value to the register and that's the entire plot. no filler, no secret third thing, no extra behaviour described anywhere. π
β RETURN β
returns status β either success, or error+reason π so like, check it. don't just yolo it and walk away. fr fr.
π§ SEE ALSO π§
okay this is the part where the manpage goes FULL group-chat-tag-everyone mode. the kernel file is ./drivers/firmware/xilinx/zynqmp.c and here's the entire friend group, no one left out, i checked twice π:
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_read_pggs(9)β her sister btw, the read one, go say hi π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_force_pwrdwn(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)
and that's the whole page bestie!! go forth and write your persistent global general storage π
okay final sign-off, cute style: this little love letter lives in ./drivers/firmware/xilinx, and it's dated October 2026 β so yes, it's from the future, and yes, it's still just writing a value to a register. 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