summaryrefslogtreecommitdiff
path: root/src/console
diff options
context:
space:
mode:
Diffstat (limited to 'src/console')
-rw-r--r--src/console/post.c23
1 files changed, 9 insertions, 14 deletions
diff --git a/src/console/post.c b/src/console/post.c
index b9a7557f63..33d85e7675 100644
--- a/src/console/post.c
+++ b/src/console/post.c
@@ -14,11 +14,9 @@
#include <stdint.h>
#include <console/console.h>
-#if CONFIG(POST_IO)
-#include <arch/io.h>
-#endif
/* Write POST information */
+void __weak arch_post_code(uint8_t value) { }
/* Some mainboards have very nice features beyond just a simple display.
* They can override this function.
@@ -27,16 +25,13 @@ void __weak mainboard_post(uint8_t value) { }
void post_code(uint8_t value)
{
-#if !CONFIG(NO_POST)
-#if CONFIG(CONSOLE_POST)
- printk(BIOS_EMERG, "POST: 0x%02x\n", value);
-#endif
-#if CONFIG(CMOS_POST)
- cmos_post_code(value);
-#endif
-#if CONFIG(POST_IO)
- outb(value, CONFIG_POST_IO_PORT);
-#endif
-#endif
+ if (!CONFIG(NO_POST)) {
+ /* Assume this to be the most reliable and simplest type
+ for displaying POST so keep it first. */
+ arch_post_code(value);
+
+ if (CONFIG(CONSOLE_POST))
+ printk(BIOS_EMERG, "POST: 0x%02x\n", value);
+ }
mainboard_post(value);
}