+/**\r
+ The constructor function caches the pointer of DXE Services Table.\r
+\r
+ The constructor function caches the pointer of DXE Services Table.\r
+ It will ASSERT() if that operation fails.\r
+ It will ASSERT() if the pointer of DXE Services Table is NULL.\r
+ It will always return EFI_SUCCESS.\r
+\r
+ @param ImageHandle The firmware allocated handle for the EFI image.\r
+ @param SystemTable A pointer to the EFI System Table.\r
+\r
+ @retval EFI_SUCCESS The constructor always returns EFI_SUCCESS.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+DebugUncachedMemoryAllocationLibConstructor (\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
+ )\r
+{\r
+ EFI_STATUS Status;\r
+ \r
+ Status = gBS->LocateProtocol (&gEfiCpuArchProtocolGuid, NULL, (VOID **)&gDebugUncachedCpu);\r
+ ASSERT_EFI_ERROR(Status);\r
+\r
+\r
+ return Status;\r
+}\r
+\r
+\r
+\r