diff options
author | Christian Gmeiner <christian.gmeiner@gmail.com> | 2013-06-06 14:37:49 +0200 |
---|---|---|
committer | Marc Jones <marc.jones@se-eng.com> | 2013-11-26 07:36:26 +0100 |
commit | bd7e8d8d2b1d65e59dd45db6529c89f9173b7b20 (patch) | |
tree | a8fd6c688dcfbceae46e34ec488f16d539bc850c /src/northbridge | |
parent | b82a74c7ffc2da70012b47d76b055285469886bb (diff) | |
download | coreboot-bd7e8d8d2b1d65e59dd45db6529c89f9173b7b20.tar.gz coreboot-bd7e8d8d2b1d65e59dd45db6529c89f9173b7b20.tar.bz2 coreboot-bd7e8d8d2b1d65e59dd45db6529c89f9173b7b20.zip |
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')
-rw-r--r-- | src/northbridge/amd/lx/northbridgeinit.c | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/src/northbridge/amd/lx/northbridgeinit.c b/src/northbridge/amd/lx/northbridgeinit.c index f4c13f752fed..42b91d6d99a4 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; } |