)]}'
{
  "commit": "4e456d992889569e2dbb0426f2438797ab06ca1f",
  "tree": "5cab0370a5e6327d1aec3162a114f544b4291839",
  "parents": [
    "d405a0bd84e34d5c549d71145657add506079fb4"
  ],
  "author": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Fri Feb 03 16:10:31 2023 +0000"
  },
  "committer": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Fri Feb 03 16:10:31 2023 +0000"
  },
  "message": "[efi] Do not attempt to drive PCI bridge devices\n\nThe \"bridge\" driver introduced in 3aa6b79 (\"[pci] Add minimal PCI\nbridge driver\") is required only for BIOS builds using the ENA driver,\nwhere experimentation shows that we cannot rely on the BIOS to fully\nassign MMIO addresses.\n\nSince the driver is a valid PCI driver, it will end up binding to all\nPCI bridge devices even on a UEFI platform, where the firmware is\nlikely to have completed MMIO address assignment correctly.  This has\nno impact on most systems since there is generally no UEFI driver for\nPCI bridges: the enumeration of the whole PCI bus is handled by the\nPciBusDxe driver bound to the root bridge.\n\nExperimentation shows that at least one laptop will freeze at the\npoint that iPXE attempts to bind to the bridge device.  No deeper\ninvestigation has been carried out to find the root cause.\n\nFix by causing efipci_supported() to return an error unless the\nconfiguration space header type indicates a non-bridge device.\n\nReported-by: Marcel Petersen \u003cmp@sbe.de\u003e\nSigned-off-by: Michael Brown \u003cmcb30@ipxe.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7953aaedd763dec4cf0980f1b7f4026c8ada3ac7",
      "old_mode": 33188,
      "old_path": "src/drivers/bus/pci.c",
      "new_id": "92b389641d81ebe39f9727cae694cf080ea8f406",
      "new_mode": 33188,
      "new_path": "src/drivers/bus/pci.c"
    },
    {
      "type": "modify",
      "old_id": "637b20d60f8b5652db55139a3501a7180fad3ceb",
      "old_mode": 33188,
      "old_path": "src/include/ipxe/pci.h",
      "new_id": "8c6d9e4e28744d75c5bbeecdec322bbadc0b3352",
      "new_mode": 33188,
      "new_path": "src/include/ipxe/pci.h"
    },
    {
      "type": "modify",
      "old_id": "4796201e92be6b942b23d8ba8575ff41f68d1849",
      "old_mode": 33188,
      "old_path": "src/interface/efi/efi_pci.c",
      "new_id": "e2eeeb34465f520f3e55a3b90163f83bf96560c4",
      "new_mode": 33188,
      "new_path": "src/interface/efi/efi_pci.c"
    }
  ]
}
