From 0e557aba4eae472addb13becb9467090d2d2b793 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= Date: Fri, 3 Jan 2020 12:23:52 +0200 Subject: console/post: Move cmos_post_code() under pc80/rtc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We should keep console/ somewhat arch-agnostic. Change-Id: I4465888023ba5ae0706b5e98e541c40f975d11e3 Signed-off-by: Kyösti Mälkki Reviewed-on: https://review.coreboot.org/c/coreboot/+/38186 Reviewed-by: Angel Pons Tested-by: build bot (Jenkins) --- src/console/post.c | 134 +---------------------------------------------------- 1 file changed, 1 insertion(+), 133 deletions(-) (limited to 'src/console/post.c') diff --git a/src/console/post.c b/src/console/post.c index 9d535cb4e5..b9a7557f63 100644 --- a/src/console/post.c +++ b/src/console/post.c @@ -13,11 +13,7 @@ */ #include -#include #include -#include -#include -#include #if CONFIG(POST_IO) #include #endif @@ -27,135 +23,7 @@ /* Some mainboards have very nice features beyond just a simple display. * They can override this function. */ -void __weak mainboard_post(uint8_t value) -{ -} - -#if CONFIG(CMOS_POST) - -DECLARE_SPIN_LOCK(cmos_post_lock) - -void cmos_post_log(void) -{ - u8 code = 0; -#if CONFIG(CMOS_POST_EXTRA) - u32 extra = 0; -#endif - - spin_lock(&cmos_post_lock); - - /* Get post code from other bank */ - switch (cmos_read(CMOS_POST_BANK_OFFSET)) { - case CMOS_POST_BANK_0_MAGIC: - code = cmos_read(CMOS_POST_BANK_1_OFFSET); -#if CONFIG(CMOS_POST_EXTRA) - extra = cmos_read32(CMOS_POST_BANK_1_EXTRA); -#endif - break; - case CMOS_POST_BANK_1_MAGIC: - code = cmos_read(CMOS_POST_BANK_0_OFFSET); -#if CONFIG(CMOS_POST_EXTRA) - extra = cmos_read32(CMOS_POST_BANK_0_EXTRA); -#endif - break; - } - - spin_unlock(&cmos_post_lock); - - /* Check last post code in previous boot against normal list */ - switch (code) { - case POST_OS_BOOT: - case POST_OS_RESUME: - case POST_ENTER_ELF_BOOT: - case 0: - break; - default: - printk(BIOS_WARNING, "POST: Unexpected post code " - "in previous boot: 0x%02x\n", code); -#if CONFIG(ELOG) && (ENV_RAMSTAGE || CONFIG(ELOG_PRERAM)) - elog_add_event_word(ELOG_TYPE_LAST_POST_CODE, code); -#if CONFIG(CMOS_POST_EXTRA) - if (extra) - elog_add_event_dword(ELOG_TYPE_POST_EXTRA, extra); -#endif -#endif - } -} - -void cmos_post_init(void) -{ - u8 magic = CMOS_POST_BANK_0_MAGIC; - - /* Switch to the other bank */ - switch (cmos_read(CMOS_POST_BANK_OFFSET)) { - case CMOS_POST_BANK_1_MAGIC: - break; - case CMOS_POST_BANK_0_MAGIC: - magic = CMOS_POST_BANK_1_MAGIC; - break; - default: - /* Initialize to zero */ - cmos_write(0, CMOS_POST_BANK_0_OFFSET); - cmos_write(0, CMOS_POST_BANK_1_OFFSET); -#if CONFIG(CMOS_POST_EXTRA) - cmos_write32(0, CMOS_POST_BANK_0_EXTRA); - cmos_write32(0, CMOS_POST_BANK_1_EXTRA); -#endif - } - - cmos_write(magic, CMOS_POST_BANK_OFFSET); -} - -#if CONFIG(CMOS_POST_EXTRA) -void post_log_extra(u32 value) -{ - spin_lock(&cmos_post_lock); - - switch (cmos_read(CMOS_POST_BANK_OFFSET)) { - case CMOS_POST_BANK_0_MAGIC: - cmos_write32(value, CMOS_POST_BANK_0_EXTRA); - break; - case CMOS_POST_BANK_1_MAGIC: - cmos_write32(value, CMOS_POST_BANK_1_EXTRA); - break; - } - - spin_unlock(&cmos_post_lock); -} - -void post_log_path(const struct device *dev) -{ - if (dev) { - /* Encode path into lower 3 bytes */ - u32 path = dev_path_encode(dev); - /* Upper byte contains the log type */ - path |= CMOS_POST_EXTRA_DEV_PATH << 24; - post_log_extra(path); - } -} - -void post_log_clear(void) -{ - post_log_extra(0); -} -#endif /* CONFIG_CMOS_POST_EXTRA */ - -static void cmos_post_code(u8 value) -{ - spin_lock(&cmos_post_lock); - - switch (cmos_read(CMOS_POST_BANK_OFFSET)) { - case CMOS_POST_BANK_0_MAGIC: - cmos_write(value, CMOS_POST_BANK_0_OFFSET); - break; - case CMOS_POST_BANK_1_MAGIC: - cmos_write(value, CMOS_POST_BANK_1_OFFSET); - break; - } - - spin_unlock(&cmos_post_lock); -} -#endif /* CONFIG_CMOS_POST */ +void __weak mainboard_post(uint8_t value) { } void post_code(uint8_t value) { -- cgit v1.2.3