]> 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
 \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
  \r
 \r
 /**\r
@@ -299,7 +418,7 @@ PciRegisterUpdateCheck (
 \r
 /**\r
   Check the incompatible device list for access width incompatibility and\r
 \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
 \r
   This function searches the incompatible device list for access width\r
   incompatibility according to request information. If the PCI device\r