x86: Avoid using hardcoded number of variable range MTRRs in mtrr_commit()
authorBin Meng <bmeng.cn@gmail.com>
Mon, 9 Nov 2020 07:55:49 +0000 (15:55 +0800)
committerBin Meng <bmeng.cn@gmail.com>
Tue, 10 Nov 2020 01:25:25 +0000 (09:25 +0800)
commitf72d3d6b04d21a7b2ba7ba9ee551dd6f1a9b93e4
tree15dffb088072f3ca2cb70df35b0a8dfacd9cf56c
parent1ae955e3a58f46918ef99b0b6c562967ba1bf39e
x86: Avoid using hardcoded number of variable range MTRRs in mtrr_commit()

Since commit 29d2d64ed55f ("x86: Add support for more than 8 MTRRs"),
the maximum number of variable range MTRRs was increased from 8 to 10.
On the BayTrail platform there are only 8 variable range MTRRs. In
mtrr_commit() it still uses MTRR_MAX_COUNT which caused a #GP during
VESA video driver probe. It should have been updated to use dynamically
probed number.

This fixes the boot failure seen on Intel Minnow Max board.

Fixes: 29d2d64ed55f ("x86: Add support for more than 8 MTRRs")
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
arch/x86/cpu/mtrr.c