diff options
-rw-r--r-- | src/arch/arm/include/arch/early_variables.h | 1 | ||||
-rw-r--r-- | src/arch/x86/include/arch/early_variables.h | 2 | ||||
-rw-r--r-- | src/arch/x86/init/romstage.ld | 14 | ||||
-rw-r--r-- | src/console/Kconfig | 10 | ||||
-rw-r--r-- | src/lib/cbmem_console.c | 5 |
5 files changed, 15 insertions, 17 deletions
diff --git a/src/arch/arm/include/arch/early_variables.h b/src/arch/arm/include/arch/early_variables.h index 041d0ae7ad..5b58baa271 100644 --- a/src/arch/arm/include/arch/early_variables.h +++ b/src/arch/arm/include/arch/early_variables.h @@ -21,7 +21,6 @@ #define ARCH_EARLY_VARIABLES_H #define CAR_GLOBAL -#define CAR_CBMEM #define CAR_MIGRATE(migrate_fn_) static inline void *car_get_var_ptr(void *var) { return var; } diff --git a/src/arch/x86/include/arch/early_variables.h b/src/arch/x86/include/arch/early_variables.h index ea1a133ae0..80e82d6408 100644 --- a/src/arch/x86/include/arch/early_variables.h +++ b/src/arch/x86/include/arch/early_variables.h @@ -26,10 +26,8 @@ asm(".previous"); asm(".section .car.cbmem_console,\"w\",@nobits"); asm(".previous"); #define CAR_GLOBAL __attribute__((section(".car.global_data"))) -#define CAR_CBMEM __attribute__((section(".car.cbmem_console"))) #else #define CAR_GLOBAL -#define CAR_CBMEM #endif #if defined(__PRE_RAM__) diff --git a/src/arch/x86/init/romstage.ld b/src/arch/x86/init/romstage.ld index 5458cfc23d..d6eb5111ef 100644 --- a/src/arch/x86/init/romstage.ld +++ b/src/arch/x86/init/romstage.ld @@ -55,15 +55,15 @@ SECTIONS .car.data . (NOLOAD) : { _car_data_start = .; *(.car.global_data); - /* The cbmem_console section comes last to take advantage of - * a zero-sized array to hold the memconsole contents that - * grows to a bound of CONFIG_CONSOLE_CAR_BUFFER_SIZE. However, - * collisions within the cache-as-ram region cannot be + _car_data_end = .; + /* The preram cbmem console area comes last to take advantage + * of a zero-sized array to hold the memconsole contents that + * grows to a bound of CONFIG_CONSOLE_PRERAM_BUFFER_SIZE. + * However, collisions within the cache-as-ram region cannot be * statically checked because the cache-as-ram region usage is * cpu/chipset dependent. */ - *(.car.cbmem_console); - _car_data_end = .; + preram_cbmem_console = .; } - _bogus = ASSERT((SIZEOF(.car.data) <= CONFIG_DCACHE_RAM_SIZE), "Cache as RAM area is too full"); + _bogus = ASSERT((SIZEOF(.car.data) + CONFIG_CONSOLE_PRERAM_BUFFER_SIZE <= CONFIG_DCACHE_RAM_SIZE), "Cache as RAM area is too full"); } diff --git a/src/console/Kconfig b/src/console/Kconfig index 472ac5c8d2..619af56bac 100644 --- a/src/console/Kconfig +++ b/src/console/Kconfig @@ -184,15 +184,15 @@ config CONSOLE_CBMEM_BUFFER_SIZE value (128K or 0x20000 bytes) is large enough to accommodate even the BIOS_SPEW level. -config CONSOLE_CAR_BUFFER_SIZE +config CONSOLE_PRERAM_BUFFER_SIZE depends on CONSOLE_CBMEM - hex "Room allocated for console output in Cache as RAM" + hex "Room allocated for console output before RAM is initialized" default 0xc00 help Console is used before RAM is initialized. This is the room reserved - in the DCACHE based RAM to keep console output before it can be - saved in a CBMEM buffer. 3K bytes should be enough even for the - BIOS_SPEW level. + in the DCACHE based RAM, SRAM, etc. to keep console output before it + can be saved in a CBMEM buffer. 3K bytes should be enough even for + the BIOS_SPEW level. config CONSOLE_QEMU_DEBUGCON bool "QEMU debug console output" diff --git a/src/lib/cbmem_console.c b/src/lib/cbmem_console.c index 9d5419a185..b5b75f3ee6 100644 --- a/src/lib/cbmem_console.c +++ b/src/lib/cbmem_console.c @@ -44,7 +44,7 @@ static struct cbmem_console *cbmem_console_p CAR_GLOBAL; * the area are defined in the config. */ -static struct cbmem_console car_cbmem_console CAR_CBMEM; +extern struct cbmem_console preram_cbmem_console; #else @@ -86,7 +86,8 @@ static inline void init_console_ptr(void *storage, u32 total_space) void cbmemc_init(void) { #ifdef __PRE_RAM__ - init_console_ptr(&car_cbmem_console, CONFIG_CONSOLE_CAR_BUFFER_SIZE); + init_console_ptr(&preram_cbmem_console, + CONFIG_CONSOLE_PRERAM_BUFFER_SIZE); #else /* * Initializing before CBMEM is available, use static buffer to store |