On Thursday, March 13th, 2025 at 5:04 PM, Dave Hansen <dave.hansen@xxxxxxxxx> wrote: > > > 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? Correct, this is not off the shelf laptop. > > Is there a driver for it during normal runtime? Yes, that is a variant of NS16550 UART. > > > 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. Thanks! -- Denis