Nico Huber has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/30891
Change subject: console: Change BOOTBLOCK_CONSOLE default to `y` ......................................................................
console: Change BOOTBLOCK_CONSOLE default to `y`
Invert the default instead of selecting it everywhere. Restores the ability to use its Kconfig prompt.
Change-Id: I7c5b671b7dddb5c6535c97c2cbb5f5053909dc64 Signed-off-by: Nico Huber nico.h@gmx.de --- M src/console/Kconfig M src/cpu/allwinner/a10/Kconfig M src/cpu/ti/am335x/Kconfig M src/mainboard/emulation/qemu-armv7/Kconfig M src/mainboard/emulation/qemu-i440fx/Kconfig M src/mainboard/emulation/qemu-q35/Kconfig M src/mainboard/google/urara/Kconfig M src/mainboard/intel/galileo/Kconfig M src/soc/amd/stoneyridge/Kconfig M src/soc/cavium/cn81xx/Kconfig M src/soc/intel/apollolake/Kconfig M src/soc/intel/denverton_ns/Kconfig M src/soc/intel/skylake/Kconfig M src/soc/mediatek/mt8173/Kconfig M src/soc/mediatek/mt8183/Kconfig M src/soc/nvidia/tegra124/Kconfig M src/soc/nvidia/tegra210/Kconfig M src/soc/qualcomm/ipq40xx/Kconfig M src/soc/qualcomm/ipq806x/Kconfig M src/soc/qualcomm/sdm845/Kconfig M src/soc/rockchip/rk3288/Kconfig M src/soc/rockchip/rk3399/Kconfig M src/soc/samsung/exynos5250/Kconfig M src/soc/sifive/fu540/Kconfig M src/soc/ucb/riscv/Kconfig 25 files changed, 1 insertion(+), 25 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/91/30891/1
diff --git a/src/console/Kconfig b/src/console/Kconfig index 9cacab0..82f7441 100644 --- a/src/console/Kconfig +++ b/src/console/Kconfig @@ -3,7 +3,7 @@ config BOOTBLOCK_CONSOLE bool "Enable early (bootblock) console output." depends on C_ENVIRONMENT_BOOTBLOCK - default n + default y help Use console during the bootblock if supported
diff --git a/src/cpu/allwinner/a10/Kconfig b/src/cpu/allwinner/a10/Kconfig index 6451b4a..87693ed 100644 --- a/src/cpu/allwinner/a10/Kconfig +++ b/src/cpu/allwinner/a10/Kconfig @@ -12,7 +12,6 @@ select ARCH_RAMSTAGE_ARMV7 select HAVE_MONOTONIC_TIMER select HAVE_UART_SPECIAL - select BOOTBLOCK_CONSOLE select UART_OVERRIDE_REFCLK select BOOT_DEVICE_NOT_SPI_FLASH
diff --git a/src/cpu/ti/am335x/Kconfig b/src/cpu/ti/am335x/Kconfig index 939bca7..20e7458 100644 --- a/src/cpu/ti/am335x/Kconfig +++ b/src/cpu/ti/am335x/Kconfig @@ -5,7 +5,6 @@ select ARCH_RAMSTAGE_ARMV7 select HAVE_MONOTONIC_TIMER select HAVE_UART_SPECIAL - select BOOTBLOCK_CONSOLE select GENERIC_UDELAY select UART_OVERRIDE_REFCLK select BOOT_DEVICE_NOT_SPI_FLASH diff --git a/src/mainboard/emulation/qemu-armv7/Kconfig b/src/mainboard/emulation/qemu-armv7/Kconfig index c24bf68..0bb5f3a 100644 --- a/src/mainboard/emulation/qemu-armv7/Kconfig +++ b/src/mainboard/emulation/qemu-armv7/Kconfig @@ -25,7 +25,6 @@ def_bool y select CPU_ARMLTD_CORTEX_A9 select DRIVERS_UART_PL011 - select BOOTBLOCK_CONSOLE select CONSOLE_SERIAL select MAINBOARD_HAS_NATIVE_VGA_INIT select MAINBOARD_FORCE_NATIVE_VGA_INIT diff --git a/src/mainboard/emulation/qemu-i440fx/Kconfig b/src/mainboard/emulation/qemu-i440fx/Kconfig index eb9f011..78ca2d9 100644 --- a/src/mainboard/emulation/qemu-i440fx/Kconfig +++ b/src/mainboard/emulation/qemu-i440fx/Kconfig @@ -12,7 +12,6 @@ select BOARD_ROMSIZE_KB_256 select MAINBOARD_HAS_NATIVE_VGA_INIT select MAINBOARD_FORCE_NATIVE_VGA_INIT - select BOOTBLOCK_CONSOLE select NO_CAR_GLOBAL_MIGRATION
config MAINBOARD_DIR diff --git a/src/mainboard/emulation/qemu-q35/Kconfig b/src/mainboard/emulation/qemu-q35/Kconfig index 1cc7148..1ceb62c 100644 --- a/src/mainboard/emulation/qemu-q35/Kconfig +++ b/src/mainboard/emulation/qemu-q35/Kconfig @@ -11,7 +11,6 @@ select BOARD_ROMSIZE_KB_2048 select MAINBOARD_HAS_NATIVE_VGA_INIT select MAINBOARD_FORCE_NATIVE_VGA_INIT - select BOOTBLOCK_CONSOLE select NO_CAR_GLOBAL_MIGRATION
config MAINBOARD_DIR diff --git a/src/mainboard/google/urara/Kconfig b/src/mainboard/google/urara/Kconfig index 3d415c4..19d5c41 100644 --- a/src/mainboard/google/urara/Kconfig +++ b/src/mainboard/google/urara/Kconfig @@ -19,7 +19,6 @@ config BOARD_SPECIFIC_OPTIONS def_bool y select BOARD_ROMSIZE_KB_512 - select BOOTBLOCK_CONSOLE select SPI_FLASH_WINBOND select CPU_IMGTEC_PISTACHIO select COMMON_CBFS_SPI_WRAPPER diff --git a/src/mainboard/intel/galileo/Kconfig b/src/mainboard/intel/galileo/Kconfig index 87f82bc..bddc036 100644 --- a/src/mainboard/intel/galileo/Kconfig +++ b/src/mainboard/intel/galileo/Kconfig @@ -133,7 +133,6 @@ depends on FSP_VERSION_2_0 || FSP_VERSION_1_1 default y # Enable display and verification for coreboot build tests - select BOOTBLOCK_CONSOLE select DISPLAY_HOBS select DISPLAY_MTRRS select DISPLAY_SMM_MEMORY_MAP diff --git a/src/soc/amd/stoneyridge/Kconfig b/src/soc/amd/stoneyridge/Kconfig index 03a40cc..80798d9 100644 --- a/src/soc/amd/stoneyridge/Kconfig +++ b/src/soc/amd/stoneyridge/Kconfig @@ -52,7 +52,6 @@ select SOC_AMD_COMMON_BLOCK_CAR select SOC_AMD_COMMON_BLOCK_S3 if HAVE_ACPI_RESUME select C_ENVIRONMENT_BOOTBLOCK - select BOOTBLOCK_CONSOLE select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH select CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM diff --git a/src/soc/cavium/cn81xx/Kconfig b/src/soc/cavium/cn81xx/Kconfig index 24d386c..4bf2e65 100644 --- a/src/soc/cavium/cn81xx/Kconfig +++ b/src/soc/cavium/cn81xx/Kconfig @@ -5,7 +5,6 @@ select ARCH_RAMSTAGE_ARMV8_64 select ARCH_ROMSTAGE_ARMV8_64 select ARCH_VERSTAGE_ARMV8_64 - select BOOTBLOCK_CONSOLE select DRIVERS_UART_PL011 select GENERIC_UDELAY select HAVE_MONOTONIC_TIMER diff --git a/src/soc/intel/apollolake/Kconfig b/src/soc/intel/apollolake/Kconfig index dcf1b1a..ef7fa47 100644 --- a/src/soc/intel/apollolake/Kconfig +++ b/src/soc/intel/apollolake/Kconfig @@ -24,7 +24,6 @@ select ARCH_RAMSTAGE_X86_32 select ARCH_ROMSTAGE_X86_32 select ARCH_VERSTAGE_X86_32 - select BOOTBLOCK_CONSOLE select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH select BOOT_DEVICE_SUPPORTS_WRITES # CPU specific options diff --git a/src/soc/intel/denverton_ns/Kconfig b/src/soc/intel/denverton_ns/Kconfig index 5b704b9..1096549 100644 --- a/src/soc/intel/denverton_ns/Kconfig +++ b/src/soc/intel/denverton_ns/Kconfig @@ -26,7 +26,6 @@ select ARCH_RAMSTAGE_X86_32 select ARCH_ROMSTAGE_X86_32 select ARCH_VERSTAGE_X86_32 - select BOOTBLOCK_CONSOLE select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH select BOOT_DEVICE_SUPPORTS_WRITES select DEBUG_GPIO diff --git a/src/soc/intel/skylake/Kconfig b/src/soc/intel/skylake/Kconfig index 7dcf8a9..442b09a 100644 --- a/src/soc/intel/skylake/Kconfig +++ b/src/soc/intel/skylake/Kconfig @@ -20,7 +20,6 @@ select ARCH_RAMSTAGE_X86_32 select ARCH_ROMSTAGE_X86_32 select ARCH_VERSTAGE_X86_32 - select BOOTBLOCK_CONSOLE select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH select BOOT_DEVICE_SUPPORTS_WRITES select CACHE_MRC_SETTINGS diff --git a/src/soc/mediatek/mt8173/Kconfig b/src/soc/mediatek/mt8173/Kconfig index cf0c8d9..b0d6fa0 100644 --- a/src/soc/mediatek/mt8173/Kconfig +++ b/src/soc/mediatek/mt8173/Kconfig @@ -7,7 +7,6 @@ select ARCH_ROMSTAGE_ARMV8_64 select ARCH_VERSTAGE_ARMV8_64 select ARM64_USE_ARM_TRUSTED_FIRMWARE - select BOOTBLOCK_CONSOLE select HAVE_UART_SPECIAL select HAVE_MONOTONIC_TIMER select GENERIC_UDELAY diff --git a/src/soc/mediatek/mt8183/Kconfig b/src/soc/mediatek/mt8183/Kconfig index 51c6df3..6582e4e 100644 --- a/src/soc/mediatek/mt8183/Kconfig +++ b/src/soc/mediatek/mt8183/Kconfig @@ -6,7 +6,6 @@ select ARCH_ROMSTAGE_ARMV8_64 select ARCH_VERSTAGE_ARMV8_64 select ARM64_USE_ARM_TRUSTED_FIRMWARE - select BOOTBLOCK_CONSOLE select GENERIC_UDELAY select HAVE_UART_SPECIAL select HAVE_MONOTONIC_TIMER diff --git a/src/soc/nvidia/tegra124/Kconfig b/src/soc/nvidia/tegra124/Kconfig index 0e83774..eecb59b 100644 --- a/src/soc/nvidia/tegra124/Kconfig +++ b/src/soc/nvidia/tegra124/Kconfig @@ -9,7 +9,6 @@ select HAVE_UART_SPECIAL select HAVE_MONOTONIC_TIMER select GENERIC_UDELAY - select BOOTBLOCK_CONSOLE select ARM_LPAE select GENERIC_GPIO_LIB select MAINBOARD_HAS_NATIVE_VGA_INIT diff --git a/src/soc/nvidia/tegra210/Kconfig b/src/soc/nvidia/tegra210/Kconfig index 44e4719..8883baa 100644 --- a/src/soc/nvidia/tegra210/Kconfig +++ b/src/soc/nvidia/tegra210/Kconfig @@ -6,7 +6,6 @@ select ARCH_VERSTAGE_ARMV4 select ARCH_ROMSTAGE_ARMV4 select ARCH_RAMSTAGE_ARMV8_64 - select BOOTBLOCK_CONSOLE select GIC select HAVE_MONOTONIC_TIMER select GENERIC_UDELAY diff --git a/src/soc/qualcomm/ipq40xx/Kconfig b/src/soc/qualcomm/ipq40xx/Kconfig index 2cfcd2d..72e05fa 100644 --- a/src/soc/qualcomm/ipq40xx/Kconfig +++ b/src/soc/qualcomm/ipq40xx/Kconfig @@ -5,7 +5,6 @@ select ARCH_VERSTAGE_ARMV7 select ARCH_ROMSTAGE_ARMV7 select ARCH_RAMSTAGE_ARMV7 - select BOOTBLOCK_CONSOLE select HAVE_UART_SPECIAL select GENERIC_GPIO_LIB select HAVE_MONOTONIC_TIMER diff --git a/src/soc/qualcomm/ipq806x/Kconfig b/src/soc/qualcomm/ipq806x/Kconfig index a6262d0..0b112d9 100644 --- a/src/soc/qualcomm/ipq806x/Kconfig +++ b/src/soc/qualcomm/ipq806x/Kconfig @@ -5,7 +5,6 @@ select ARCH_VERSTAGE_ARMV7 select ARCH_ROMSTAGE_ARMV7 select ARCH_RAMSTAGE_ARMV7 - select BOOTBLOCK_CONSOLE select HAVE_UART_SPECIAL select GENERIC_GPIO_LIB
diff --git a/src/soc/qualcomm/sdm845/Kconfig b/src/soc/qualcomm/sdm845/Kconfig index 9af1954..c0e3294 100644 --- a/src/soc/qualcomm/sdm845/Kconfig +++ b/src/soc/qualcomm/sdm845/Kconfig @@ -6,7 +6,6 @@ select ARCH_RAMSTAGE_ARMV8_64 select ARCH_ROMSTAGE_ARMV8_64 select ARCH_VERSTAGE_ARMV8_64 - select BOOTBLOCK_CONSOLE select GENERIC_GPIO_LIB select GENERIC_UDELAY select HAVE_MONOTONIC_TIMER diff --git a/src/soc/rockchip/rk3288/Kconfig b/src/soc/rockchip/rk3288/Kconfig index e0fd718..53666c2 100644 --- a/src/soc/rockchip/rk3288/Kconfig +++ b/src/soc/rockchip/rk3288/Kconfig @@ -23,7 +23,6 @@ select DRIVERS_UART_8250MEM_32 select HAVE_MONOTONIC_TIMER select GENERIC_UDELAY - select BOOTBLOCK_CONSOLE select UNCOMPRESSED_RAMSTAGE select GENERIC_GPIO_LIB select RTC diff --git a/src/soc/rockchip/rk3399/Kconfig b/src/soc/rockchip/rk3399/Kconfig index 440981b..6e45df3 100644 --- a/src/soc/rockchip/rk3399/Kconfig +++ b/src/soc/rockchip/rk3399/Kconfig @@ -6,7 +6,6 @@ select ARCH_ROMSTAGE_ARMV8_64 select ARCH_VERSTAGE_ARMV8_64 select ARM64_USE_ARM_TRUSTED_FIRMWARE - select BOOTBLOCK_CONSOLE select DRIVERS_UART_8250MEM_32 select GENERIC_GPIO_LIB select GENERIC_UDELAY diff --git a/src/soc/samsung/exynos5250/Kconfig b/src/soc/samsung/exynos5250/Kconfig index 1c92c71..5b39724 100644 --- a/src/soc/samsung/exynos5250/Kconfig +++ b/src/soc/samsung/exynos5250/Kconfig @@ -6,7 +6,6 @@ select HAVE_MONOTONIC_TIMER select GENERIC_UDELAY select HAVE_UART_SPECIAL - select BOOTBLOCK_CONSOLE bool default n
diff --git a/src/soc/sifive/fu540/Kconfig b/src/soc/sifive/fu540/Kconfig index 795f51b..25b4b46 100644 --- a/src/soc/sifive/fu540/Kconfig +++ b/src/soc/sifive/fu540/Kconfig @@ -18,7 +18,6 @@ select ARCH_VERSTAGE_RISCV select ARCH_ROMSTAGE_RISCV select ARCH_RAMSTAGE_RISCV - select BOOTBLOCK_CONSOLE select DRIVERS_UART_SIFIVE select GENERIC_UDELAY select HAVE_MONOTONIC_TIMER diff --git a/src/soc/ucb/riscv/Kconfig b/src/soc/ucb/riscv/Kconfig index 99b0490..638d734 100644 --- a/src/soc/ucb/riscv/Kconfig +++ b/src/soc/ucb/riscv/Kconfig @@ -4,7 +4,6 @@ select ARCH_VERSTAGE_RISCV select ARCH_ROMSTAGE_RISCV select ARCH_RAMSTAGE_RISCV - select BOOTBLOCK_CONSOLE select GENERIC_UDELAY select HAVE_MONOTONIC_TIMER select RISCV_USE_ARCH_TIMER
Hello Patrick Rudolph, ron minnich, Vanny E, Julius Werner, Jonathan Neuschäfer, build bot (Jenkins), Philipp Hug, David Guckian,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/30891
to look at the new patch set (#2).
Change subject: console: Change BOOTBLOCK_CONSOLE default to `y` ......................................................................
console: Change BOOTBLOCK_CONSOLE default to `y`
Invert the default instead of selecting it everywhere. Restores the ability to use its Kconfig prompt.
Beside Qemu targets, the only platforms that didn't select it seem to be samsung/exynos5420, intel/cannonlake, and intel/icelake. The latter two were about to be patched anyway.
Change-Id: I7c5b671b7dddb5c6535c97c2cbb5f5053909dc64 Signed-off-by: Nico Huber nico.h@gmx.de --- M src/console/Kconfig M src/cpu/allwinner/a10/Kconfig M src/cpu/ti/am335x/Kconfig M src/mainboard/emulation/qemu-armv7/Kconfig M src/mainboard/emulation/qemu-i440fx/Kconfig M src/mainboard/emulation/qemu-q35/Kconfig M src/mainboard/google/urara/Kconfig M src/mainboard/intel/galileo/Kconfig M src/soc/amd/stoneyridge/Kconfig M src/soc/cavium/cn81xx/Kconfig M src/soc/intel/apollolake/Kconfig M src/soc/intel/denverton_ns/Kconfig M src/soc/intel/skylake/Kconfig M src/soc/mediatek/mt8173/Kconfig M src/soc/mediatek/mt8183/Kconfig M src/soc/nvidia/tegra124/Kconfig M src/soc/nvidia/tegra210/Kconfig M src/soc/qualcomm/ipq40xx/Kconfig M src/soc/qualcomm/ipq806x/Kconfig M src/soc/qualcomm/sdm845/Kconfig M src/soc/rockchip/rk3288/Kconfig M src/soc/rockchip/rk3399/Kconfig M src/soc/samsung/exynos5250/Kconfig M src/soc/sifive/fu540/Kconfig M src/soc/ucb/riscv/Kconfig 25 files changed, 1 insertion(+), 25 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/91/30891/2
Kyösti Mälkki has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/30891 )
Change subject: console: Change BOOTBLOCK_CONSOLE default to `y` ......................................................................
Patch Set 2:
Can we make a ruling that BOOTBLOCK_CONSOLE=n will also remove verstage console?
Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/30891 )
Change subject: console: Change BOOTBLOCK_CONSOLE default to `y` ......................................................................
Patch Set 2:
Can we make a ruling that BOOTBLOCK_CONSOLE=n will also remove verstage console?
Technically, that's easy to do, just set its default accordingly. We could also enforce it by adding an `if BOOTBLOCK_CONSOLE` to its prompt. Then the default should also trigger with an old config.
I would welcome the default change. Not sure about enforcing it.
Kyösti Mälkki has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/30891 )
Change subject: console: Change BOOTBLOCK_CONSOLE default to `y` ......................................................................
Patch Set 2:
Patch Set 2:
Can we make a ruling that BOOTBLOCK_CONSOLE=n will also remove verstage console?
Technically, that's easy to do, just set its default accordingly. We could also enforce it by adding an `if BOOTBLOCK_CONSOLE` to its prompt. Then the default should also trigger with an old config.
I would welcome the default change. Not sure about enforcing it.
There is no VERSTAGE_CONSOLE. For simplicity, I feel verstage could live without the knowledge of how to configure console from scratch. Specially usbdebug.
A related question; even with BOOTBLOCK_CONSOLE=n, should mainboard bootblock do LPC configuration?
Arthur Heymans has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/30891 )
Change subject: console: Change BOOTBLOCK_CONSOLE default to `y` ......................................................................
Patch Set 2:
Patch Set 2:
Patch Set 2:
Can we make a ruling that BOOTBLOCK_CONSOLE=n will also remove verstage console?
Technically, that's easy to do, just set its default accordingly. We could also enforce it by adding an `if BOOTBLOCK_CONSOLE` to its prompt. Then the default should also trigger with an old config.
I would welcome the default change. Not sure about enforcing it.
There is no VERSTAGE_CONSOLE. For simplicity, I feel verstage could live without the knowledge of how to configure console from scratch. Specially usbdebug.
A related question; even with BOOTBLOCK_CONSOLE=n, should mainboard bootblock do LPC configuration?
The romstage depends on the configuration I think.
Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/30891 )
Change subject: console: Change BOOTBLOCK_CONSOLE default to `y` ......................................................................
Patch Set 2:
There is no VERSTAGE_CONSOLE. For simplicity, I feel verstage could live without the knowledge of how to configure console from scratch. Specially usbdebug.
Ah, misunderstood you there. So basically, you want to drop the hardware initialization part of console_init() in verstage_main()? Then, only enable printk() if BOOTBLOCK_CONSOLE?
A related question; even with BOOTBLOCK_CONSOLE=n, should mainboard bootblock do LPC configuration?
I'd say yes. My current ports always initialize the path to the UART and its resources in the bootblock; and don't repeat that later. `git grep IS_ENABLED(CONFIG_BOOTBLOCK_CONSOLE)` doesn't suggest anything else.
Lijian Zhao has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/30891 )
Change subject: console: Change BOOTBLOCK_CONSOLE default to `y` ......................................................................
Patch Set 2: Code-Review+1
Lijian Zhao has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/30891 )
Change subject: console: Change BOOTBLOCK_CONSOLE default to `y` ......................................................................
Patch Set 2:
Patch Set 2:
Patch Set 2:
Can we make a ruling that BOOTBLOCK_CONSOLE=n will also remove verstage console?
Technically, that's easy to do, just set its default accordingly. We could also enforce it by adding an `if BOOTBLOCK_CONSOLE` to its prompt. Then the default should also trigger with an old config.
I would welcome the default change. Not sure about enforcing it.
There is no VERSTAGE_CONSOLE. For simplicity, I feel verstage could live without the knowledge of how to configure console from scratch. Specially usbdebug.
A related question; even with BOOTBLOCK_CONSOLE=n, should mainboard bootblock do LPC configuration?
BTW, usbdebug had been confirmed working again? I thought most people can't find the EHCI debug cable as that company maybe already gone, so you guys test with what kind of cable for console over USB cable?
Kyösti Mälkki has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/30891 )
Change subject: console: Change BOOTBLOCK_CONSOLE default to `y` ......................................................................
Patch Set 2:
BTW, usbdebug had been confirmed working again? I thought most people can't find the EHCI debug cable as that company maybe already gone, so you guys test with what kind of cable for console over USB cable?
For five years usbdebug has been the first choice of debug method coreboot developers have with laptops. Most of us use Beaglebone Black, which appears as compatible to NET20DC and works with linux kernel usbdebug too. Same with Raspberry PI Zero W. Any ARM SoCs with USB2.0 OTG port in device mode should do, some require kernel patching.
FTx232H USB-UART work with coreboot and grub, but not with OS kernels.
There is also 100% Net20DC compatible DIY version, if one requires MS kernel debugger compatibility.
Kyösti Mälkki has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/30891 )
Change subject: console: Change BOOTBLOCK_CONSOLE default to `y` ......................................................................
Patch Set 2: Code-Review+2
Patrick Georgi has submitted this change and it was merged. ( https://review.coreboot.org/c/coreboot/+/30891 )
Change subject: console: Change BOOTBLOCK_CONSOLE default to `y` ......................................................................
console: Change BOOTBLOCK_CONSOLE default to `y`
Invert the default instead of selecting it everywhere. Restores the ability to use its Kconfig prompt.
Beside Qemu targets, the only platforms that didn't select it seem to be samsung/exynos5420, intel/cannonlake, and intel/icelake. The latter two were about to be patched anyway.
Change-Id: I7c5b671b7dddb5c6535c97c2cbb5f5053909dc64 Signed-off-by: Nico Huber nico.h@gmx.de Reviewed-on: https://review.coreboot.org/c/30891 Reviewed-by: Lijian Zhao lijian.zhao@intel.com Reviewed-by: Kyösti Mälkki kyosti.malkki@gmail.com Tested-by: build bot (Jenkins) no-reply@coreboot.org --- M src/console/Kconfig M src/cpu/allwinner/a10/Kconfig M src/cpu/ti/am335x/Kconfig M src/mainboard/emulation/qemu-armv7/Kconfig M src/mainboard/emulation/qemu-i440fx/Kconfig M src/mainboard/emulation/qemu-q35/Kconfig M src/mainboard/google/urara/Kconfig M src/mainboard/intel/galileo/Kconfig M src/soc/amd/stoneyridge/Kconfig M src/soc/cavium/cn81xx/Kconfig M src/soc/intel/apollolake/Kconfig M src/soc/intel/denverton_ns/Kconfig M src/soc/intel/skylake/Kconfig M src/soc/mediatek/mt8173/Kconfig M src/soc/mediatek/mt8183/Kconfig M src/soc/nvidia/tegra124/Kconfig M src/soc/nvidia/tegra210/Kconfig M src/soc/qualcomm/ipq40xx/Kconfig M src/soc/qualcomm/ipq806x/Kconfig M src/soc/qualcomm/sdm845/Kconfig M src/soc/rockchip/rk3288/Kconfig M src/soc/rockchip/rk3399/Kconfig M src/soc/samsung/exynos5250/Kconfig M src/soc/sifive/fu540/Kconfig M src/soc/ucb/riscv/Kconfig 25 files changed, 1 insertion(+), 25 deletions(-)
Approvals: build bot (Jenkins): Verified Kyösti Mälkki: Looks good to me, approved Lijian Zhao: Looks good to me, but someone else must approve
diff --git a/src/console/Kconfig b/src/console/Kconfig index 9cacab0..82f7441 100644 --- a/src/console/Kconfig +++ b/src/console/Kconfig @@ -3,7 +3,7 @@ config BOOTBLOCK_CONSOLE bool "Enable early (bootblock) console output." depends on C_ENVIRONMENT_BOOTBLOCK - default n + default y help Use console during the bootblock if supported
diff --git a/src/cpu/allwinner/a10/Kconfig b/src/cpu/allwinner/a10/Kconfig index 6451b4a..87693ed 100644 --- a/src/cpu/allwinner/a10/Kconfig +++ b/src/cpu/allwinner/a10/Kconfig @@ -12,7 +12,6 @@ select ARCH_RAMSTAGE_ARMV7 select HAVE_MONOTONIC_TIMER select HAVE_UART_SPECIAL - select BOOTBLOCK_CONSOLE select UART_OVERRIDE_REFCLK select BOOT_DEVICE_NOT_SPI_FLASH
diff --git a/src/cpu/ti/am335x/Kconfig b/src/cpu/ti/am335x/Kconfig index 939bca7..20e7458 100644 --- a/src/cpu/ti/am335x/Kconfig +++ b/src/cpu/ti/am335x/Kconfig @@ -5,7 +5,6 @@ select ARCH_RAMSTAGE_ARMV7 select HAVE_MONOTONIC_TIMER select HAVE_UART_SPECIAL - select BOOTBLOCK_CONSOLE select GENERIC_UDELAY select UART_OVERRIDE_REFCLK select BOOT_DEVICE_NOT_SPI_FLASH diff --git a/src/mainboard/emulation/qemu-armv7/Kconfig b/src/mainboard/emulation/qemu-armv7/Kconfig index c24bf68..0bb5f3a 100644 --- a/src/mainboard/emulation/qemu-armv7/Kconfig +++ b/src/mainboard/emulation/qemu-armv7/Kconfig @@ -25,7 +25,6 @@ def_bool y select CPU_ARMLTD_CORTEX_A9 select DRIVERS_UART_PL011 - select BOOTBLOCK_CONSOLE select CONSOLE_SERIAL select MAINBOARD_HAS_NATIVE_VGA_INIT select MAINBOARD_FORCE_NATIVE_VGA_INIT diff --git a/src/mainboard/emulation/qemu-i440fx/Kconfig b/src/mainboard/emulation/qemu-i440fx/Kconfig index eb9f011..78ca2d9 100644 --- a/src/mainboard/emulation/qemu-i440fx/Kconfig +++ b/src/mainboard/emulation/qemu-i440fx/Kconfig @@ -12,7 +12,6 @@ select BOARD_ROMSIZE_KB_256 select MAINBOARD_HAS_NATIVE_VGA_INIT select MAINBOARD_FORCE_NATIVE_VGA_INIT - select BOOTBLOCK_CONSOLE select NO_CAR_GLOBAL_MIGRATION
config MAINBOARD_DIR diff --git a/src/mainboard/emulation/qemu-q35/Kconfig b/src/mainboard/emulation/qemu-q35/Kconfig index 1cc7148..1ceb62c 100644 --- a/src/mainboard/emulation/qemu-q35/Kconfig +++ b/src/mainboard/emulation/qemu-q35/Kconfig @@ -11,7 +11,6 @@ select BOARD_ROMSIZE_KB_2048 select MAINBOARD_HAS_NATIVE_VGA_INIT select MAINBOARD_FORCE_NATIVE_VGA_INIT - select BOOTBLOCK_CONSOLE select NO_CAR_GLOBAL_MIGRATION
config MAINBOARD_DIR diff --git a/src/mainboard/google/urara/Kconfig b/src/mainboard/google/urara/Kconfig index 3d415c4..19d5c41 100644 --- a/src/mainboard/google/urara/Kconfig +++ b/src/mainboard/google/urara/Kconfig @@ -19,7 +19,6 @@ config BOARD_SPECIFIC_OPTIONS def_bool y select BOARD_ROMSIZE_KB_512 - select BOOTBLOCK_CONSOLE select SPI_FLASH_WINBOND select CPU_IMGTEC_PISTACHIO select COMMON_CBFS_SPI_WRAPPER diff --git a/src/mainboard/intel/galileo/Kconfig b/src/mainboard/intel/galileo/Kconfig index 87f82bc..bddc036 100644 --- a/src/mainboard/intel/galileo/Kconfig +++ b/src/mainboard/intel/galileo/Kconfig @@ -133,7 +133,6 @@ depends on FSP_VERSION_2_0 || FSP_VERSION_1_1 default y # Enable display and verification for coreboot build tests - select BOOTBLOCK_CONSOLE select DISPLAY_HOBS select DISPLAY_MTRRS select DISPLAY_SMM_MEMORY_MAP diff --git a/src/soc/amd/stoneyridge/Kconfig b/src/soc/amd/stoneyridge/Kconfig index 03a40cc..80798d9 100644 --- a/src/soc/amd/stoneyridge/Kconfig +++ b/src/soc/amd/stoneyridge/Kconfig @@ -52,7 +52,6 @@ select SOC_AMD_COMMON_BLOCK_CAR select SOC_AMD_COMMON_BLOCK_S3 if HAVE_ACPI_RESUME select C_ENVIRONMENT_BOOTBLOCK - select BOOTBLOCK_CONSOLE select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH select CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM diff --git a/src/soc/cavium/cn81xx/Kconfig b/src/soc/cavium/cn81xx/Kconfig index 24d386c..4bf2e65 100644 --- a/src/soc/cavium/cn81xx/Kconfig +++ b/src/soc/cavium/cn81xx/Kconfig @@ -5,7 +5,6 @@ select ARCH_RAMSTAGE_ARMV8_64 select ARCH_ROMSTAGE_ARMV8_64 select ARCH_VERSTAGE_ARMV8_64 - select BOOTBLOCK_CONSOLE select DRIVERS_UART_PL011 select GENERIC_UDELAY select HAVE_MONOTONIC_TIMER diff --git a/src/soc/intel/apollolake/Kconfig b/src/soc/intel/apollolake/Kconfig index dcf1b1a..ef7fa47 100644 --- a/src/soc/intel/apollolake/Kconfig +++ b/src/soc/intel/apollolake/Kconfig @@ -24,7 +24,6 @@ select ARCH_RAMSTAGE_X86_32 select ARCH_ROMSTAGE_X86_32 select ARCH_VERSTAGE_X86_32 - select BOOTBLOCK_CONSOLE select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH select BOOT_DEVICE_SUPPORTS_WRITES # CPU specific options diff --git a/src/soc/intel/denverton_ns/Kconfig b/src/soc/intel/denverton_ns/Kconfig index 5b704b9..1096549 100644 --- a/src/soc/intel/denverton_ns/Kconfig +++ b/src/soc/intel/denverton_ns/Kconfig @@ -26,7 +26,6 @@ select ARCH_RAMSTAGE_X86_32 select ARCH_ROMSTAGE_X86_32 select ARCH_VERSTAGE_X86_32 - select BOOTBLOCK_CONSOLE select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH select BOOT_DEVICE_SUPPORTS_WRITES select DEBUG_GPIO diff --git a/src/soc/intel/skylake/Kconfig b/src/soc/intel/skylake/Kconfig index 7dcf8a9..442b09a 100644 --- a/src/soc/intel/skylake/Kconfig +++ b/src/soc/intel/skylake/Kconfig @@ -20,7 +20,6 @@ select ARCH_RAMSTAGE_X86_32 select ARCH_ROMSTAGE_X86_32 select ARCH_VERSTAGE_X86_32 - select BOOTBLOCK_CONSOLE select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH select BOOT_DEVICE_SUPPORTS_WRITES select CACHE_MRC_SETTINGS diff --git a/src/soc/mediatek/mt8173/Kconfig b/src/soc/mediatek/mt8173/Kconfig index cf0c8d9..b0d6fa0 100644 --- a/src/soc/mediatek/mt8173/Kconfig +++ b/src/soc/mediatek/mt8173/Kconfig @@ -7,7 +7,6 @@ select ARCH_ROMSTAGE_ARMV8_64 select ARCH_VERSTAGE_ARMV8_64 select ARM64_USE_ARM_TRUSTED_FIRMWARE - select BOOTBLOCK_CONSOLE select HAVE_UART_SPECIAL select HAVE_MONOTONIC_TIMER select GENERIC_UDELAY diff --git a/src/soc/mediatek/mt8183/Kconfig b/src/soc/mediatek/mt8183/Kconfig index 51c6df3..6582e4e 100644 --- a/src/soc/mediatek/mt8183/Kconfig +++ b/src/soc/mediatek/mt8183/Kconfig @@ -6,7 +6,6 @@ select ARCH_ROMSTAGE_ARMV8_64 select ARCH_VERSTAGE_ARMV8_64 select ARM64_USE_ARM_TRUSTED_FIRMWARE - select BOOTBLOCK_CONSOLE select GENERIC_UDELAY select HAVE_UART_SPECIAL select HAVE_MONOTONIC_TIMER diff --git a/src/soc/nvidia/tegra124/Kconfig b/src/soc/nvidia/tegra124/Kconfig index 0e83774..eecb59b 100644 --- a/src/soc/nvidia/tegra124/Kconfig +++ b/src/soc/nvidia/tegra124/Kconfig @@ -9,7 +9,6 @@ select HAVE_UART_SPECIAL select HAVE_MONOTONIC_TIMER select GENERIC_UDELAY - select BOOTBLOCK_CONSOLE select ARM_LPAE select GENERIC_GPIO_LIB select MAINBOARD_HAS_NATIVE_VGA_INIT diff --git a/src/soc/nvidia/tegra210/Kconfig b/src/soc/nvidia/tegra210/Kconfig index 44e4719..8883baa 100644 --- a/src/soc/nvidia/tegra210/Kconfig +++ b/src/soc/nvidia/tegra210/Kconfig @@ -6,7 +6,6 @@ select ARCH_VERSTAGE_ARMV4 select ARCH_ROMSTAGE_ARMV4 select ARCH_RAMSTAGE_ARMV8_64 - select BOOTBLOCK_CONSOLE select GIC select HAVE_MONOTONIC_TIMER select GENERIC_UDELAY diff --git a/src/soc/qualcomm/ipq40xx/Kconfig b/src/soc/qualcomm/ipq40xx/Kconfig index 2cfcd2d..72e05fa 100644 --- a/src/soc/qualcomm/ipq40xx/Kconfig +++ b/src/soc/qualcomm/ipq40xx/Kconfig @@ -5,7 +5,6 @@ select ARCH_VERSTAGE_ARMV7 select ARCH_ROMSTAGE_ARMV7 select ARCH_RAMSTAGE_ARMV7 - select BOOTBLOCK_CONSOLE select HAVE_UART_SPECIAL select GENERIC_GPIO_LIB select HAVE_MONOTONIC_TIMER diff --git a/src/soc/qualcomm/ipq806x/Kconfig b/src/soc/qualcomm/ipq806x/Kconfig index a6262d0..0b112d9 100644 --- a/src/soc/qualcomm/ipq806x/Kconfig +++ b/src/soc/qualcomm/ipq806x/Kconfig @@ -5,7 +5,6 @@ select ARCH_VERSTAGE_ARMV7 select ARCH_ROMSTAGE_ARMV7 select ARCH_RAMSTAGE_ARMV7 - select BOOTBLOCK_CONSOLE select HAVE_UART_SPECIAL select GENERIC_GPIO_LIB
diff --git a/src/soc/qualcomm/sdm845/Kconfig b/src/soc/qualcomm/sdm845/Kconfig index 9af1954..c0e3294 100644 --- a/src/soc/qualcomm/sdm845/Kconfig +++ b/src/soc/qualcomm/sdm845/Kconfig @@ -6,7 +6,6 @@ select ARCH_RAMSTAGE_ARMV8_64 select ARCH_ROMSTAGE_ARMV8_64 select ARCH_VERSTAGE_ARMV8_64 - select BOOTBLOCK_CONSOLE select GENERIC_GPIO_LIB select GENERIC_UDELAY select HAVE_MONOTONIC_TIMER diff --git a/src/soc/rockchip/rk3288/Kconfig b/src/soc/rockchip/rk3288/Kconfig index e0fd718..53666c2 100644 --- a/src/soc/rockchip/rk3288/Kconfig +++ b/src/soc/rockchip/rk3288/Kconfig @@ -23,7 +23,6 @@ select DRIVERS_UART_8250MEM_32 select HAVE_MONOTONIC_TIMER select GENERIC_UDELAY - select BOOTBLOCK_CONSOLE select UNCOMPRESSED_RAMSTAGE select GENERIC_GPIO_LIB select RTC diff --git a/src/soc/rockchip/rk3399/Kconfig b/src/soc/rockchip/rk3399/Kconfig index 440981b..6e45df3 100644 --- a/src/soc/rockchip/rk3399/Kconfig +++ b/src/soc/rockchip/rk3399/Kconfig @@ -6,7 +6,6 @@ select ARCH_ROMSTAGE_ARMV8_64 select ARCH_VERSTAGE_ARMV8_64 select ARM64_USE_ARM_TRUSTED_FIRMWARE - select BOOTBLOCK_CONSOLE select DRIVERS_UART_8250MEM_32 select GENERIC_GPIO_LIB select GENERIC_UDELAY diff --git a/src/soc/samsung/exynos5250/Kconfig b/src/soc/samsung/exynos5250/Kconfig index 1c92c71..5b39724 100644 --- a/src/soc/samsung/exynos5250/Kconfig +++ b/src/soc/samsung/exynos5250/Kconfig @@ -6,7 +6,6 @@ select HAVE_MONOTONIC_TIMER select GENERIC_UDELAY select HAVE_UART_SPECIAL - select BOOTBLOCK_CONSOLE bool default n
diff --git a/src/soc/sifive/fu540/Kconfig b/src/soc/sifive/fu540/Kconfig index 795f51b..25b4b46 100644 --- a/src/soc/sifive/fu540/Kconfig +++ b/src/soc/sifive/fu540/Kconfig @@ -18,7 +18,6 @@ select ARCH_VERSTAGE_RISCV select ARCH_ROMSTAGE_RISCV select ARCH_RAMSTAGE_RISCV - select BOOTBLOCK_CONSOLE select DRIVERS_UART_SIFIVE select GENERIC_UDELAY select HAVE_MONOTONIC_TIMER diff --git a/src/soc/ucb/riscv/Kconfig b/src/soc/ucb/riscv/Kconfig index 99b0490..638d734 100644 --- a/src/soc/ucb/riscv/Kconfig +++ b/src/soc/ucb/riscv/Kconfig @@ -4,7 +4,6 @@ select ARCH_VERSTAGE_RISCV select ARCH_ROMSTAGE_RISCV select ARCH_RAMSTAGE_RISCV - select BOOTBLOCK_CONSOLE select GENERIC_UDELAY select HAVE_MONOTONIC_TIMER select RISCV_USE_ARCH_TIMER
Julius Werner has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/30891 )
Change subject: console: Change BOOTBLOCK_CONSOLE default to `y` ......................................................................
Patch Set 3:
(1 comment)
Can we make a ruling that BOOTBLOCK_CONSOLE=n will also remove verstage console?
Technically, that's easy to do, just set its default accordingly. We could also enforce it by adding an `if BOOTBLOCK_CONSOLE` to its prompt. Then the default should also trigger with an old config.
I would welcome the default change. Not sure about enforcing it.
I think we should ask ourselves why we have this option in the first place. I don't think it's really meant primarily as a user control... because I don't really see how that would be that useful (when do you really ever want output from romstage but not from the bootblock?), and if we wanted that we should probably have a more consistent set of options to decide it for each stage.
IIRC this was actually introduced to work around problems on platforms where the bootblock console *couldn't* be used for some reason, and for those it must be selectable by the mainboard/SoC to make sense. If we don't have that case anymore, we should probably get rid of the option entirely instead. If we do, we could turn it around to CONFIG_NO_BOOTBLOCK_CONSOLE that can be selected by a handful of mainboards/SoCs where necessary. (I seem to recall it was necessary for Exynos5420 but don't really have time to dig right now. There was also recently some consideration to use it on the new MediaTek 8183 because it doesn't actually load the bootblock from SPI and thus comes with some very tough size restrictions for the bootblock alone. We didn't end up using it for now but it might come up again as we continue bringing up the board. For both of those cases, restricting the option to affect only the bootblock and not the verstage is the desired behavior.)
https://review.coreboot.org/#/c/30891/3//COMMIT_MSG Commit Message:
https://review.coreboot.org/#/c/30891/3//COMMIT_MSG@13 PS3, Line 13: samsung/exynos5420 IIRC this was intentional, because there was some bug on 5420 that made it hang when you tried to use the UART that early and we never bothered to track it down. But I'll admit I'm too lazy to dig it out and test right now too.
Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/30891 )
Change subject: console: Change BOOTBLOCK_CONSOLE default to `y` ......................................................................
Patch Set 3:
(1 comment)
I think we should ask ourselves why we have this option in the first place. I don't think it's really meant primarily as a user control... because I don't really see how that would be that useful (when do you really ever want output from romstage but not from the bootblock?), and if we wanted that we should probably have a more consistent set of options to decide it for each stage.
Yeah, don't think it's useful either. I'm starting to believe that the people that add all these Kconfig prompts just didn't understand the syntax. I wouldn't mind at all to remove the prompt.
https://review.coreboot.org/#/c/30891/3//COMMIT_MSG Commit Message:
https://review.coreboot.org/#/c/30891/3//COMMIT_MSG@13 PS3, Line 13: samsung/exynos5420
IIRC this was intentional, because there was some bug on 5420 that made it hang when you tried to us […]
You are right. I thought BOOTBLOCK_CONSOLE was much older than exynos5420 but it turned out that the commit message adding the former reasons about it: "[...] but on the 5420 it only starts working in the ROM stage after clocks have been initialized.". CB:30926
Somehow weird that the same commit that reasons about the breakage adds the option to break it.