Re: [PATCH] x86/early_printk: add MMIO-based UARTs
From: Dave Hansen
Date: Thu Mar 13 2025 - 20:04:32 EST
On 3/13/25 16:45, Denis Mukhin via B4 Relay wrote:
> During the bring-up of an x86 board, the kernel was crashing before
> reaching the platform's console driver because of a bug in the firmware,
> leaving no trace of the boot progress.
>
> It was discovered that the only available method to debug the kernel
> boot process was via the platform's MMIO-based UART, as the board lacked
> an I/O port-based UART, PCI UART, or functional video output.
This is a pretty exotic piece of hardware, right? It's not some off the
shelf laptop?
Is there a driver for it during normal runtime?
> Then it turned out that earlyprintk= does not have a knob to configure
> the MMIO-mapped UART.
>
> Extend the early printk facility to support platform MMIO-based UARTs
> on x86 systems, enabling debugging during the system bring-up phase.
>
> The command line syntax to enable platform MMIO-based UART is:
> earlyprintk=mmio,membase[,{nocfg|baudrate}][,keep]
I'll stick this in the queue to take a closer look after the next merge
window closes. It's a bit on the late side in the 6.14 cycle for new stuff.
I do appreciate the importance of having this tool in your toolbox.
earlyprintk has saved my bacon more times than I can count.