summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Żygowski <michal.zygowski@3mdeb.com>2018-06-26 13:12:49 +0200
committerPatrick Georgi <pgeorgi@google.com>2018-07-03 11:03:30 +0000
commit9839eff60a47d835cde88477fba32b0ec0c6b762 (patch)
tree3e600b87060cf0f998e5dabdf6e11223c512a625
parent4f2b558aad76b02b71ec7ff42c69977e0b13fa07 (diff)
downloadcoreboot-9839eff60a47d835cde88477fba32b0ec0c6b762.tar.xz
payloads/iPXE: add iPXE serial enable option
Since SeaBIOS 1.11.0 implements serial console and etc/sercon-port runtime config file is present in CBFS, SeaBIOS additionally redirects iPXE output to configured IO port. For boards which use the same UART for SeaBIOS and iPXE console it causes doubled output. The option is enabled by default and passes UART configuration to iPXE Makefile as before. When unselected, only SeaBIOS handles printing output from iPXE. Change-Id: Ia3c74cfbee4f816782161fcff286a14f46be78c5 Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com> Signed-off-by: Piotr Król <piotr.krol@3mdeb.com> Reviewed-on: https://review.coreboot.org/27302 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Georgi <pgeorgi@google.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
-rw-r--r--payloads/external/Makefile.inc8
-rw-r--r--payloads/external/iPXE/Kconfig9
2 files changed, 16 insertions, 1 deletions
diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc
index 3943db9b87..1d3e7a17d9 100644
--- a/payloads/external/Makefile.inc
+++ b/payloads/external/Makefile.inc
@@ -234,6 +234,12 @@ ifeq ($(CONFIG_CONSOLE_SERIAL)$(CONFIG_DRIVERS_UART_8250IO),yy)
IPXE_UART=COM$(call int-add,$(CONFIG_UART_FOR_CONSOLE) 1)
endif
+ifeq ($(CONFIG_PXE_SERIAL_CONSOLE),y)
+IPXE_SERIAL_CONSOLE = $(CONFIG_CONSOLE_SERIAL)$(CONFIG_DRIVERS_UART_8250IO)
+else
+IPXE_SERIAL_CONSOLE = n
+endif
+
cbfs-files-$(CONFIG_PXE_ROM)$(CONFIG_BUILD_IPXE) += pci$(CONFIG_PXE_ROM_ID).rom
pci$(CONFIG_PXE_ROM_ID).rom-file := $(PXE_ROM_FILE)
pci$(CONFIG_PXE_ROM_ID).rom-type := raw
@@ -244,7 +250,7 @@ payloads/external/iPXE/ipxe/ipxe.rom ipxe: $(DOTCONFIG)
PXE_ROM_PCI_ID=$(PXE_ROM_PCI_ID) \
CONFIG_IPXE_MASTER=$(CONFIG_IPXE_MASTER) \
CONFIG_IPXE_STABLE=$(CONFIG_IPXE_STABLE) \
- CONSOLE_SERIAL=$(CONFIG_CONSOLE_SERIAL)$(CONFIG_DRIVERS_UART_8250IO) \
+ CONSOLE_SERIAL=$(IPXE_SERIAL_CONSOLE) \
IPXE_UART=$(IPXE_UART) \
CONFIG_TTYS0_BAUD=$(CONFIG_TTYS0_BAUD) \
MFLAGS= MAKEFLAGS=
diff --git a/payloads/external/iPXE/Kconfig b/payloads/external/iPXE/Kconfig
index 82114107af..ce0a7aea14 100644
--- a/payloads/external/iPXE/Kconfig
+++ b/payloads/external/iPXE/Kconfig
@@ -78,5 +78,14 @@ config PXE_ROM_ID
Under GNU/Linux you can run `lspci -nn` to list the IDs of your PCI devices.
+config PXE_SERIAL_CONSOLE
+ bool "Enable iPXE serial console"
+ def_bool y
+ help
+ Enable/disable iPXE serial console. Since SeaBIOS supports serial
+ console this option might be helpful to avoid duplicated output.
+
+ Unselect to let only SeaBIOS handle printing output.
+
endmenu
endif