54 lines
1.5 KiB
ReStructuredText
54 lines
1.5 KiB
ReStructuredText
![]() |
.. _OPAL_PCI_MAP_PE_MMIO_WINDOW:
|
||
|
|
||
|
OPAL_PCI_MAP_PE_MMIO_WINDOW
|
||
|
===========================
|
||
|
|
||
|
.. code-block:: c
|
||
|
|
||
|
#define OPAL_PCI_MAP_PE_MMIO_WINDOW 29
|
||
|
|
||
|
int64_t opal_pci_map_pe_mmio_window(uint64_t phb_id,
|
||
|
uint64_t pe_number,
|
||
|
uint16_t window_type,
|
||
|
uint16_t window_num,
|
||
|
uint16_t segment_num);
|
||
|
|
||
|
.. note:: Appears to be POWER7 p7ioc specific. Likely to be removed soon.
|
||
|
|
||
|
**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 map a segment of MMIO address space to a PE.
|
||
|
|
||
|
``phb_id``
|
||
|
is the value from the PHB node ibm,opal-phbid property.
|
||
|
|
||
|
``window_type``
|
||
|
specifies 32-bit or 64-bit PCI memory
|
||
|
|
||
|
'0' selects PCI IO Space. ibm,opal-ioda2 PHBs do not support IO space,
|
||
|
and OPAL returns opal_unsupported if called for IO windows.
|
||
|
|
||
|
'1' selects 32-bit PCI memory space
|
||
|
|
||
|
'2' selects 64 bit PCI memory space
|
||
|
|
||
|
``window_num``
|
||
|
is the MMIO window number within the specified PCI memory space
|
||
|
|
||
|
``segment_num``
|
||
|
is an index from 0 to the number of segments minus 1 defined
|
||
|
or this window, and selects a particular segment within the specified
|
||
|
window.
|
||
|
|
||
|
|
||
|
Return value:
|
||
|
|
||
|
.. code-block:: c
|
||
|
|
||
|
if (!phb)
|
||
|
return OPAL_PARAMETER;
|
||
|
if (!phb->ops->map_pe_mmio_window)
|
||
|
return OPAL_UNSUPPORTED;
|