aboutsummaryrefslogtreecommitdiff
path: root/doc/opal-api/opal-pci-phb-mmio-enable-27.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/opal-api/opal-pci-phb-mmio-enable-27.txt')
-rw-r--r--doc/opal-api/opal-pci-phb-mmio-enable-27.txt44
1 files changed, 44 insertions, 0 deletions
diff --git a/doc/opal-api/opal-pci-phb-mmio-enable-27.txt b/doc/opal-api/opal-pci-phb-mmio-enable-27.txt
new file mode 100644
index 0000000..c5b08f4
--- /dev/null
+++ b/doc/opal-api/opal-pci-phb-mmio-enable-27.txt
@@ -0,0 +1,44 @@
+OPAL_PCI_PHB_MMIO_ENABLE
+------------------------
+
+#define OPAL_PCI_PHB_MMIO_ENABLE 27
+
+static int64_t opal_pci_phb_mmio_enable(uint64_t phb_id, uint16_t window_type,
+ uint16_t window_num, uint16_t enable)
+
+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 enable or disable PHB decode of the PCI IO
+and Memory address spaces below that PHB. Window_num selects an mmio window
+within that addres space. Enable set to '1' enables the PHB to decode and
+forward system real addresses to PCI memory, while enable set to '0' disables
+PHB decode and forwarding for the address range defined in a particular MMIO
+window.
+
+Not all PHB hardware may support disabling some or all MMIO windows. OPAL
+returns OPAL_UNSUPPORTED if called to disable an MMIO window for which
+hardware does not support disable. KVM may call this function for all MMIO
+windows and ignore the opal_unsuppsorted return code so long as KVM has
+disabled MMIO to all downstream PCI devices and assured that KVM and OS guest
+partitions cannot issue CI loads/stores to these address spaces from the
+processor (e.g.,via HPT).
+
+OPAL returns OPAL_SUCCESS for calls to OPAL to enable them for PHBs that do
+not support disable.
+
+ 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
+
+ '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
+
+ enable specifies to enable or disable this MMIO window.