Felix Held has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/74611 )
Change subject: nb/amd/pi/00730F01/northbridge: use get_top_of_mem_[below,above]_4gb ......................................................................
nb/amd/pi/00730F01/northbridge: use get_top_of_mem_[below,above]_4gb
Use get_top_of_mem_below_4gb and get_top_of_mem_above_4g instead of open-coding the functionality.
Signed-off-by: Felix Held felix-coreboot@felixheld.de Change-Id: I6332b051acf8d00ba6528360b18ea0d3c4dc30fd --- M src/northbridge/amd/pi/00730F01/northbridge.c 1 file changed, 16 insertions(+), 5 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/11/74611/1
diff --git a/src/northbridge/amd/pi/00730F01/northbridge.c b/src/northbridge/amd/pi/00730F01/northbridge.c index d963171..d373493 100644 --- a/src/northbridge/amd/pi/00730F01/northbridge.c +++ b/src/northbridge/amd/pi/00730F01/northbridge.c @@ -538,13 +538,11 @@
static void northbridge_fill_ssdt_generator(const struct device *device) { - msr_t msr; char pscope[] = "\_SB.PCI0";
acpigen_write_scope(pscope); - msr = rdmsr(TOP_MEM); - acpigen_write_name_dword("TOM1", msr.lo); - msr = rdmsr(TOP_MEM2); + acpigen_write_name_dword("TOM1", get_top_of_mem_below_4gb()); + /* * Since XP only implements parts of ACPI 2.0, we can't use a qword * here. @@ -553,7 +551,7 @@ * Shift value right by 20 bit to make it fit into 32bit, * giving us 1MB granularity and a limit of almost 4Exabyte of memory. */ - acpigen_write_name_dword("TOM2", (msr.hi << 12) | msr.lo >> 20); + acpigen_write_name_dword("TOM2", get_top_of_mem_above_4g() >> 20); acpigen_pop_len(); }