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>
(cherry picked from commit 0e8a782922
)
This commit is contained in:
@@ -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) {
|
||||
|
Reference in New Issue
Block a user