summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/console/Kconfig10
-rw-r--r--src/cpu/x86/entry16.S2
-rw-r--r--src/cpu/x86/entry32.S2
-rw-r--r--src/include/cpu/x86/post_code.h2
4 files changed, 7 insertions, 9 deletions
diff --git a/src/console/Kconfig b/src/console/Kconfig
index 548b701d9f0a..4125e18dd926 100644
--- a/src/console/Kconfig
+++ b/src/console/Kconfig
@@ -464,10 +464,12 @@ config NO_EARLY_BOOTBLOCK_POSTCODES
def_bool n
help
Some chipsets require that the routing for the port 80h POST
- code be configured before any POST codes are sent out.
- This can be done in the boot block, but there are a couple of
- POST codes that go out before the chipset's bootblock initialization
- can happen. This option suppresses those POST codes.
+ code be configured before any POST codes are sent out. If this is
+ not done, the system can hang on the first POST code. This
+ initialization can be done in the boot block, but there are a couple
+ of POST codes that go out before the chipset's C bootblock
+ initialization can happen. This option suppresses all postcodes in
+ the early assembly code.
config HWBASE_DEBUG_CB
bool
diff --git a/src/cpu/x86/entry16.S b/src/cpu/x86/entry16.S
index 147906fe4de1..d045c5493736 100644
--- a/src/cpu/x86/entry16.S
+++ b/src/cpu/x86/entry16.S
@@ -43,9 +43,7 @@ _start16bit:
cli
/* Save the BIST result */
movl %eax, %ebp
-#if !CONFIG(NO_EARLY_BOOTBLOCK_POSTCODES)
post_code(POST_RESET_VECTOR_CORRECT)
-#endif
/* IMMEDIATELY invalidate the translation lookaside buffer (TLB) before
* executing any further code. Even though paging is disabled we
diff --git a/src/cpu/x86/entry32.S b/src/cpu/x86/entry32.S
index 639ab36a5785..ad4a7d032b2d 100644
--- a/src/cpu/x86/entry32.S
+++ b/src/cpu/x86/entry32.S
@@ -31,9 +31,7 @@ bootblock_protected_mode_entry:
/* Save the BIST value */
movl %eax, %ebp
-#if !CONFIG(NO_EARLY_BOOTBLOCK_POSTCODES)
post_code(POST_ENTER_PROTECTED_MODE)
-#endif
movw $ROM_DATA_SEG, %ax
movw %ax, %ds
diff --git a/src/include/cpu/x86/post_code.h b/src/include/cpu/x86/post_code.h
index 077f964335dd..de1100607ad3 100644
--- a/src/include/cpu/x86/post_code.h
+++ b/src/include/cpu/x86/post_code.h
@@ -3,7 +3,7 @@
#include <console/post_codes.h>
-#if CONFIG(POST_IO)
+#if CONFIG(POST_IO) && !(ENV_BOOTBLOCK && CONFIG(NO_EARLY_BOOTBLOCK_POSTCODES))
#define post_code(value) \
movb $value, %al; \
outb %al, $CONFIG_POST_IO_PORT