diff --git a/website/content/en/status/report-2026-01-2026-03/dpaa2.adoc b/website/content/en/status/report-2026-01-2026-03/dpaa2.adoc index d7db11ac25..8ae7011569 100644 --- a/website/content/en/status/report-2026-01-2026-03/dpaa2.adoc +++ b/website/content/en/status/report-2026-01-2026-03/dpaa2.adoc @@ -1,34 +1,35 @@ === NXP DPAA2 support Links: + link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292006[Bug 292006 - dpni doesn't behave properly in a bridge] URL: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292006[] + link:https://reviews.freebsd.org/D53436[dpaa2: Setup interface caps on attach] URL: https://reviews.freebsd.org/D53436[] + link:https://reviews.freebsd.org/D54809[dpnaa2: announce transmit checksum support] URL: https://reviews.freebsd.org/D54809[] + link:https://reviews.freebsd.org/D56144[dpaa2: Perform bus_dma pre-write sync before enqueue operation] URL: https://reviews.freebsd.org/D56144[] + link:https://reviews.freebsd.org/D55320[dpaa2: dpaa2_ni_rx() RX checksum EN/ERR information for L3/4] URL: https://reviews.freebsd.org/D55320[] + link:https://reviews.freebsd.org/D56315[dpaa2: Extract frame-specific routines to dpaa2_frame.[h,c]] URL: https://reviews.freebsd.org/D56315[] + link:https://reviews.freebsd.org/D56383[dpaa2: Extract checksum statuses on ingress] URL: https://reviews.freebsd.org/D56383[] + link:https://reviews.freebsd.org/D55321[dpaa2: ni: add more stats and link information] URL: https://reviews.freebsd.org/D55321 Contact: Michael Tuexen + Contact: Bjoern A. Zeeb + Contact: Dmitry Salychev ==== What is DPAA2? -DPAA2 (Data Path Acceleration Architecture Gen2) is a hardware-level networking architecture found in some NXP SoCs which contains hardware blocks including Management Complex (MC, a command interface to manipulate DPAA2 objects), Wire Rate I/O processor (WRIOP, packets distribution, queuing, drop decisions), Queues and Buffers Manager (QBMan, Rx/Tx queues control, Rx buffer pools) and others. The Management Complex runs NXP-supplied firmware which provides DPAA2 objects as an abstraction layer over those blocks to simplify access to the underlying hardware. +DPAA2 (Data Path Acceleration Architecture Gen2) is a hardware-level networking architecture found in some NXP SoCs which contains hardware blocks including Management Complex (MC, a command interface to manipulate DPAA2 objects), Wire Rate I/O processor (WRIOP, packets distribution, queuing, drop decisions), Queues and Buffers Manager (QBMan, Rx/Tx queues control, Rx buffer pools) and others. +The Management Complex runs NXP-supplied firmware which provides DPAA2 objects as an abstraction layer over those blocks to simplify access to the underlying hardware. ==== Done link:https://cgit.freebsd.org/src/commit/?id=39d4094173f9[39d4094173f9] ("epair: add support for checksum offloading") revealed several issues in the DPAA2 drivers, sparked investigations conducted by tuexen@ and dsl@ and eventually led to the changes accumulated under the bug link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292006[292006]: * HW checksum offloading was not properly enabled when the dpaa2_ni driver was attached despite being declared and enabled on the dpni interface (fixed in link:https://cgit.freebsd.org/src/commit/?id=a731cb93a662[a731cb93a662]) * dpni (DPAA2 network interface) did not properly announce TX checksum offloading (fixed in link:https://cgit.freebsd.org/src/commit/?id=f31336b3e314[f31336b3e314]) * Without a proper synchronization payload of the egress TCP segments can be corrupted as tuexen@ described in link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292006#c31[292006#c31] (fixed in link:https://cgit.freebsd.org/src/commit/?id=5812415bee55[5812415bee55]) ==== Work in Progress * bz@ prepared code to extract information about calculated checksums from the hardware annotations of the ingress frames in link:https://reviews.freebsd.org/D55320[D55320], but dsl@ asked to properly define structures needed for the frame annotations which led to dpaa2_frame.[h,c] introduced in link:https://reviews.freebsd.org/D56315[D56315] and refined in link:https://reviews.freebsd.org/D56383[D56383] * bz@ significantly extended dpni sysctl(9) including new interface counters and link state information in link:https://reviews.freebsd.org/D55321[D55321] Sponsor: Traverse Technologies (providing Ten64 HW for testing) diff --git a/website/content/en/status/report-2026-01-2026-03/laptop-integration.adoc b/website/content/en/status/report-2026-01-2026-03/laptop-integration.adoc index c380c4d467..48ef89485a 100644 --- a/website/content/en/status/report-2026-01-2026-03/laptop-integration.adoc +++ b/website/content/en/status/report-2026-01-2026-03/laptop-integration.adoc @@ -1,43 +1,44 @@ === Laptop Testing and Integration Project Links: + link:https://freebsdfoundation.github.io/freebsd-laptop-testing/[Project URL] URL: link:https://freebsdfoundation.github.io/freebsd-laptop-testing/[] + link:https://github.com/FreeBSDFoundation/freebsd-laptop-testing[GitHub repository] URL: link:https://github.com/FreeBSDFoundation/freebsd-laptop-testing[] Contact: Shreeney Ajmeri The goal of this project is to create a community workflow for users of FreeBSD to easily test their laptops against, placing all tested laptops in a table, along with a ranking system to automatically deduce which laptops are currently the best for running FreeBSD on. As part of the FreeBSD Foundation's link:https://github.com/FreeBSDFoundation/proj-laptop[Laptop Support and Usability Project], this workflow will prove very useful for prospective users of FreeBSD, who want to test their laptops to see how well-supported they are. It also helps buyers who want to purchase a laptop that is known to be well-supported by FreeBSD. The main goal is to consolidate all FreeBSD laptop compatibility information into one central knowledge base for the community to refer to. During this quarter the following items were completed, * Created a Python-based link:https://github.com/FreeBSDFoundation/freebsd-laptop-testing/blob/main/main.py[application] which builds on top of the link:https://github.com/linuxhw/hw-probe/blob/master/INSTALL.BSD.md[`hw-probe`] utility, which collects and aggregates a relevant subset of the data for both laptop developers and end users to view. * Developed a link:https://github.com/FreeBSDFoundation/freebsd-laptop-testing/blob/main/parse.py[static-site-generation] system to parse the files created by the Python application into HTML fragments for use in the website * Set up a link:https://github.com/FreeBSDFoundation/freebsd-laptop-testing/pull/23/files#diff-28802fbf11c83a2eee09623fb192785e7ca92a3f40602a517c011b947a1822d3[GitHub Actions] workflow to auto-run the parser and generate the website upon new merge or git actions from a user * Outlined a sub-set of relevant information created by `hw-probe` to be used in the FreeBSD laptop testing workflow * Created a link:https://github.com/FreeBSDFoundation/freebsd-laptop-testing/pull/27/changes[pull request] template for the users to follow outlining important features of the laptop that work or not. -* Developed a scoring system to be used in the application to automatically score laptops based on how many devices on the laptop function or not. Added a workflow that makes manual adjustment of criteria and scores easier for maintainers. +* Developed a scoring system to be used in the application to automatically score laptops based on how many devices on the laptop function or not. + Added a workflow that makes manual adjustment of criteria and scores easier for maintainers. * Created Makefile and shell scripts to aid users in running the tests using a simple `make` command within a terminal, complete with user-friendly prompts if required applications are not installed. * Tested all laptops and desktops in the Kitchener office with the test suite inside the repository to verify if it works properly across both laptops and desktops In addition, extensive testing took place during this quarter, * Tested the Framework Laptop 13 (AMD 7040 Series) and Lenovo Yoga 11e (Kaby Lake) against the link:https://github.com/FreeBSDFoundation/freebsd-laptop-testing/blob/main/testing_checklist.md[FreeBSD Laptop Integration Testing Guidelines] on FreeBSD 16-CURRENT * Worked on testing `drm-kmod` support on the Framework Desktop (Ryzen AI MAX) , as well as s2idle (suspend-2-idle) support on the Framework Laptop. * Created FreeBSD Handbook documentation on Wayland, including setting up Niri, Labwc, Hyprland, and RiverWM window managers properly. Tested and debugged Wayland support on the link:https://github.com/FreeBSDFoundation/proj-laptop/tree/main/supported[commited test targets], and reported bugs to relevant developers. * Integrated the https://codeberg.org/fairyglade/ly[Ly] display manager into the upcoming link:https://gitlab.com/alfix/kde-installer-dialogs/-/merge_requests/10[KDE installer] for FreeBSD 15.1, allowing users to choose between SDDM and Ly. * Evaluated the viability of GPU Passthrough on a Dell OptiPlex 7010 system using an NVIDIA GPU Other notes: * Started work on testing GPU passthrough on other machines; they are yet to arrive at the Kitchener office * Continuing to iterate on the `freebsd-laptop-testing` repository and listening to user feedback after it goes live. * Working on iterating the laptop testing project into the `freebsd.org` domain Sponsor: The FreeBSD Foundation diff --git a/website/content/en/status/report-2026-01-2026-03/openjdk.adoc b/website/content/en/status/report-2026-01-2026-03/openjdk.adoc index 1d93d553f7..37786b3938 100644 --- a/website/content/en/status/report-2026-01-2026-03/openjdk.adoc +++ b/website/content/en/status/report-2026-01-2026-03/openjdk.adoc @@ -1,44 +1,45 @@ === Improve OpenJDK on FreeBSD Links: + link:https://freebsdfoundation.org/project/improving-openjdk-on-freebsd/[Project description] URL: https://freebsdfoundation.org/project/improving-openjdk-on-freebsd/[] + link:https://github.com/freebsd/openjdk[Project repository] URL: https://github.com/freebsd/openjdk[] + link:https://github.com/openjdk/bsd-port[Upstream BSD port repo] URL: https://github.com/openjdk/bsd-port[] Contact: + Harald Eilertsen + FreeBSD Java mailing list The goal of this project is to improve OpenJDK support for FreeBSD/amd64 and FreeBSD/arm64. Java is an important runtime environment for many high performance, critical enterprise systems. Making sure Java based applications run correctly and efficiently on FreeBSD is important to ensure that FreeBSD will continue to be a viable and attractive platform for enterprises, as well as businesses and organizations of all sizes. In this quarter the following issues/milestones were reached: * Updated OpenJDK 25 port to link:https://reviews.freebsd.org/D55529[version 25.0.2]. * Fixed an issue with building headless OpenJDK 25 variants link:https://reviews.freebsd.org/D55589[when no xorg libs were present]. * Reworked the way OpenJDK ports link:https://kodeknekkeriet.net/en/blog/bootstrapping-openjdk-freebsd-ports/[are bootstrapped] on FreeBSD: - link:https://reviews.freebsd.org/D54683[D54683]: OpenJDK 8-20 - link:https://reviews.freebsd.org/D54731[D54731]: OpenJDK 21-25 * Fixed and improved Serviceability Agent for FreeBSD in mainline BSD port: - link:https://github.com/battleblow/jdk/pull/38[Undo breakage] caused by upstream macOS port. - Fixed link:https://github.com/battleblow/jdk/pull/38/changes/c1c498392ee10b0c35e8078f11cc975b9f1df5fb[obtaining stack traces from threads] in process being traced. - Fixed link:https://github.com/battleblow/jdk/pull/42[spurious issue] where symbol lookup of native symbols from shared objects would sometimes fail. - link:https://github.com/battleblow/jdk/pull/38/changes/39130dd99897437101169bddc032431ecf259461[Simplified function] for reading arbitrary memory from traced process. * Enabled link:https://github.com/battleblow/jdk/pull/41[building/installing the Hotspot Disassembler] (HSDIS) for FreeBSD. - This is needed for some tests for Aarch64 to check that Hotspot generates the correct instruction sequences in various environments. Only supporting the llvm backend for now, though there is no reason to believe the others would not work. + This is needed for some tests for Aarch64 to check that Hotspot generates the correct instruction sequences in various environments. + Only supporting the llvm backend for now, though there is no reason to believe the others would not work. * link:https://github.com/battleblow/jdk/pull/40[Synced ThreadWXEnable implementation] with macOS. This enables Hotspot to toggle Write/Execute access to memory segments so that it can generate code to later be executed on Aarch64. Just a minor tweak so we align with the API used by the macOS code, even though our implementation is different. * Backported BSD related changes from mainline to link:https://github.com/battleblow/jdk25u/pull/11[OpenJDK 25] and link:https://github.com/battleblow/jdk26u/pull/3[OpenJDK 26] ports. * Added new link:https://reviews.freebsd.org/D55938[port for OpenJDK 26]. Thanks to Greg Lewis and Kurt Miller for helping. * Merged link:https://github.com/openjdk/bsd-port/pull/4[first PR] into upstream BSD port repo! Other notes: * Started work on updating OpenJDK 25 to version 25.0.3, scheduled for mid April release. * I will be talking about the project and my experience working on it at the link:https://foss-north.se/2026/speakers-and-talks.html#heilertsen[foss-north] conference in Gothenburg, Sweden, on April 28. Sponsor: The FreeBSD Foundation diff --git a/website/content/en/status/report-2026-01-2026-03/sbom.adoc b/website/content/en/status/report-2026-01-2026-03/sbom.adoc index 5226014c67..9ebdb24e2e 100644 --- a/website/content/en/status/report-2026-01-2026-03/sbom.adoc +++ b/website/content/en/status/report-2026-01-2026-03/sbom.adoc @@ -1,37 +1,38 @@ === FreeBSD Software Bill of Materials Links: + link:https://github.com/pkgconf/pkgconf/pull/484[spdxtool: Add parameter for using URI as SPDX id] URL: link:https://github.com/pkgconf/pkgconf/pull/484[] + link:https://github.com/pkgconf/pkgconf/pull/483[spdxtool: Add cli parameter for changing SPDX id] URL: link:https://github.com/pkgconf/pkgconf/pull/483[] + link:https://github.com/pkgconf/pkgconf/pull/475[spdxtool: spdxtool: Add homepage handling] URL: link:https://github.com/pkgconf/pkgconf/pull/475[] + link:https://github.com/pkgconf/pkgconf/pull/474[spdxtool: Add source handling to SBOM] URL: link:https://github.com/pkgconf/pkgconf/pull/474[] + link:https://github.com/pkgconf/pkgconf/pull/473[spdxtool: Add support for copyright text] URL: link:https://github.com/pkgconf/pkgconf/pull/473[] + link:https://github.com/pkgconf/pkgconf/pull/461[spdxtool: Rework of License-tag SDPX expression evaluation] URL: link:https://github.com/pkgconf/pkgconf/pull/461[] + link:https://github.com/pkgconf/pkgconf/pull/450[Add some stricter compiler warnings and overcome new warnings ] URL: link:https://github.com/pkgconf/pkgconf/pull/450[] + link:https://github.com/pkgconf/pkgconf/pull/447[libpkgconf/libpkgconf.h: Add printf-like attributes to functions] URL: link:https://github.com/pkgconf/pkgconf/pull/447[] + link:https://github.com/pkgconf/pkgconf/pull/446[spdxtool: Update variables that are const to const] URL: link:https://github.com/pkgconf/pkgconf/pull/446[] + link:https://github.com/pkgconf/pkgconf/pull/445[man/spdxtool.1: Add man page for spdxtool] URL: link:https://github.com/pkgconf/pkgconf/pull/445[] + link:https://cgit.freebsd.org/src/log/?qt=author&q=Tuukka+Pasanen[Added SPDX-License-Identifiers] URL: link:https://cgit.freebsd.org/src/log/?qt=author&q=Tuukka+Pasanen[] + link:https://github.com/freebsd/freebsd-src/compare/main...illuusio:freebsd-src:update-spdx-licenses[SPDX-License-Identifiers up-to review and waiting for upstreaming] URL: link:https://github.com/freebsd/freebsd-src/compare/main...illuusio:freebsd-src:update-spdx-licenses[] + link:https://reviews.freebsd.org/D55461[Issue open for commenting and review: caesar: Add SPDX-License-Identifier tags] URL: https://reviews.freebsd.org/D55461[] + link:https://github.com/illuusio/freebsd-src/tree/sbom-pkgconfig/release/sbom[.pc file for SBOM metadata (WIP)] URL: https://github.com/illuusio/freebsd-src/tree/sbom-pkgconfig/release/sbom Contact: Tuukka Pasanen The FreeBSD Software Bill of Materials (SBOM) project started in 2025 and continued in 2026. Work in 2026 has focused more on the EU Cyber Resilience Act (CRA), and the effort has shifted toward delivering a framework for FreeBSD source. In the first quarter of 2026, SBOM work was delivered in three categories: * Pkgconf upstream work, especially with spdxtool-tool, which is used for creating SPDX Lite 3.0.1 JSON-LD SBOMs from [.filename]#.pc#-files. + Several missing features have been added and are under active development by pkgconf contributors. + The tool is now nearly compatible with SPDX Lite 3.0.1 requirements and is ready for general use. + Additionally, there is an effort to import pkgconf as part of the FreeBSD source, led by Pierre Pronchery. * Adding missing SPDX-License-Identifier to files under the FreeBSD source in the [.filename]#bin#, [.filename]#sbin#, [.filename]#usr.bin#, and [.filename]#usr.sbin# directories. -* Creating [.filename]#.pc#-files for SBOM. The first patch is expected to land in 2026Q2, starting with files from [.filename]#bin#. +* Creating [.filename]#.pc#-files for SBOM. +The first patch is expected to land in 2026Q2, starting with files from [.filename]#bin#. If you want to help with this effort: * Verify that SPDX-License-Identifier licenses are correct and assist with upstreaming files. * Verify that [.filename]#.pc# files contain accurate information and help upstreaming them to git. * Assist in reviewing the pkgconf import to the FreeBSD source. Sponsor: The FreeBSD Foundation diff --git a/website/content/en/status/report-2026-01-2026-03/valgrind.adoc b/website/content/en/status/report-2026-01-2026-03/valgrind.adoc index 2448ebfeb8..ec4d97e00f 100644 --- a/website/content/en/status/report-2026-01-2026-03/valgrind.adoc +++ b/website/content/en/status/report-2026-01-2026-03/valgrind.adoc @@ -1,31 +1,32 @@ === Valgrind: stabilization, FreeBSD 16 fixes and additions Links: + link:https://www.valgrind.org/[Valgrind Home Page] URL: link:https://www.valgrind.org/[] + link:https://www.valgrind.org/docs/manual/dist.news.html[Valgrind News] URL: link:https://www.valgrind.org/docs/manual/dist.news.html[] + Contact: Paul Floyd When FreeBSD 14.4-RELEASE came out and all went smoothly I thought that there would be little to say for this quarterly status report. Then I started using a couple of 16.0-CURRENT machines that are part of the GCC server farm. There I saw several issues. At first there were many more failures than I would normally expect. A bit later the servers were updated and Valgrind broke quite badly, asserting early on in start up. Some of these issues were the usual high maintenance expected with Valgrind. A new Helgrind suppression was required for internal locks used by `pthread_create`. The servers were built and installed from source which affects the error callstacks occasionally. The Valgrind regression tests are quite sensitive to that kind of change and some extra filtering was required. The asserts were caused by incorrect assumptions in Valgrind that are used when the tool reads its own binary, mainly to enable it to print its own callstack if there is a crash. The final problem was caused by a change in the way that library split debug files files are produced. -Overall, this is more of a stabilization release. There are relatively few new features. +Overall, this is more of a stabilization release. +There are relatively few new features. Valgrind 3.27 is due out at the end of April 2026 and package:devel/valgrind[] will be updated shortly after that. Here is a list of bugfixes since my last report, Q3 2025. * Internal cleanup of syscall arg handling. * More checking during client stack creation. * Some tweaks to the default suppressions. * Added syscall wrappers for `kexec_load`, `pdwait`, `renameat2` * Syscall `pdrfork` added with flag "not implemented" (`rfork`-like syscalls are very difficult to implement in Valgrind).