\r
#include <Protocol/DriverBinding.h>\r
\r
+#define MAX_NON_DISCOVERABLE_PCI_DEVICE_ID (32 * 256)\r
+\r
+STATIC UINTN mUniqueIdCounter = 0;\r
EFI_CPU_ARCH_PROTOCOL *mCpu;\r
\r
//\r
NON_DISCOVERABLE_PCI_DEVICE *Dev;\r
EFI_STATUS Status;\r
\r
+ ASSERT (mUniqueIdCounter < MAX_NON_DISCOVERABLE_PCI_DEVICE_ID);\r
+ if (mUniqueIdCounter >= MAX_NON_DISCOVERABLE_PCI_DEVICE_ID) {\r
+ return EFI_OUT_OF_RESOURCES;\r
+ }\r
+\r
Dev = AllocateZeroPool (sizeof *Dev);\r
if (Dev == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
goto CloseProtocol;\r
}\r
\r
+ Dev->UniqueId = mUniqueIdCounter++;\r
+\r
return EFI_SUCCESS;\r
\r
CloseProtocol:\r