[[_usb_kernel_debugging_improvements]]
=== Улучшения отладки ядра через USB (USB Kernel Debugging Improvements)

Контакт: Tom Jones <thj@FreeBSD.org>

Контроллеры XHCI USB предлагают режим, который позволяет использовать их в качестве интерфейса отладки системы.
Отладка через XHCI использует специальный кабель стандарта USB 3 с отключенными VBUS, D+ и D-.
Эта функция может использоваться для отладки ядра FreeBSD в режиме реального времени, позволяя исследовать проблемы, из-за которых видеоконсоль системы зависает, и нет альтернативы, такой как последовательная консоль.
Это может произойти при отладке проблем с графическими драйверами.

mailto:hrs@FreeBSD.org[Хироки Сато (Hiroki Sato)] разработал поддержку интерфейса отладки XHCI и сделал её доступной в виде некоторых незавершённых git-веток.
Эта реализация позволяет FreeBSD работать как в качестве хоста отладки (Debug Host), так и в качестве цели отладки (Debug Target) с поддержкой отладки от загрузчика до ядра.

В этом квартале была проведена была проведена существенная работа по устранению проблем интерфейсов отладки, связанных со стороной хоста xhci debug.
Была спроектирована пользовательская плата для поддержки двух режимов отладки с USB-C: xhci debug и USB-C Debug Accessory Mode (DAM).
DAM включает альтернативный режим для разъемов USB-C; на некоторых устройствах, таких как ноутбуки Framework 2025 года и настольные ПК, этот режим обеспечивает доступ к UART на SoC для отладки.

Для создания полноценного адаптера USB-C для xhci и более функционального адаптера DAM потребуются дальнейшие улучшения аппаратного обеспечения.

Некоторые изменения, относящиеся к загрузчику, были направлена на рецензирование, и несколько изменений были выбраны и включены в дерево исходных текстов.

Спонсор: Фонд FreeBSD

//
// The FreeBSD Russian Documentation Project
//
// Original EN revision (10.01.2026): ab9f7e02392654be6a882ab2cad4a891cde5e5ed
//
