diff --git a/website/content/en/status/report-2025-04-2025-06/drm-drivers.adoc b/website/content/en/status/report-2025-04-2025-06/drm-drivers.adoc index 7ba18092d6..80b5451cbf 100644 --- a/website/content/en/status/report-2025-04-2025-06/drm-drivers.adoc +++ b/website/content/en/status/report-2025-04-2025-06/drm-drivers.adoc @@ -1,36 +1,37 @@ === DRM drivers Links: + link:https://github.com/freebsd/drm-kmod/pull/361[Update to Linux 6.9 DRM drivers] URL: link:https://github.com/freebsd/drm-kmod/pull/361[] Contact: Jean-Sébastien Pédron DRM drivers are **kernel drivers for integrated and discrete GPUs**. They are maintained in the Linux kernel and we port them to FreeBSD. As of this report, we take the AMD and Intel DRM drivers only (NVIDIA FreeBSD drivers are proprietary and provided by NVIDIA themselves). We port them one Linux version at a time. This allows us to ship updates more often and it eases porting and debugging because we have a smaller delta compared to a bigger jump skipping several versions. This quarter, we finally merged the drivers from Linux 6.7 and 6.8 that were done during the first quarter into *drm-kmod*. The **porting for DRM drivers from Linux 6.9 was finished** and is now ready for review and testing; https://github.com/freebsd/drm-kmod/pull/361[see the pull request for instructions] if you want to try them. The pull request also lists all the patches needed to `linuxkpi`, the Linux drivers compatibility layer in the FreeBSD kernel. Several patches were already reviewed but there is still work. These updates target the FreeBSD 15-CURRENT development branch for now. Once kernel patches are accepted and the DRM drivers updates merged, we will evaluate if/how we can backport the kernel patches to earlier release branches (namely 14-STABLE). While waiting for review, we also started to work on two features which were unsupported on FreeBSD: + * https://github.com/freebsd/drm-kmod/pull/357[`DMA_BUF_IOCTL_EXPORT_SYNC_FILE` and `DMA_BUF_IOCTL_IMPORT_SYNC_FILE` ioctls] * https://github.com/freebsd/drm-kmod/pull/358[`DRM_IOCTL_SYNCOBJ_EVENTFD` ioctl] They are apparently required to allow the use of wlroots-based Wayland compositors with the Vulkan API (see link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=286311[]). wlroots will need a patch as well because it only expects these features on Linux for now. Both pull requests as well as the patches to `linuxkpi` they rely on are ready for review and testing. The `linuxkpi` patches are linked in the pull requests. This work is kindly sponsored by the FreeBSD Foundation as part of the Laptop and Desktop Project. Sponsor: The FreeBSD Foundation diff --git a/website/content/en/status/report-2025-04-2025-06/freebsd-foundation.adoc b/website/content/en/status/report-2025-04-2025-06/freebsd-foundation.adoc index cf92f014df..10dc68320f 100644 --- a/website/content/en/status/report-2025-04-2025-06/freebsd-foundation.adoc +++ b/website/content/en/status/report-2025-04-2025-06/freebsd-foundation.adoc @@ -1,93 +1,93 @@ === FreeBSD Foundation Links: + link:https://freebsdfoundation.org/[FreeBSD Foundation] URL: link:https://freebsdfoundation.org/[] + link:https://freebsdfoundation.org/blog/technology-roadmap/[Technology Roadmap] URL: link:https://freebsdfoundation.org/blog/technology-roadmap/[] + link:https://freebsdfoundation.org/donate/[Donate] URL: link:https://freebsdfoundation.org/donate/[] + link:https://freebsdfoundation.org/our-donors/freebsd-foundation-partnership-program/[Foundation Partnership Program] URL: link:https://freebsdfoundation.org/our-donors/freebsd-foundation-partnership-program/[] + link:https://freebsdfoundation.org/journal/[FreeBSD Journal] URL: link:https://freebsdfoundation.org/journal/[] + link:https://freebsdfoundation.org/our-work/events/[Foundation Events] URL: link:https://freebsdfoundation.org/our-work/events/[] Contact: Deb Goodkin The FreeBSD Foundation is a 501(c)(3) non-profit dedicated to advancing FreeBSD through both technical and non-technical support. Funded entirely by donations, the Foundation supports software development, infrastructure, security, and collaboration efforts; organizes events and developer summits; provides educational resources; and represents the FreeBSD Project in legal matters. Here are some of the ways we supported FreeBSD in the second quarter of 2025. ==== Advocacy Advocacy work in the 2nd quarter of 2025 included hosting events, launching a new series of video guides and bringing on a new Marketing Coordinator. Florine Kamdem brings social media, branding, and IT skills. She uses storytelling to craft digital campaigns that spark interest and build connection within the community. Read more about link:https://freebsdfoundation.org/about-us/our-team/[Florine], and check out just a few of the ways the Foundation helped advocate for FreeBSD in Q2 of 2025: * Held the link:https://wiki.freebsd.org/DevSummit/202506[June 2025 FreeBSD Developer Summit] June 11-12, 2025, co-located with link:https://www.bsdcan.org/2025[BSDCan 2025]. Videos of the all day stream are available on the Project's https://www.youtube.com/c/FreeBSDProject[YouTube Channel], and videos of the individual talks will be available in the coming weeks. * Finalized our Silver Sponsorship of https://2025.eurobsdcon.org/[EuroBSDcon 2025], held in Zagreb, Croatia; September 25-28, 2025. link:https://docs.google.com/forms/d/e/1FAIpQLSfj82hLQ8-uKrr1B6MmgnhzZj7pzMaTjA708hszSLHwDn7msA/viewform[Travel Grants] are now available. The application deadline is Aug 5, 2025. * Provided updates and announcements about our Software Development work including: ** link:https://freebsdfoundation.org/blog/the-road-to-better-wi-fi-on-freebsd/[The Road to Better Wi-Fi on FreeBSD] ** link:https://freebsdfoundation.org/blog/april-2025-laptop-support-and-usability-project-update/[April 2025 Laptop Support and Usability Project Update] ** link:https://freebsdfoundation.org/blog/freebsd-ports-and-packages-security-project/[FreeBSD Ports and Packages Security Project] ** link:https://freebsdfoundation.org/blog/software-bill-of-materials-sbom-for-freebsd-project/[Software Bill of Materials (SBOM) for FreeBSD Project] * Published the following blogs and videos to help inform and educate the community: ** link:https://freebsdfoundation.org/blog/the-hidden-costs-of-stagnation-why-running-eol-software-is-a-ticking-time-bomb/[The Hidden Costs of Stagnation: Why Running EOL Software is a Ticking Time Bomb] ** link:https://freebsdfoundation.org/blog/how-to-unlock-high-speed-wi-fi-on-freebsd-14/[How to Unlock High Speed Wi-Fi on FreeBSD 14] ** link:https://freebsdfoundation.org/blog/the-report-of-my-death-was-an-exaggeration/[The Report of My Death Was an Exaggeration] ** link:https://freebsdfoundation.org/blog/zfs-automatic-snapshots-with-sanoid-on-freebsd/[ZFS automatic snapshots with Sanoid on FreeBSD] ** link:https://freebsdfoundation.org/blog/three-ways-to-try-freebsd-in-under-five-minutes/[Three Ways to Try FreeBSD in Under Five Minutes] * Published the link:https://mailchi.mp/freebsdfoundation.org/update_march25-17599148[March/April 2025] and link:https://mailchi.mp/freebsdfoundation.org/update_may25-17600084[May 2025] FreeBSD Foundation Newsletters. * Released the link:https://freebsdfoundation.org/our-work/journal/browser-based-edition/downstreams/[January/February/March 2025] issue of the FreeBSD Journal with HTML versions of the articles. ==== OS Improvements The Foundation continued to support two major initiatives: the Laptop Support and Usability project (in collaboration with link:https://www.ql-research.com/[Quantum Leap Research]) and an <<_infrastructure_modernization,infrastructure modernization project>> commissioned by the link:https://www.sovereign.tech/[Sovereign Tech Agency]. For background on both efforts, see the link:https://www.freebsd.org/status/report-2025-01-2025-03/#_freebsd_foundation[2025Q1 quarterly status report]. Throughout the quarter, there were 536 `src`, 64 `ports`, and 41 `doc` commits that identified the FreeBSD Foundation as a sponsor. Here is a sampling of that work and other sponsored efforts: * Various improvements to libvirt's support for bhyve, including: ** An initial port of the libvirt integration testing project, libvirt-tck, enabling test execution against libvirt's bhyve driver on FreeBSD. ** Enhancements to the bhyve driver to improve compatibility and testability. ** Support for virtio-rnd devices, NVRAM configuration, and extended domain usage statistics (under review). ** Initial support for man:pf[4]-based NAT networking (under review). * Improved handling of tlsbase (thread-local storage) on amd64, making it more reliable across context switches and benefiting applications that manually manage TLS, such as Wine. * Runtime linker improvements, including support for the -z initfirst flag. This addresses longstanding issues with RTLD_DEEPBIND and provides better control over symbol resolution and initialization order in dynamically linked applications. * Enhanced ptrace usability by enabling transient PT_ATTACH behavior. This reduces friction for debugging tools and eliminates spurious EINTR errors that could interrupt or break tracing workflows. * kqueue introspection support by extending man:procstat[1] to report kqueue state, improving observability into how processes use kernel event notification mechanisms * Design and implementation of EXTERROR, a kernel-level flag mechanism that signals when extended error information is available. This enables applications to retrieve more detailed diagnostics beyond standard error codes. Other sponsored efforts are covered in separate report entries: * <<_vision_accessibility,Vision Accessibility>> * <<_suspendresume_improvement,Suspend/Resume Improvements>> * <<_linuxkpi_802_11_and_native_wireless_update,LinuxKPI 802.11 and Native Wireless Update>> * <<_audio_stack_improvements,Audio Stack Improvements>> * <<_improve_openjdk_on_freebsd,Improve OpenJDK on FreeBSD>> * <<_sylve_a_unified_system_management_platform_for_freebsd,Sylve -- A Unified System Management Platform for FreeBSD>> * <<_support_for_pkgbase_in_the_FreeBSD_installer,Support for pkgbase in the FreeBSD Installer>> * <<_drm_drivers,DRM drivers>> * <<_mit_kerberos_import_into_FreeBSD,MIT Kerberos Import into FreeBSD>> * <<_usb_kernel_debugging, USB Kernel Debugging>> * <<_bugmeister_team,Bugmeister Team>> The Foundation is managing FreeBSD's participation in the link:https://summerofcode.withgoogle.com/[Google Summer of Code (GSoC)] program. link:https://wiki.freebsd.org/SummerOfCode2025Projects[Twelve projects] were accepted this year. ==== Continuous Integration and Workflow Improvement -As part of our continued support of the FreeBSD Project, the Foundation supports a full-time staff member dedicated to <<_continuous_integration,improving the Project's continuous integration system and test infrastructure>>. +As part of our continued support of the FreeBSD Project, the Foundation supports a full-time staff member dedicated to improving the Project's continuous integration system and test infrastructure. ==== Legal/FreeBSD IP The Foundation owns the FreeBSD trademarks, and it is our responsibility to protect them. We also provide legal support for the core team to investigate questions that arise. Go to link:https://freebsdfoundation.org[] to find more about how we support FreeBSD and how we can help you! diff --git a/website/content/en/status/report-2025-04-2025-06/gcc.adoc b/website/content/en/status/report-2025-04-2025-06/gcc.adoc index d3dcd0313c..63383daa3d 100644 --- a/website/content/en/status/report-2025-04-2025-06/gcc.adoc +++ b/website/content/en/status/report-2025-04-2025-06/gcc.adoc @@ -1,27 +1,27 @@ === GCC on FreeBSD Links: + link:https://gcc.gnu.org/[GCC Project] URL: link:https://gcc.gnu.org/[] + link:https://gcc.gnu.org/gcc-12/[GCC 12 release series] URL: link:https://gcc.gnu.org/gcc-12/[] + link:https://gcc.gnu.org/gcc-13/[GCC 13 release series] URL: link:https://gcc.gnu.org/gcc-13/[] + -link:https://gcc.gnu.org/gcc-14/[GCC 14 release series] URL: link:https://gcc.gnu.org/gcc-14/[] +link:https://gcc.gnu.org/gcc-14/[GCC 14 release series] URL: link:https://gcc.gnu.org/gcc-14/[] + link:https://gcc.gnu.org/gcc-11/[GCC 15 release series] URL: link:https://gcc.gnu.org/gcc-15/[] + link:https://gcc.gnu.org/gcc-11/[GCC 16 release series] URL: link:https://gcc.gnu.org/gcc-16/[] + Contact: Lorenzo Salvadore The link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=281091[exp-run to update GCC default version from 13 to 14] is still suspended. As a reminder, it has been noticed that FreeBSD 13.4 lacks symbols that are used by GCC 14 for linking; please see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=284499#c0 for a more detailed explanation. The symbols are however already present in higher FreeBSD versions. At the time this report is written, FreeBSD 13.4 is expected to go out of support soon (on June 30th), so it has been decided that it is preferable to suspend the exp-run until then. Thus it will get back on track on July 1st. Meanwhile, GCC 15 has been released. As usual, the new port package package:lang/gcc15[] has been created, as well as package:lang/gcc16-devel[] that tracks the latest GCC development. More bugs have been addressed. Bug https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285711[285711] about issues with some CPUTYPE values has been fixed with a temporary workaround. The workaround will be needed until commit gitref:22e564c74eb20e14bd93fd9fdde20e38a29cfcf1[repository=src] is included in all supported FreeBSD releases. A build failure has been found on aarch64 machines, see bug link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282797[282797]. A fix has been found and is about to be submitted upstream. diff --git a/website/content/en/status/report-2025-04-2025-06/intro.adoc b/website/content/en/status/report-2025-04-2025-06/intro.adoc index f71ed66788..76a4956e75 100644 --- a/website/content/en/status/report-2025-04-2025-06/intro.adoc +++ b/website/content/en/status/report-2025-04-2025-06/intro.adoc @@ -1,17 +1,17 @@ Here is the second 2025 status report, with 32 entries. As for the preceding quarters, this report is published just a few days before calls for 2025Q3 report submissions are sent. Indeed, although according to our link:https://docs.freebsd.org/en/articles/freebsd-status-report-process/#_timeline[timeline] we should have published this report in July (general rule is publication should happen within the month just after the calls for reports are sent), we kept receiving important reports until the end of August. This is both a positive and a negative thing. On one hand, it means that our FreeBSD community is busy fixing existing issues and implementing new features, making the OS we love better and better every day; it means that the community works so intensely that very little time remains for reporting. On the other hand, it means that news in these reports is always two months old when published. Two months is not bad, especially if we consider that FreeBSD communication happens on many other channels too, but it would be nice if we could improve it. If you are a late submitter, please take some time to evaluate if there is anything you can do to improve your report submission punctuality. The Status Team is always glad to ease the submission process: if there is something we can do for you, just ask. -If you are a contributor or just a FreeBSD user, please consider contributing, more if you can. +If you are a contributor or just a FreeBSD user, please consider contributing more, if you can. Even working on a single small simple task is useful, it can help to lower the pressure on other developers, for whom it might thus become easier to find the time to document their work. Have a nice reading! Lorenzo Salvadore, on behalf of the Status Team. diff --git a/website/content/en/status/report-2025-04-2025-06/lkpi-wireless.adoc b/website/content/en/status/report-2025-04-2025-06/lkpi-wireless.adoc index 85858bb08f..c36d29c290 100644 --- a/website/content/en/status/report-2025-04-2025-06/lkpi-wireless.adoc +++ b/website/content/en/status/report-2025-04-2025-06/lkpi-wireless.adoc @@ -1,42 +1,42 @@ === LinuxKPI 802.11 and Native Wireless Update Links: + link:https://github.com/FreeBSDFoundation/proj-laptop/issues/33[802.11ac support] URL:link:https://github.com/FreeBSDFoundation/proj-laptop/issues/33[] + link:https://github.com/FreeBSDFoundation/proj-laptop/issues/64[LinuxKPI TKIP and GCMP support] URL:link:https://github.com/FreeBSDFoundation/proj-laptop/issues/64[] + link:https://github.com/FreeBSDFoundation/proj-laptop/issues/58[LinuxKPI wireless suspend and resume] URL:link:https://github.com/FreeBSDFoundation/proj-laptop/issues/58[] + link:https://github.com/FreeBSDFoundation/proj-laptop/issues/66[MediaTek mt76 PCI driver support] URL:link:https://github.com/FreeBSDFoundation/proj-laptop/issues/66[] + link:https://github.com/FreeBSDFoundation/proj-laptop/issues/34[802.11ax support] URL:link:https://github.com/FreeBSDFoundation/proj-laptop/issues/34[] + link:https://github.com/FreeBSDFoundation/proj-laptop/issues/79[net80211 updates] URL:link:https://github.com/FreeBSDFoundation/proj-laptop/issues/79[] + -link:https://bugs.freebsd.org/bugzilla/showdependencytree.cgi?id=277512&hide_resolved=1[Tracked wireless PRs] URL:https://bugs.freebsd.org/bugzilla/showdependencytree.cgi?id=277512&hide_resolved=1[] +link:https://bugs.freebsd.org/bugzilla/showdependencytree.cgi?id=277512&hide_resolved=1[Tracked wireless PRs] URL:link:https://bugs.freebsd.org/bugzilla/showdependencytree.cgi?id=277512&hide_resolved=1[] Contact: Bjoern A. Zeeb + Contact: The FreeBSD wireless mailing list This report focuses on the efforts using permissively licensed Linux wireless drivers, mostly unmodified, on FreeBSD, as well as preparing the native net80211 stack for support of newer standards. As announced man:iwlwififw[4] was removed from the source tree in favor of a ports/package based solution. Users are asked to use man:fwget[8] to automatically install the firmware along with any possible configuration. Support for man:wlan_tkip[4] was added to man:linuxkpi[4] but has to be manually enabled. man:wlan_gcmp[4] support for man:linuxkpi[4] followed later and is available from FreeBSD 15 onward. FreeBSD 14.3-RELEASE is the first release with VHT (802.11ac) support available. Modern man:iwlwifi[4] chipsets are supported. There was some fallout after the release and a few open problems, but also a lot of positive feedback. man:rtw88[4] saw a fix for a NULL pointer in the driver and is now starting to be usable. Thanks to everyone who helped track this down and test patches along the way. Work on suspend and resume for LinuxKPI-based wireless drivers was picked up again, and we are getting closer to a working solution (at least for suspend it now exists). Work is also ongoing for Mediatek mt76-based PCIe card support. HE (802.11ax) definitions were migrated from man:linuxkpi[4] to native net80211 code and corrected. man:ifconfig[8] was enhanced parsing more information elements to aid debugging. Work is in progress to fix a problem with reporting signal strength and dealing with RSSI. Further fixes to LinuxKPI and resolving the problems we worked around by improving native net80211 code are in the works. Lastly, various man pages were improved or written. Sponsor: The FreeBSD Foundation diff --git a/website/content/en/status/report-2025-04-2025-06/packrat.adoc b/website/content/en/status/report-2025-04-2025-06/packrat.adoc index f496bccc9c..fdace6f6e9 100644 --- a/website/content/en/status/report-2025-04-2025-06/packrat.adoc +++ b/website/content/en/status/report-2025-04-2025-06/packrat.adoc @@ -1,23 +1,23 @@ -=== Packrat - NFS client caching on non-volatile storage +=== Packrat -- NFS client caching on non-volatile storage Contact: Rick Macklem NFSv4.1/4.2 provides support for a feature called delegations. When a NFSv4.1/4.2 client holds a delegation, the client has certain rights to a file, including a guarantee that no other client will make changes to the file unless the delegation is recalled. As such, when a client holds a delegation for a file, it can aggressively cache the file's data, knowing that it will not be modified by other clients until it returns the delegation. This project is intended to allow the NFSv4.1/4.2 client to aggressively cache file data on client local non-volatile storage, when the client holds a delegation for the file. I created a patch long ago to try and do this for NFSv4.0, but it was never at a stage where it was worth using. This project is a complete rewrite of the patch, done in part because NFSv4.1/4.2 plus other recent NFSv4 related changes makes doing this more feasible. The patch is getting stable now, but I am not sure if it will be ready for inclusion in FreeBSD 15 as an experimental feature enabled via a new mount option called "packrat". The main thing I still need to do is code a writeback kernel thread. Right now, dirty chunks stored on client local non-volatile storage get written back to the NFSv4.1/4.2 server upon umount. This can result in the umount taking a long time (as in many minutes). To alleviate this, I am planning on implementing a writeback kernel process that will walk the non-volatile storage and write the dirty chunks back. The trick is to make it aggressive enough that most dirty chunks have been written back when a umount is done, but not so aggressive that it impedes the performance of synchronous NFSv4.1/4.2 RPCs. This will be very much an experimental feature, but it is hoped it will allow NFS mounts to be used more effectively, particularly in WAN situations, such as a mobile laptop. There is still work to be done, particularly with respect to recovery of delegations after a NFSv4.1/4.2 client restart. diff --git a/website/content/en/status/report-2025-04-2025-06/ports-security.adoc b/website/content/en/status/report-2025-04-2025-06/ports-security.adoc index 8fb04f26d6..eba18d298d 100644 --- a/website/content/en/status/report-2025-04-2025-06/ports-security.adoc +++ b/website/content/en/status/report-2025-04-2025-06/ports-security.adoc @@ -1,24 +1,24 @@ === Security Hardening Compiler Options for the Ports Collection Links: + link:https://cgit.freebsd.org/ports/commit/Mk/Features/fortify.mk?id=7a489e95c51f47f5e25a5613e375ec000618e52a[Commit of the features] URL: link:https://cgit.freebsd.org/ports/commit/Mk/Features/fortify.mk?id=7a489e95c51f47f5e25a5613e375ec000618e52a[] + link:https://www.leidinger.net/blog/2025/05/24/freebsd-security-hardening-with-compiler-options/[FreeBSD security hardening with compiler options] URL: link:https://www.leidinger.net/blog/2025/05/24/freebsd-security-hardening-with-compiler-options/[] Contact: Alexander Leidinger The Ports Collection gained the possibility to enable some security features of modern compilers for package builds. As not all ports are compatible with them, this is not enabled by default. The 3 new features which can be enabled for the Ports Collection in [.filename]#make.conf# are: -- WITH_FORTIFY=yes:: +- WITH_FORTIFY=yes: This enables mitigations of common memory safety issues, such as buffer overflows, by adding checks to functions like memcpy, strcpy, sprintf, and others when the compiler can determine the size of the destination buffer at compile time. This requires support from the FreeBSD base system and may only be available in FreeBSD 15 onwards. -WITH_STACK_AUTOINIT=yes:: +- WITH_STACK_AUTOINIT=yes: This enables a compiler specific option to automatically initialize local (automatic) variables to prevent the use of uninitialized memory. -WITH_ZEROREGS=yes:: +- WITH_ZEROREGS=yes: Zero call-used registers at function return to increase program security by either mitigating Return-Oriented Programming (ROP) attacks or preventing information leakage through registers. This depends upon support from the compiler for a given architecture. This is disabled for python ports; currently there are issues. The blog post referenced in the links section explains how to use them, how to exclude certain ports if needed, and provides a more detailed explanation of those 3 new features along the already existing build-time security options of the Ports Collection and the basesystem build. diff --git a/website/content/en/status/report-2025-04-2025-06/usb-debugging.adoc b/website/content/en/status/report-2025-04-2025-06/usb-debugging.adoc index 12c3234e7b..a047cdbcce 100644 --- a/website/content/en/status/report-2025-04-2025-06/usb-debugging.adoc +++ b/website/content/en/status/report-2025-04-2025-06/usb-debugging.adoc @@ -1,27 +1,27 @@ === USB Kernel Debugging Contact: Tom Jones XHCI USB controllers offer a mode which allows them to be used as a system debugging interface. XHCI debug uses a special USB 3 cable with VBUS, D+ and D- disconnected. -The feature can used to live debug the FreeBSD kernel, enabling investigation of issues which cause the system video console to lock up and there is not an alternative such as a serial console. +The feature can be used to live debug the FreeBSD kernel, enabling investigation of issues which cause the system video console to lock up and there is not an alternative such as a serial console. This can happen when debugging issues with graphics drivers. mailto:hrs@FreeBSD.org[Hiroki Sato] developed support for the XHCI debug interface and made it available as some in progress git branches. This implementation enables FreeBSD to operate as both a Debug Host and a Debug Target, with support for debugging from the loader through to the kernel. I have been updating and testing this support along with mailto:mhorne@FreeBSD.org[Mitchell Horne] and together we have a WIP branch which applies to FreeBSD main. We are currently tidying up interfaces and testing for stability with the goal of introducing XHCI debug once 16 is branched. In doing the XHCI debug work I rediscovered a second form of kernel debugging implemented by Hans Petter Selasky (hselasky@) in 2009. The FreeBSD USB stack supports using a USB serial device as a system console and includes support to continue polling the interface once the system has entered the debugger (such as during a panic). USB Serial debugging allows a developer with two commodity USB serial interfaces to connect to a FreeBSD target and debug the kernel. USB Serial debugging is available in all FreeBSD releases in FreeBSD 9, but changes in the kernel build process mean that it is not detected in modern kernels. In this quarter I have been working on documentation required to use this interface and changes to make it available in GENERIC kernels for newer FreeBSD releases. A core part of this work has been trying to document kernel debugging interfaces. If you use live debug interfaces other than serial or network debugging please get in touch so I can add these to the FreeBSD Developers Handbook. Sponsor: The FreeBSD Foundation