December 6, 2022

Written as part of the FreeBSD Project’s 1st Quarter 2022 Status Report, check out the highlights of what we did to help FreeBSD last quarter:

Fundraising Efforts

As promised, we updated our fundraising meter for 2022. So far, we’ve raised over $84,000 towards our 2022 goal of $1,400,000. We’d like to thank our individual and corporate donors for supporting our efforts this year. We’d also like to give a big shout out to our Gold Sponsor, Facebook, Silver Sponsors, VMware and Tarsnap, and the companies that provide free hosting for the Project: Bytemark, 365 Data Centers, NYI, NextArray, Sentex Data Communications, and the Computer Science Department at NCTU.

You can find out how we spent your donations by reading about what we supported in Q1, in this report, and our Spring Newsletter.

If you haven’t made a donation this year, please consider making a donation now at https://freebsdfoundation.org/donate/.

We also have a Partnership Program for larger commercial donors. You can find out more at https://freebsdfoundation.org/our-donors/freebsd-foundation-partnership-program/

OS Improvements

During the first quarter of 2022, 372 src, 41 ports, and 16 doc tree commits were made that identified The FreeBSD Foundation as a sponsor. # This represents 16, 0.4, and 5% of the total number of commits in each repository.

You can read about Foundation-sponsored projects in individual quarterly report entries:

  • Crypto changes for WireGuard
  • Intel Wireless driver support

Here is a small sample of other base system improvements from Foundation developers this quarter that do not have separate report entries.

riscv: Add support for enabling SV48 mode

SV48 is intended for systems for which a 39-bit virtual address space is insufficient. This change increases the size of the user map from 256GB to 128TB. The kernel map is left unchanged for now.

For now SV48 mode is left disabled by default, but can be enabled with a tunable. Note that extant hardware does not implement SV48, but QEMU does.

  • In pmap_bootstrap(), allocate a L0 page and attempt to enable SV48 mode. If the write to SATP doesn’t take, the kernel continues to run in SV39 mode.
  • Define VM_MAX_USER_ADDRESS to refer to the SV48 limit. In SV39 mode, the region [VM_MAX_USER_ADDRESS_SV39, VM_MAX_USER_ADDRESS_SV48] is not mappable.

Add v3 support to CTF tools

CTF, the Compact C Type Format, is a representation of type information most often contained within ELF binaries. This type information is helpful for probing tools like DTrace. Recent work by Mark Johnston allows different Dtrace providers like the FBT (Function Boundary Tracing) provider to work with version 3 of CTF.

FreeBSD on the Framework Laptop

Two Foundation staff members, Ed Maste and Mark Johnston, as well as a few developers and community members now each have access to Framework laptops, which are designed to make hardware upgrades, repairs, and customizations straightforward for the average user. The goal of this work is to ensure that the experience running FreeBSD on the laptops matches the stability that FreeBSD users expect.

Recent improvements and fixes include:

  • Making audio switch appropriately between speakers and the headphone jack when headphones are plugged in or unplugged
  • Fixing bug 259230, which would cause a Framework laptop to reboot or power off when the touchpad was used.
  • Adding the Tempo Semiconductor 92HD95B HDA codec ID
  • Temporarily fixing stalled usb enumeration, bluetooth, and S3 resume. The temporary fix is to avoid attaching to several newer Intel controllers, which require firmware to be loaded, which is different from that implemented by ng_ubt_intel and iwmbtfw, so they are not usable yet.
  • Avoiding a 16 second boot delay, by probing the TSC frequency earlier. This lets us use the TSC to implement early DELAY, limiting the use of the sometimes-unreliable 8254 PIT.

You can follow news about FreeBSD work on the Framework laptop at: https://wiki.freebsd.org/Laptops/Framework_Laptop.

Continuous Integration and Quality Assurance

The Foundation provides a full-time staff member and funds projects to improve continuous integration, automated testing, and overall quality assurance efforts for the FreeBSD project.

Supporting FreeBSD Infrastructure

The Foundation provides hardware and support for the Project. At the time of writing, the server that will become the new Australian mirror has arrived in Australia, has a fresh FreeBSD install and will shortly join the cluster.

FreeBSD Advocacy and Education

Much of our effort is dedicated to Project advocacy. This may involve highlighting interesting FreeBSD work, producing literature, attending events, or giving presentations. The goal of the literature we produce is to teach people FreeBSD basics and help make their path to adoption or contribution easier. Other than attending and presenting at events, we encourage and help community members run their own FreeBSD events, give presentations, or staff FreeBSD tables.

The FreeBSD Foundation sponsors many conferences, events, and summits around the globe. These events can be BSD-related, open source, or technology events geared towards underrepresented groups. We support the FreeBSD-focused events to help provide a venue for sharing knowledge, working together on projects, and facilitating collaboration between developers and commercial users. This all helps provide a healthy ecosystem. We support the non-FreeBSD events to promote and raise awareness of FreeBSD, to increase the use of FreeBSD in different applications, and to recruit more contributors to the Project. We are continuing to attend virtual events and began planning the June 2022 Developer Summit.

Check out some of the advocacy and education work we did last quarter:

We help educate the world about FreeBSD by publishing the professionally produced FreeBSD Journal. As we mentioned previously, the FreeBSD Journal is now a free publication. Find out more and access the latest issues at https://www.FreeBSDfoundation.org/journal/

You can find out more about events we attended and upcoming events at https://www.FreeBSDfoundation.org/news-and-events/.

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 https://www.FreeBSDFoundation.org to find more about how we support FreeBSD and how we can help you!