pdc_iodc_print(9)
π pdc_iodc_print(9) β Kernel API Manual
okay so bestie, buckle up: this is pdc_iodc_print from the Kernel API Manual, section 9, and it's literally the function that makes your console actually print stuff through IODC. no cap. β¨
πΈ NAME πΈ
pdc_iodc_print β console print using IODC. that's the whole vibe. π¨οΈπ
β¨ SYNOPSIS β¨
int pdc_iodc_print (const unsigned char *str , unsigned count );
like. it returns an int, it takes a const unsigned char * and an unsigned count. simple. iconic. periodt. π
π ARGUMENTS π
strβ the string you wanna output. that's it, that's the payload π«Άcountβ the length ofstr. yes you have to tell it how long. it's not gonna guess, bestie π
π¦ DESCRIPTION π¦
okay so here's the tea, and it's lowkey important: only these special chars are architected for console IODC io β BEL, BS, CR, and LF. that's the whole approved list, no cap.
everything else? just passed through. it doesn't get any special treatment, it just vibes on through π
and since the 0. console requires CR+LF to perform a 'newline', we translate "0 to " β yes that's exactly how it's written on the page, i'm not fixing it, i'm just reporting it fr fr π
ngl, that last sentence is giving "the manpage had a little formatting moment." copying it exactly because the facts stay the facts. π
π SEE ALSO π
literally the whole parisc firmware friend group, all mentioned right there in 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_write(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_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, that's the entire roster. every single one. go read them, iykyk π
and that's the page!! π this cutie lives in ./arch/parisc/kernel, and the page itself is dated October 2026 β so yeah, she's got a little timestamp on her, and now you have the whole thing. slay, go print some console output πβ¨π¦
π¦ 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