[PATCH 3/7] x86: mtrr: Skip MSRs that were already programmed in mtrr_commit()
Bin Meng
bmeng.cn at gmail.com
Sat Jul 31 10:45:25 CEST 2021
At present mtrr_commit() programs the MTRR MSRs starting from
index 0, which may overwrite MSRs that were already programmed
by previous boot stage or FSP.
Switch to call mtrr_set_next_var() instead.
Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
---
arch/x86/cpu/mtrr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/cpu/mtrr.c b/arch/x86/cpu/mtrr.c
index 73cf7bb2be..14c644eb56 100644
--- a/arch/x86/cpu/mtrr.c
+++ b/arch/x86/cpu/mtrr.c
@@ -155,7 +155,7 @@ int mtrr_commit(bool do_caches)
debug("open done\n");
qsort(req, gd->arch.mtrr_req_count, sizeof(*req), h_comp_mtrr);
for (i = 0; i < gd->arch.mtrr_req_count; i++, req++)
- set_var_mtrr(i, req->type, req->start, req->size);
+ mtrr_set_next_var(req->type, req->start, req->size);
debug("close\n");
mtrr_close(&state, do_caches);
--
2.25.1
More information about the U-Boot
mailing list