Re: [PATCH v5 0/4] usb: early: add support for early printk through USB3 debug port

From: Lu Baolu
Date: Thu Jan 19 2017 - 22:04:43 EST


Hi Ingo,

On 01/19/2017 05:12 PM, Ingo Molnar wrote:
> * Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> wrote:
>
>> xHCI debug capability (DbC) is an optional but standalone
>> functionality provided by an xHCI host controller. With DbC
>> hardware initialized, the system will present a debug device
>> through the USB3 debug port (normally the first USB3 port).
>> The debug device is fully compliant with the USB framework
>> and provides the equivalent of a very high performance (USB3)
>> full-duplex serial link between the debug host and target.
>> The DbC functionality is independent of xHCI host. There
>> isn't any precondition from xHCI host side for DbC to work.
>>
>> This patch set adds support for early printk functionality
>> through a USB3 debug port by 1) initializing and enabling
>> the DbC hardware during early boot; 2) registering a boot
>> console to the system so that early printk messages can go
>> through the USB3 debug port. It also includes some lines
>> of changes in usb_debug driver so that it can be bound when
>> a USB3 debug device is enumerated.
>>
>> This code is designed to be used only for kernel debugging
>> when machine crashes very early before the console code is
>> initialized. It makes the life of kernel debugging easier
>> when people work with a modern machine without any legacy
>> serial ports.
> BTW., just a side note, some kernel developers (like PeterZ - and I do it
> sometimes too) remap early_printk to printk permanently and use it as their main
> printk facility - because printk() reliability has suffered over the last couple
> of years.
>
> So it's more than just early boot debugging - it's a very simple state-less
> logging facility to an external computer.

Thanks for the information. I will rework this message.

Best regards,
Lu Baolu