ccio_io_pdir_entry(9)
okay so this is ccio_io_pdir_entry(9) from the Kernel API Manual, and it's giving βinitialize an I/O Pdirβ energy π bestie, it's short, it's technical, and we're gonna get every little bit of it.
β¨ NAME β¨
ccio_io_pdir_entry β Initialize an I/O Pdir. That's the whole assignment, no cap. π
πΈ SYNOPSIS πΈ
the signature, verbatim, right here π«Ά
void ccio_io_pdir_entry (__le64 *pdir_ptr , space_t sid , phys_addr_t
pba , unsigned long hints );
π¦ ARGUMENTS π¦
pdir_ptrβ A pointer into I/O Pdir. it's literally pointing at the spot we're working with πsidβ The Space Identifier. iconic little id, fr fr β¨pbaβ The physical address. the physical-address main character πhintsβ The DMA Hint. yes bestie, hints π₯
π DESCRIPTION π
okay so here's the tea: given a physical address (pba, arg2) and a space id (sid, arg1), this loads the I/O PDIR entry pointed to by pdir_ptr (arg0) π. each I/O Pdir entry consists of 8 bytes, laid out like this β and yes, MSB == bit 0, keep that in mind:
WORD 0:
ββββββββββββββββββββββββββββββββββββ
β Phys Virtual Index Phys β
β 0:3 0:11 4:19 β
β 4 bits 12 bits 16 bits β
ββββββββββββββββββββββββββββββββββββ
WORD 1:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Phys Rsvd Prefetch Update Rsvd Lock Safe Valid β
β 20:39 Enable Enable Enable DMA β
β 20 bits 5 bits 1 bit 1 bit 2 bits 1 bit 1 bit 1 bit β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
the virtual index field is filled with the results of the LCI (Load Coherence Index) instruction. the 8 bits used for the virtual index are bits 12:19 of the value returned by LCI. that's the field update, literally, no extra drama π
π₯ SEE ALSO π₯
Kernel file ./drivers/parisc/ccio-dma.c is the source-file bestie for this whole crew. also go peek at:
ccio_alloc_range(9)ccio_free_range(9)ccio_clear_io_tlb(9)ccio_mark_invalid(9)ccio_dma_supported(9)ccio_map_single(9)ccio_unmap_phys(9)ccio_alloc(9)ccio_free(9)ccio_map_sg(9)ccio_unmap_sg(9)ccio_find_ioc(9)ccio_get_iommu(9)ccio_ioc_init(9)ccio_probe(9)ccio_init(9)
xoxo, bestie π β source/version: ./drivers/parisc, date: October 2026, page: ccio_io_pdir_entry(9). periodt. π
π¦ 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