summaryrefslogtreecommitdiff
path: root/src/northbridge/amd
diff options
context:
space:
mode:
authorChristian Gmeiner <christian.gmeiner@gmail.com>2013-06-06 14:37:49 +0200
committerMarc Jones <marc.jones@se-eng.com>2013-11-26 07:36:26 +0100
commitbd7e8d8d2b1d65e59dd45db6529c89f9173b7b20 (patch)
treea8fd6c688dcfbceae46e34ec488f16d539bc850c /src/northbridge/amd
parentb82a74c7ffc2da70012b47d76b055285469886bb (diff)
downloadcoreboot-bd7e8d8d2b1d65e59dd45db6529c89f9173b7b20.tar.xz
AMD Northbridge LX: simplify get_top_of_ram()
Get rid of not needed dependency to gliu0table. This change is needed to move get_top_of_ram() to raminit.c - as needed for EARLY_CBMEM_INIT. Boot tested on a Bachmann OT200. Change-Id: I0bfe40c366a3537775d5c1ff8e0b1f5ac94320b7 Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-on: http://review.coreboot.org/3380 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Patrick Georgi <patrick@georgi-clan.de> Reviewed-by: Marc Jones <marc.jones@se-eng.com>
Diffstat (limited to 'src/northbridge/amd')
-rw-r--r--src/northbridge/amd/lx/northbridgeinit.c20
1 files changed, 4 insertions, 16 deletions
diff --git a/src/northbridge/amd/lx/northbridgeinit.c b/src/northbridge/amd/lx/northbridgeinit.c
index f4c13f752f..42b91d6d99 100644
--- a/src/northbridge/amd/lx/northbridgeinit.c
+++ b/src/northbridge/amd/lx/northbridgeinit.c
@@ -716,25 +716,13 @@ static void setup_lx_cache(void)
unsigned long get_top_of_ram(void)
{
- struct gliutable *gl = 0;
uint32_t systop;
msr_t msr;
- int i;
- for (i = 0; gliu0table[i].desc_name != GL_END; i++) {
- if (gliu0table[i].desc_type == R_SYSMEM) {
- gl = &gliu0table[i];
- break;
- }
- }
- if (gl) {
- msr = rdmsr(gl->desc_name);
- systop = ((msr.hi & 0xFF) << 24) | ((msr.lo & 0xFFF00000) >> 8);
- systop += 0x1000; /* 4K */
- } else {
- systop =
- ((sizeram() - CONFIG_VIDEO_MB) * 1024) - SMM_SIZE - 1024;
- }
+ msr = rdmsr(MSR_GLIU0_SYSMEM);
+ systop = ((msr.hi & 0xFF) << 24) | ((msr.lo & 0xFFF00000) >> 8);
+ systop += 0x1000; /* 4K */
+
return systop;
}