[PATCH] cpu: msr: change SMRR_PHYSBASE from 8MB boundary to 4KB boundary
Alex Hung
alex.hung at canonical.com
Tue Sep 6 09:05:57 UTC 2016
According to a patch to tianocore [1], the base alignment should
be 4KB instead of 8MB. It also meets the observation that many
recent systems do not have 8MB alignment.
[1] https://sourceforge.net/p/tianocore/edk2/ci/4be1fbc287a2972a0cb420bc3a85372426c588b5/
Signed-off-by: Alex Hung <alex.hung at canonical.com>
---
src/cpu/msr/msr.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/cpu/msr/msr.c b/src/cpu/msr/msr.c
index 54ed5a5..22dfb29 100644
--- a/src/cpu/msr/msr.c
+++ b/src/cpu/msr/msr.c
@@ -213,9 +213,9 @@ static int msr_smrr(fwts_framework *fw)
if (fwts_cpu_readmsr(0, 0x1f2, &val) == FWTS_OK) {
uint64_t physbase = val & 0xfffff000;
uint64_t type = val & 7;
- if ((physbase & 0x7fffff) != 0)
- fwts_failed(fw, LOG_LEVEL_HIGH, "MSRSMRR_PHYSBASE8MBBoundary",
- "SMRR: SMRR_PHYSBASE is NOT on an 8MB boundary: %" PRIx64 ".",
+ if ((physbase & 0xfff) != 0)
+ fwts_failed(fw, LOG_LEVEL_HIGH, "MSRSMRR_PHYSBASE4KBBoundary",
+ "SMRR: SMRR_PHYSBASE is NOT on a 4KB boundary: %" PRIx64 ".",
physbase);
if (type != 6)
fwts_failed(fw, LOG_LEVEL_HIGH, "MSRSMRR_TYPE",
--
2.7.4
More information about the fwts-devel
mailing list