IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
{\r
+ UINT64 MmioAttributes;\r
EFI_STATUS Status;\r
UINTN Loop1;\r
UINTN Loop2;\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r
+ MmioAttributes = FeaturePcdGet (PcdKludgeMapPciMmioAsCached) ?\r
+ EFI_MEMORY_WB : EFI_MEMORY_UC;\r
+\r
Status = gDS->AddMemorySpace (\r
EfiGcdMemoryTypeMemoryMappedIo,\r
PcdGet32 (PcdPciMmio32Base),\r
PcdGet32 (PcdPciMmio32Size),\r
- EFI_MEMORY_UC\r
+ MmioAttributes\r
);\r
if (EFI_ERROR (Status)) {\r
DEBUG ((EFI_D_ERROR, "%a: AddMemorySpace: %r\n", __FUNCTION__, Status));\r
return Status;\r
}\r
\r
+ Status = gDS->SetMemorySpaceAttributes (\r
+ PcdGet32 (PcdPciMmio32Base),\r
+ PcdGet32 (PcdPciMmio32Size),\r
+ MmioAttributes\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ DEBUG ((EFI_D_ERROR, "%a: SetMemorySpaceAttributes: %r\n", __FUNCTION__,\r
+ Status));\r
+ return Status;\r
+ }\r
+\r
//\r
// Create Host Bridge Device Handle\r
//\r