UefiCpuPkg/MtrrLib: Fix an assertion bug
authorRuiyu Ni <ruiyu.ni@intel.com>
Tue, 9 Jan 2018 10:25:20 +0000 (18:25 +0800)
committerRuiyu Ni <ruiyu.ni@intel.com>
Thu, 11 Jan 2018 02:37:56 +0000 (10:37 +0800)
commit0e8a782922c028cd04454a99d631e082c2153695
treeadbdf80c6dc18bfd17ea709322ed917ba4f0154e
parent579510336e2ccbb22fa706c49baa07969e3d60f6
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>
UefiCpuPkg/Library/MtrrLib/MtrrLib.c