Make POST device configurable.

Change-Id: If92b50ab3888518228d2d3b76f5c50c4aef968dd
Signed-off-by: Idwer Vollering <vidwer@gmail.com>
Reviewed-on: http://review.coreboot.org/4561
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
This commit is contained in:
Idwer Vollering
2014-03-11 15:36:21 +00:00
parent c078094f39
commit 5809a7395d
4 changed files with 37 additions and 20 deletions

View File

@ -303,16 +303,6 @@ config NO_POST
bool "Don't show any POST codes" bool "Don't show any POST codes"
default n default n
config CONSOLE_POST
bool "Show POST codes on the debug console"
depends on !NO_POST
default n
help
If enabled, coreboot will additionally print POST codes (which are
usually displayed using a so-called "POST card" ISA/PCI/PCI-E
device) on the debug console.
config CMOS_POST config CMOS_POST
bool "Store post codes in CMOS for debugging" bool "Store post codes in CMOS for debugging"
depends on !NO_POST && PC80_SYSTEM depends on !NO_POST && PC80_SYSTEM
@ -339,15 +329,42 @@ config CMOS_POST_EXTRA
This will enable extra logging of work that happens between post This will enable extra logging of work that happens between post
codes into CMOS for debug. This uses an additional 8 bytes of CMOS. codes into CMOS for debug. This uses an additional 8 bytes of CMOS.
config IO_POST config POST_IO
bool "Show POST codes on the debug console"
depends on !NO_POST
default n
help
If enabled, coreboot will additionally print POST codes (which are
usually displayed using a so-called "POST card" ISA/PCI/PCI-E
device) on the debug console.
config POST_DEVICE
bool "Send POST codes to an external device"
depends on !NO_POST
default y
choice
prompt "Device to send POST codes to"
depends on POST_DEVICE
default POST_DEVICE_NONE
config POST_DEVICE_NONE
bool "None"
config POST_DEVICE_LPC
bool "LPC"
config POST_DEVICE_PCI_PCIE
bool "PCI/PCIe"
endchoice
config POST_IO
bool "Send POST codes to an IO port" bool "Send POST codes to an IO port"
depends on PC80_SYSTEM depends on PC80_SYSTEM && !NO_POST
default y default y
help help
If enabled, POST codes will be written to an IO port. If enabled, POST codes will be written to an IO port.
config IO_POST_PORT config POST_IO_PORT
depends on IO_POST depends on POST_IO
hex "IO port for POST codes" hex "IO port for POST codes"
default 0x80 default 0x80
help help

View File

@ -161,8 +161,8 @@ void post_code(uint8_t value)
#if CONFIG_CMOS_POST #if CONFIG_CMOS_POST
cmos_post_code(value); cmos_post_code(value);
#endif #endif
#if CONFIG_IO_POST #if CONFIG_POST_IO
outb(value, CONFIG_IO_POST_PORT); outb(value, CONFIG_POST_IO_PORT);
#endif #endif
#endif #endif
mainboard_post(value); mainboard_post(value);

View File

@ -251,8 +251,8 @@ halt2:
.Lhlt: .Lhlt:
xchg %al, %ah xchg %al, %ah
#if CONFIG_IO_POST #if CONFIG_POST_IO
outb %al, $CONFIG_IO_POST_PORT outb %al, $CONFIG_POST_IO_PORT
#else #else
post_code(POST_DEAD_CODE) post_code(POST_DEAD_CODE)
#endif #endif

View File

@ -2,10 +2,10 @@
#include <console/post_codes.h> #include <console/post_codes.h>
#if CONFIG_IO_POST #if CONFIG_POST_IO
#define post_code(value) \ #define post_code(value) \
movb $value, %al; \ movb $value, %al; \
outb %al, $CONFIG_IO_POST_PORT outb %al, $CONFIG_POST_IO_PORT
#else #else
#define post_code(value) #define post_code(value)