]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Library/PciIncompatibleDeviceSupportLib/PciIncompatibleDeviceSupportLib.c
Clean up ECC.
[mirror_edk2.git] / IntelFrameworkModulePkg / Library / PciIncompatibleDeviceSupportLib / PciIncompatibleDeviceSupportLib.c
index 4934d4e2c1d0ff7e42c6349616e9d923425c473c..21d527408bdca671b660c7052b9f51ca6d98c015 100644 (file)
@@ -14,8 +14,127 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 #include "IncompatiblePciDeviceList.h"\r
 \r
-EFI_PCI_REGISTER_ACCESS_DATA mPciRegisterAccessData = {0, 0, 0}; \r
-EFI_PCI_REGISTER_VALUE_DATA  mPciRegisterValueData  = {0, 0};\r
+//\r
+// the incompatible PCI devices list template for ACPI resource\r
+//\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINT64 gIncompatiblePciDeviceListForResource[] = {\r
+  //\r
+  // DEVICE_INF_TAG,\r
+  // PCI_DEVICE_ID (VendorID, DeviceID, Revision, SubVendorId, SubDeviceId),\r
+  // DEVICE_RES_TAG,\r
+  // ResType,  GFlag , SFlag,   Granularity,  RangeMin,\r
+  // RangeMax, Offset, AddrLen\r
+  //\r
+\r
+  //\r
+  // Sample Device 1\r
+  //\r
+  //DEVICE_INF_TAG,\r
+  //PCI_DEVICE_ID(0xXXXX, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
+  //DEVICE_RES_TAG,\r
+  //PCI_BAR_TYPE_IO,\r
+  //PCI_ACPI_UNUSED,\r
+  //PCI_ACPI_UNUSED,\r
+  //PCI_ACPI_UNUSED,\r
+  //PCI_ACPI_UNUSED,\r
+  //PCI_BAR_EVEN_ALIGN,\r
+  //PCI_BAR_ALL,\r
+  //PCI_BAR_NOCHANGE,\r
+\r
+  //\r
+  // Sample Device 2\r
+  //\r
+  //DEVICE_INF_TAG,\r
+  //PCI_DEVICE_ID(0xXXXX, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
+  //DEVICE_RES_TAG,\r
+  //PCI_BAR_TYPE_IO,\r
+  //PCI_ACPI_UNUSED,\r
+  //PCI_ACPI_UNUSED,\r
+  //PCI_ACPI_UNUSED,\r
+  //PCI_ACPI_UNUSED,\r
+  //PCI_BAR_EVEN_ALIGN,\r
+  //PCI_BAR_ALL,\r
+  //PCI_BAR_NOCHANGE,\r
+\r
+  //\r
+  // The end of the list\r
+  //\r
+  LIST_END_TAG\r
+};\r
+\r
+//\r
+// the incompatible PCI devices list template for the values of configuration registers\r
+//\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINT64 gIncompatiblePciDeviceListForRegister[] = {\r
+  //\r
+  // DEVICE_INF_TAG,\r
+  // PCI_DEVICE_ID (VendorID, DeviceID, Revision, SubVendorId, SubDeviceId),\r
+  // PCI_RES_TAG,\r
+  // PCI_ACCESS_TYPE, PCI_CONFIG_ADDRESS,\r
+  // AND_VALUE, OR_VALUE\r
+\r
+  //\r
+  // Sample Device 1\r
+  //\r
+  //DEVICE_INF_TAG,\r
+  //PCI_DEVICE_ID(0xXXXX, 0xXXXX, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
+  //DEVICE_RES_TAG,\r
+  //PCI_REGISTER_READ,\r
+  //PCI_CAPBILITY_POINTER_OFFSET,\r
+  //0xffffff00,\r
+  //VALUE_NOCARE,\r
+\r
+  //\r
+  // Sample Device 2\r
+  //\r
+  //DEVICE_INF_TAG,\r
+  //PCI_DEVICE_ID(0xXXXX, 0xXXXX, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
+  //DEVICE_RES_TAG,\r
+  //PCI_REGISTER_READ,\r
+  //PCI_CAPBILITY_POINTER_OFFSET,\r
+  //0xffffff00,\r
+  //VALUE_NOCARE,\r
+\r
+  //\r
+  // The end of the list\r
+  //\r
+  LIST_END_TAG\r
+};\r
+\r
+//\r
+// the incompatible PCI devices list template for the access width of configuration registers\r
+//\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINT64 gDeviceListForAccessWidth[] = {\r
+  //\r
+  // DEVICE_INF_TAG,\r
+  // PCI_DEVICE_ID (VendorID, DeviceID, Revision, SubVendorId, SubDeviceId),\r
+  // DEVICE_RES_TAG,\r
+  // PCI_ACCESS_TYPE, PCI_ACCESS_WIDTH,\r
+  // START_ADDRESS, END_ADDRESS,\r
+  // ACTUAL_PCI_ACCESS_WIDTH,\r
+  //\r
+\r
+  //\r
+  // Sample Device\r
+  //\r
+  //DEVICE_INF_TAG,\r
+  //PCI_DEVICE_ID(0xXXXX, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE, DEVICE_ID_NOCARE),\r
+  //DEVICE_RES_TAG,\r
+  //PCI_REGISTER_READ,\r
+  //EfiPciWidthUint8,\r
+  //0,\r
+  //0xFF,\r
+  //EfiPciWidthUint32,\r
+  //\r
+\r
+  //\r
+  // The end of the list\r
+  //\r
+  LIST_END_TAG\r
+};\r
+\r
+GLOBAL_REMOVE_IF_UNREFERENCED EFI_PCI_REGISTER_ACCESS_DATA mPciRegisterAccessData = {0, 0, 0}; \r
+GLOBAL_REMOVE_IF_UNREFERENCED EFI_PCI_REGISTER_VALUE_DATA  mPciRegisterValueData  = {0, 0};\r
  \r
 \r
 /**\r
@@ -299,7 +418,7 @@ PciRegisterUpdateCheck (
 \r
 /**\r
   Check the incompatible device list for access width incompatibility and\r
-  return the configuration\r
+  return the configuration.\r
 \r
   This function searches the incompatible device list for access width\r
   incompatibility according to request information. If the PCI device\r