pdc_pat_io_pci_cfg_read(9)
π pdc_pat_io_pci_cfg_read β Kernel API Manual energy β¨
Okay bestie, so this one's from the Kernel API Manual and it's literally called pdc_pat_io_pci_cfg_read (say that five times fast, I dare you π«Ά). It's giving "I read PCI configuration space" and honestly? Iconic.
β¨ NAME β¨
pdc_pat_io_pci_cfg_read β read PCI configuration space. That's it, that's the whole vibe. No cap. π
π¦ SYNOPSIS π¦
int pdc_pat_io_pci_cfg_read (unsigned long pci_addr , int pci_size , u32
*mem_addr );
Like, look at her. Three little params and a int return. Main character energy fr fr. π
πΈ ARGUMENTS πΈ
pci_addrβ the PCI configuration space address you're requesting a read for. It'sunsigned long, it's important, it's the "where" of the whole operation. Slay. β¨pci_sizeβ how big the read is, in bytes. Valid values are literally only1,2, and4. Not 3. Not 8. Bestie, don't try it. πmem_addrβ pointer to the return memory buffer. That's where the data lands.u32 *, the whole point, the moment. π
π SEE ALSO π
So there's a whole squad of kernel file ./arch/parisc/kernel/firmware.c besties and you should lowkey know them all:
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_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_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 whole group chat right there. Read one, read 'em all. π«Ά
Bestie PSA π¨:pci_sizeonly takes1,2, or4. Anything else is not the vibe and the docs are not here for it.
Kisses from ./arch/parisc/kernel, dated October 2026 β mwah πβ¨ go read some PCI config space, you absolute icon ππ
π¦ 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