pdc_stable_write(9)
πΎ pdc_stable_write(9) β the pdc_stable_write page, bestie edition π
okay so real talk: this is a page from the Kernel API Manual, and it's about pdc_stable_write β like, the function. it's a whole vibe, we're writing bytes into Stable Storage, let's get into it β¨
β¨ NAME β¨
pdc_stable_write β Write data to Stable Storage. that's it, that's the whole thing, and honestly? iconic. π
πΈ SYNOPSIS πΈ
int pdc_stable_write (unsigned long staddr , void *memaddr , unsigned long count );
three args, returns an int, we love a clean signature π«Ά
π¦ ARGUMENTS π¦
staddrβ the Stable Storage address you're accessing. this is the destination, the moment, the main character π«memaddrβ the memory address where the Stable Storage data shall be read from. like, yes, bestie, it's called write but this is the address we're pulling the bytes out of β that's just how the call works, iykyk πcountβ number of bytes to transfer. and listen,countis multiple of 4. not "usually", not "preferably" β multiple of 4. periodt. π₯
π DESCRIPTION π
okay so here's the tea β β this PDC call reads count bytes from the supplied memaddr address, and copies count bytes to the Stable Storage address staddr.
yes, both things: reads count, copies count. that's the whole flow, no cap. π§
and the guardrail π
the call will fail if staddr+count > PDC_STABLE size. so if your range runs past the end of Stable Storage, it's giving error, not giving data. π
π SEE ALSO π
buckle up bestie, this list is LONG and it ate π
Kernel file ./arch/parisc/kernel/firmware.c
f_extend(9)convert_to_wide(9)set_firmware_width(9)pdc_emergency_unlock(9)pdc_add_valid(9)pdc_instr(9)pdc_chassis_info(9)pdc_pat_chassis_send_log(9)pdc_chassis_disp(9)__pdc_cpu_rendezvous(9)pdc_cpu_rendezvous_lock(9)pdc_cpu_rendezvous_unlock(9)pdc_pat_get_PDC_entrypoint(9)pdc_chassis_warn(9)pdc_coproc_cfg(9)pdc_iodc_read(9)pdc_system_map_find_mods(9)pdc_system_map_find_addrs(9)pdc_model_info(9)pdc_model_sysmodel(9)pdc_model_versions(9)pdc_model_cpuid(9)pdc_model_capabilities(9)pdc_model_platform_info(9)pdc_cache_info(9)pdc_spaceid_bits(9)pdc_btlb_info(9)pdc_mem_map_hpa(9)pdc_lan_station_id(9)pdc_stable_read(9)pdc_stable_get_size(9)pdc_stable_verify_contents(9)pdc_stable_initialize(9)pdc_get_initiator(9)pdc_pci_irt_size(9)pdc_pci_irt(9)pdc_pci_config_read(9)pdc_pci_config_write(9)pdc_tod_read(9)pdc_pim_toc11(9)pdc_pim_toc20(9)pdc_tod_set(9)pdc_iodc_print(9)pdc_iodc_getc(9)pdc_pat_cell_get_number(9)pdc_pat_cell_module(9)pdc_pat_cell_info(9)pdc_pat_cpu_get_number(9)pdc_pat_get_irt_size(9)pdc_pat_get_irt(9)pdc_pat_pd_get_addr_map(9)pdc_pat_pd_get_pdc_revisions(9)pdc_pat_pd_get_platform_counter(9)pdc_pat_io_pci_cfg_read(9)pdc_pat_io_pci_cfg_write(9)pdc_pat_mem_pdt_info(9)pdc_pat_mem_pdt_cell_info(9)pdc_pat_mem_read_cell_pdt(9)pdc_pat_mem_read_pd_pdt(9)pdc_pat_mem_get_dimm_phys_location(9)
like I said. a LOT. go read some of them, they're all valid, slay π
and that's the page!! π¦ this one lives in ./arch/parisc/kernel and the version/date stamp is October 2026 β so, yeah, mark your calendar, 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