if (SecondLevelPagingEntry == NULL) {\r
return NULL;\r
}\r
- SecondLevelPagingEntry = CreateSecondLevelPagingEntryTable (VtdIndex, SecondLevelPagingEntry, SIZE_4GB, mAbove4GMemoryLimit, IoMmuAccess);\r
- if (SecondLevelPagingEntry == NULL) {\r
- return NULL;\r
+\r
+ if (mAbove4GMemoryLimit != 0) {\r
+ ASSERT (mAbove4GMemoryLimit > BASE_4GB);\r
+ SecondLevelPagingEntry = CreateSecondLevelPagingEntryTable (VtdIndex, SecondLevelPagingEntry, SIZE_4GB, mAbove4GMemoryLimit, IoMmuAccess);\r
+ if (SecondLevelPagingEntry == NULL) {\r
+ return NULL;\r
+ }\r
}\r
\r
return SecondLevelPagingEntry;\r