.. _OPAL_PCI_MAP_PE_DMA_WINDOW_REAL: OPAL_PCI_MAP_PE_DMA_WINDOW_REAL =============================== .. code-block:: c #define OPAL_PCI_MAP_PE_DMA_WINDOW_REAL 45 int64_t opal_pci_map_pe_dma_window_real(uint64_t phb_id, uint64_t pe_number, uint16_t window_id, uint64_t pci_start_addr, uint64_t pci_mem_size); **WARNING:** following documentation is from old sources, and is possibly not representative of OPALv3 as implemented by skiboot. This should be used as a starting point for full documentation. The host calls this function to initialize the specified DMA window for untranslated DMA addresses. This allows a PE to DMA directly to system memory without TCE translation. The DMA window PCI memory address is equal to the system memory real address. The PHB passes PCI address bits 04:63 directly to system real address bits 04:63 when PCI address bits 04:39 are within the region specified by mem_addr t0 mem_addr + window_size. The addresses must be 16MB aligned and a multiple of 16MB in size. ``phb_id`` is the value from the PHB node ibm,opal-phbid property. ``dma_window_number`` specifies the DMA window For ibm,opal-ioda PHBs the dma_window_number is an index from 0 to the PHB total number of windows minus 1. For ibm,opal-ioda2 PHBs the DMA window_number is an index from 0 to n-1, where n is the number of windows per window set, within the window set associated with the specified PE number. ``pe_number`` is the index of the PE that is authorized to DMA to this window address space in PCI memory, ``mem_addr`` is the starting 64-bit system real address mapped directly to the starting address in PCI memory. Addresses below 4GB are zero in bits above bit 32. This value must be aligned on a 16MB boundary; OPAL returns OPAL_PARAMETER for any value that is not a multiple of 16MB. ``window_size`` is the size, in bytes, of the address range defined by this window. This value must be a multiple of 16MB; OPAL returns :ref:`OPAL_PARAMETER` for any value that is not a multiple of 16MB. A value of '0' indicates to disable this DMA window.