* repository service svn@coreboot.org [101213 20:50]:
Author: ruik Date: Mon Dec 13 20:50:25 2010 New Revision: 6171 URL: https://tracker.coreboot.org/trac/coreboot/changeset/6171
Log: We hardcode highmemory size in every northbridge! This is bad, and especially if suspend to ram is involved. Let the default be taken from cbmem.h which also handles the suspend logic.
Modified: trunk/src/include/cbmem.h
--- trunk/src/include/cbmem.h Mon Dec 13 14:44:33 2010 (r6170) +++ trunk/src/include/cbmem.h Mon Dec 13 20:50:25 2010 (r6171) @@ -21,13 +21,14 @@ #define _CBMEM_H_
/* Reserve 64k for ACPI and other tables */ -#define HIGH_MEMORY_TABLES ( 64 * 1024 ) +#define HIGH_MEMORY_DEF_SIZE ( 64 * 1024 ) +extern uint64_t high_tables_base, high_tables_size;
#if CONFIG_HAVE_ACPI_RESUME -#define HIGH_MEMORY_SIZE ((CONFIG_RAMTOP - CONFIG_RAMBASE) + HIGH_MEMORY_TABLES) -#define HIGH_MEMORY_SAVE ( HIGH_MEMORY_SIZE - HIGH_MEMORY_TABLES ) +#define HIGH_MEMORY_SIZE ((CONFIG_RAMTOP - CONFIG_RAMBASE) + HIGH_MEMORY_DEF_SIZE) +#define HIGH_MEMORY_SAVE ( HIGH_MEMORY_SIZE - HIGH_MEMORY_DEF_SIZE )
We should make sure we sanitize the use of CONFIG_RAMTOP and CONFIG_RAMBASE:
CONFIG_RAMTOP=0x200000 : 131 boards CONFIG_RAMTOP=0x2000000 : 8 boards CONFIG_RAMTOP=0x1000000 : 6 boards
CONFIG_RAMBASE=0x100000 : 131 boards CONFIG_RAMBASE=0x200000 : 14 boards
These values see to be very random. What are reasonable values?