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++) {
|
for (Index = Start; Index <= Stop; Index++) {
|
||||||
Vertices[Index].Visited = FALSE;
|
Vertices[Index].Visited = FALSE;
|
||||||
Vertices[Index].Previous = VertexCount;
|
|
||||||
Mandatory = Weight[M(Start,Index)];
|
Mandatory = Weight[M(Start,Index)];
|
||||||
Vertices[Index].Weight = Mandatory;
|
Vertices[Index].Weight = Mandatory;
|
||||||
if (Mandatory != MAX_WEIGHT) {
|
if (Mandatory != MAX_WEIGHT) {
|
||||||
|
Reference in New Issue
Block a user