memlayout: Ensure TIMESTAMP() region is big enough to avoid BUG()
The timestamp code asserts that the _timestamp region (allocated in memlayout for pre-RAM stages) is large enough for the assumptions it makes. This is good, except that we often initialize timestamps extremely early in the bootblock, even before console output. Debugging a BUG() that hits before console_init() is no fun. This patch adds a link-time assertion for the size of the _timestamp region in memlayout to prevent people from accidentally running into this issue. Change-Id: Ibe4301fb89c47fde28e883fd11647d6b62a66fb0 Signed-off-by: Julius Werner <jwerner@chromium.org> Reviewed-on: https://review.coreboot.org/16270 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Tested-by: Raptor Engineering Automated Test Stand <noreply@raptorengineeringinc.com>
This commit is contained in:
		| @@ -75,7 +75,8 @@ | ||||
| #define DRAM_START(addr) SYMBOL(dram, addr) | ||||
|  | ||||
| #define TIMESTAMP(addr, size) \ | ||||
| 	REGION(timestamp, addr, size, 8) | ||||
| 	REGION(timestamp, addr, size, 8) \ | ||||
| 	_ = ASSERT(size >= 212, "Timestamp region must fit timestamp_cache!"); | ||||
|  | ||||
| #define PRERAM_CBMEM_CONSOLE(addr, size) \ | ||||
| 	REGION(preram_cbmem_console, addr, size, 4) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user