Signed-off-by: Jim MacArthur <[email protected]>
---
 hw/pci/pcie.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/hw/pci/pcie.c b/hw/pci/pcie.c
index bf2c184cfc..c333ae01b2 100644
--- a/hw/pci/pcie.c
+++ b/hw/pci/pcie.c
@@ -1017,12 +1017,15 @@ bool pcie_cap_is_arifwd_enabled(const PCIDevice *dev)
  * uint16_t ext_cap_size
  */
 
+/* Looks through the capability list and finds one matching the cap_id */
+
 /* Passing a cap_id value > 0xffff will return 0 and put end of list in prev */
 static uint16_t pcie_find_capability_list(PCIDevice *dev, uint32_t cap_id,
                                           uint16_t *prev_p)
 {
     uint16_t prev = 0;
     uint16_t next;
+    /* Find the first header, after the main 'config' (legacy) space */
     uint32_t header = pci_get_long(dev->config + PCI_CONFIG_SPACE_SIZE);
 
     if (!header) {
@@ -1030,6 +1033,8 @@ static uint16_t pcie_find_capability_list(PCIDevice *dev, 
uint32_t cap_id,
         next = 0;
         goto out;
     }
+
+    /* Iterate through the PCIe config space, using the next cap offset */
     for (next = PCI_CONFIG_SPACE_SIZE; next;
          prev = next, next = PCI_EXT_CAP_NEXT(header)) {
 
@@ -1049,11 +1054,19 @@ out:
     return next;
 }
 
+/*
+ * As above, but ignoring the 'prev' parameter.
+ * Returns offset of that capability in the config space.
+ */
 uint16_t pcie_find_capability(PCIDevice *dev, uint16_t cap_id)
 {
     return pcie_find_capability_list(dev, cap_id, NULL);
 }
 
+/*
+ * Given a capability at position pos, set that's capability's
+ * next capability offset to 'next'.
+ */
 static void pcie_ext_cap_set_next(PCIDevice *dev, uint16_t pos, uint16_t next)
 {
     uint32_t header = pci_get_long(dev->config + pos);
@@ -1083,6 +1096,7 @@ static void pcie_ext_cap_set_next(PCIDevice *dev, 
uint16_t pos, uint16_t next)
 bool pcie_insert_capability(PCIDevice *dev, uint16_t cap_id, uint8_t cap_ver,
                             uint16_t offset, uint16_t size)
 {
+    /* Start at the PCI Extended configuration space */
     uint16_t pos = PCI_CONFIG_SPACE_SIZE, prev = 0;
     uint32_t header;
 

-- 
2.43.0


Reply via email to