summaryrefslogtreecommitdiffstats
path: root/doc/opal-api/opal-pci-map-pe-mmio-window-29.txt
blob: 4f43506e94e0432a45596b04e6b5029e9b72bdf9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
OPAL_PCI_MAP_PE_MMIO_WINDOW
---------------------------
#define OPAL_PCI_MAP_PE_MMIO_WINDOW		29

static int64_t opal_pci_map_pe_mmio_window(uint64_t phb_id, uint16_t pe_number,
					   uint16_t window_type,
					   uint16_t window_num,
					   uint16_t segment_num)

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:
	if (!phb)
		return OPAL_PARAMETER;
	if (!phb->ops->map_pe_mmio_window)
		return OPAL_UNSUPPORTED;

OpenPOWER on IntegriCloud