UefiCpuPkg/MtrrLib: Fix an assertion bug

0                     40          f0         100
+---WT--+--UC--+--WT--+-----WB----+----UC----+

When calculating the shortest path from 0 to 100, the
MtrrLibCalculateLeastMtrrs() is called to update the
Vertices.Previous.
When calculating the shortest path from 0 to 40,
MtrrLibCalculateLeastMtrrs() is called recursively to update the
Vertices.Previous.
The second call corrupt the Previous value that will be used
later.
The patch removes the code that corrupts Previous.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
This commit is contained in:
Ruiyu Ni 2018-01-09 18:25:20 +08:00
parent 579510336e
commit 0e8a782922
1 changed files with 0 additions and 1 deletions

View File

@ -1171,7 +1171,6 @@ MtrrLibCalculateLeastMtrrs (
for (Index = Start; Index <= Stop; Index++) {
Vertices[Index].Visited = FALSE;
Vertices[Index].Previous = VertexCount;
Mandatory = Weight[M(Start,Index)];
Vertices[Index].Weight = Mandatory;
if (Mandatory != MAX_WEIGHT) {