+<li><p>Represented FreeBSD at Apricot 2020 in Melbourne, Australia and sponsored the
+ event.
+</p>
+</li>
+<li><p>Industry Partner Sponsor for USENIX FAST '20 in Santa Clara, CA
+</p>
+</li>
+<li><p>Sponsored FOSSASIA 2020, in Singapore
+</p>
+</li>
+<li><p>Committed to hold FreeBSD Day at SCALE 18x, in Pasadena, CA
+</p>
+</li>
+<li><p>Held a "Getting Started with FreeBSD Workshop" at SCALE 18x in addition to
+ giving a talk, representing FreeBSD at the Expo and holding a "Why FreeBSD is
+ Me" BoF. Check out the <a href='https://www.freebsdfoundation.org/blog/scale-18x-conference-recap/'>conference recap</a>.
+</p>
+</li></ul>
+We continued producing FreeBSD advocacy material to help people promote FreeBSD.
+<p>Learn more about our efforts in 2019 to <a href='https://www.freebsdfoundation.org/blog/2019-in-review-advocacy/'>advocate for FreeBSD</a>.
+</p>
+<p>In addition to the information found in the Development Projects update section
+of this report, take a minute to check out the latest update blogs:
+</p>
+<ul>
+<li><p><a href='https://www.freebsdfoundation.org/blog/power-to-the-people-making-freebsd-a-first-class-citizen-on-power/'>POWER to the People: Making FreeBSD a First Class Citizen on POWER</a>.
+<url href='https://download.freebsd.org/ftp/snapshots/ISO-IMAGES/'>FreeBSD development snapshots</url>
+</links>
+
+
+<body><p>The FreeBSD Release Engineering Team is responsible for setting
+and publishing release schedules for official project releases
+of FreeBSD, announcing code freezes and maintaining the
+respective branches, among other things.
+</p>
+<p>The FreeBSD Release Engineering Team published the schedules for the upcoming
+11.4-RELEASE and 12.2-RELEASE cycles.
+</p>
+<p>Much time was spent by Glen Barber working on updates to the various build
+tools adding support for builds from both Subversion and Git. This is very
+much a work in progress, as there are a number of inter-connected moving
+parts.
+</p>
+<p>Additionally throughout the quarter, several development snapshots builds
+were released for the <i>head</i>, <i>stable/12</i>, and <i>stable/11</i> branches.
+</p>
+<p>Much of this work was sponsored by Rubicon Communications, LLC (netgate.com)
+and the FreeBSD Foundation.
+</p></body></project>
+<project cat='team'>
+<title>Cluster Administration Team</title>
+
+<contact>
+<person>
+<name>Cluster Administration Team</name>
+<email>clusteradm@FreeBSD.org</email>
+</person>
+</contact>
+
+<links>
+<url href='https://www.freebsd.org/administration.html#t-clusteradm'>Cluster Administration Team members</url>
+</links>
+
+<body><p>The FreeBSD Cluster Administration Team consists of the people responsible for administering the machines that the Project relies on for its distributed work and communications to be synchronised. In this quarter, the team has worked on the following:
+</p>
+<ul>
+<li><p>Upgrade all ref- and universe- machines
+</p></li>
+<li><p>South Africa mirror (JINX) is online
+</p></li>
+<li><p>Package service of Seattle, USA mirror (TUK) is online
+</p></li>
+<li><p>Ongoing systems administration work:
+</p><ul>
+<li><p>Creating accounts for new committers.
+</p></li>
+<li><p>Backups of critical infrastructure.
+</p></li>
+<li><p>Keeping up with security updates in 3rd party software.
+</p>
+</li></ul>
+</li></ul>
+Work in progress:
+
+<ul>
+<li><p>Setup Malaysia (KUL) mirror
+</p></li>
+<li><p>Setup Brazil (BRA) mirror
+</p></li>
+<li><p>Setup Amsterdam (PKT) mirror
+</p></li>
+<li><p>Review the service jails and service administrators operation.
+</p></li>
+<li><p>Infrastructure of building aarch64 and powerpc64 packages
+</p><ul>
+<li><p>NVME issues on PowerPC64 Power9 blocking dual socket machine from being used as pkg builder.
+</p></li>
+<li><p>Drive upgrade test for pkg builders (SSDs) courtesy of the FreeBSD Foundation.
+</p></li>
+<li><p>Boot issues with Aarch64 reference machines.
+</p></li></ul>
+</li><li><p>New NYI.net sponsored colocation space in Chicago-land area.
+<p>The FreeBSD CI team maintains the continuous integration system and related tasks
+for the FreeBSD project. The CI system regularly checks the committed changes
+can be successfully built, then performs various tests and analysis of the
+results. The artifacts from the build jobs are archived in the artifact server for
+further testing and debugging needs. The CI team members examine the
+failing builds and unstable tests and work with the experts in that area to
+fix the codes or adjust test infrastructure. The details of these efforts
+are available in the <a href='https://hackmd.io/@FreeBSD-CI'>weekly CI reports</a>.
+</p>
+<p>During the first quarter of 2020, we continue working with the contributors and developers in the project for their testing needs and also keep working with external projects and companies to improve their support of FreeBSD.
+</p>
+<p>Important changes:
+</p><ul>
+<li><p>All the -head jobs are using clang/lld toolchain
+</p></li>
+<li><p>All the -head test are using kyua in the base
+</p></li>
+<li><p>RISC-V jobs now generate full disk image and run tests in QEMU with OpenSBI
+</p></li>
+<li><p>freebsd-doc job also checks building of www.freebsd.org
+read the blocking word on each syscall entry. This is needed to
+ensure that userspace does not see spurious EINTR/ERESTART if the
+signals are blocked by the word. Since if kernel cached outdated
+value for the block word, it would abort sleep, but then ast sees the
+correct mask and does not deliver the pending signal.
+</p>
+<p>There were concerns that this read of the word causes slowdown in
+syscalls microbenchmarks, esp. on machines with SMAP. The reason is
+that SMAP requires all userspace access bracketed by STAC/CLAC pair of
+instructions, which are de-facto serializing (this is not
+architectural, but all current microarchitectures do it). The
+decision was made to eliminate the word read, at the cost of possibly
+returning spurious EINTR. The impact should be minimal, since
+sigfastblock(2) is not supposed to be the service available to users,
+it is only assumed for rtld and libthr implementations.
+</p>
+<p>Sponsor: The FreeBSD Foundation
+</p></body></project>
+<project cat='kern'>
+<title>arm64 LSE atomic instructions</title>
+
+<contact>
+<person>
+<name>Mark Johnston</name>
+<email>markj@FreeBSD.org</email>
+</person>
+</contact>
+
+<body><p>An investigation of some performance oddities on EC2 Graviton 2
+instances resulted in support for the use of Large System Extension
+(LSE) atomic instructions in the FreeBSD kernel.
+</p>
+<p>LSE is an mandatory ISA extension specified in ARMv8.1. It consists of
+a number of new atomic instructions, superseding the
+Load-Linked/Store-Conditional (LL/SC) instruction pairs use when LSE is
+not implemented. The extension is present in a number of ARMv8 server
+platforms, including the Cavium ThunderX2 and AWS Graviton 2. The new
+instructions provide significantly better scalability.
+</p>
+<p>A recent set of patches modified the FreeBSD kernel to detect support
+for LSE and dynamically select an atomic(9) implementation based on
+the new instructions when all CPUs implement the extension. The initial
+atomic(9) implementations were provided by Ali Saidi. Some benchmarking
+on a 64-vCPU Graviton 2 instance shows a ~4% reduction in wall clock
+time for a kernel build, and a ~15% reduction in system CPU time.
+</p>
+<p>Some ARMv8 multi-processor systems implement a heterogenous CPU
+architecture, referred to as big.LITTLE, in which multiple processor
+types are used. Surprisingly, such systems may implement the LSE on
+only a subset of its CPUs, in which case LSE instructions cannot be used
+by the kernel. As a result, FreeBSD currently waits until all
+processors are online before selecting the atomic(9) implementation,
+which precludes the use of ifuncs to provide dynamic selection.
+</p>
+<p>Currently atomic(9)'s use of LSE is limited to the kernel. A future
+project would extend this to userspace, so that FreeBSD system libraries
+can leverage the LSE instructions when they are available.
+</p>
+<p>Sponsor: The FreeBSD Foundation
+Sponsor: Amazon
+</p></body></project>
+<project cat='kern'>
+<title>FreeBSD on Microsoft HyperV and Azure</title>
+
+<links>
+<url href='https://wiki.freebsd.org/MicrosoftAzure'>FreeBSD on MicrosoftAzure wiki</url>
+<url href='https://wiki.freebsd.org/HyperV'>FreeBSD on Microsoft HyperV</url>
+</links>
+
+<contact>
+<person>
+<name>FreeBSD Integration Services Team</name>
+<email>bsdic@microsoft.com</email>
+</person>
+<person>
+<name>Wei Hu</name>
+<email>whu@FreeBSD.org</email>
+</person>
+<person>
+<name>Li-Wen Hsu</name>
+<email>lwhsu@FreeBSD.org</email>
+</person>
+</contact>
+
+<body><p>Wei is working on HyperV Socket support for FreeBSD. HyperV Socket provides a way for the HyperV host and guest to communicate using a common socket interface without networking required. Some features in Azure require HyperV Socket support in the guest.
+</p>
+<p>Details of HyperV Socket is available <a href='https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/make-integration-service'>here</a>.
+</p>
+<p>The work-in-progress is available <a href='https://reviews.freebsd.org/D24061'>here</a>
+</p>
+<p>This project is sponsored by Microsoft.
+</p>
+<p>Li-Wen is working on the FreeBSD release code related to Azure for the -CURRENT and 12-STABLE branches. The release of 12.1-RELEASE on Azure is also in progress.
+</p>
+<p>The work-in-progress is available <a href='https://reviews.freebsd.org/D23804'>here</a>
+</p>
+<p>This project is sponsored by The FreeBSD Foundation.
+</p></body></project>
+<project cat='kern'>
+<title>FreeBSD on the ARM Morello platform</title>
+
+<links>
+<url href='https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/cheri-morello.html'>The Arm Morello Board</url>
+<p>It has been a year since the RISC-V project's last status report. In that time,
+the RISC-V port has benefited from increased attention, and received
+improvements of all kinds.
+</p>
+<p>The RISC-V project has brought in two new src committers. We'd like to welcome
+Jessica Clarke (jrtc27@), who is a member of CheriBSD, and Nick O'Brien (nick@)
+of Axiado to the team.
+</p>
+<p>Some highlights from last year:
+</p><ul>
+<li><p>Bring-up on SiFive's Hifive Unleashed board
+</p></li>
+<li><p>Support for the OpenSBI firmware and version 0.2 of the SBI specification
+</p></li>
+<li><p>Addition of the UART, SPI, and PRCI device drivers for the HiFive Unleashed
+</p>
+</li></ul>
+Last quarter, the default compiler and linker was switched to clang/lld. This
+<p>required a small number of integration changes on our side, but was mainly
+enabled by the upstream improvements to the RISC-V LLVM back-end. LLVM's RISC-V
+support became "official" <a href='https://lists.llvm.org/pipermail/llvm-dev/2019-September/135304.html'>with LLVM 9</a>, and LLVM 10 has brought further
+improvements. The LLVM back-end is expected to continue to mature, as there are
+now many parties actively involved in its development. GCC remains supported as
+an external toolchain for RISC-V.
+</p>
+<p>The <a href='https://ci.freebsd.org/job/FreeBSD-head-riscv64-build/'>CI job for HEAD</a>
+has been updated to use the clang/lld toolchain, and a GCC job will be added in the future.
+The RISC-V disk image built in the CI system now contains the full base system and
+is available on the <a href='https://artifact.freebsd.org'>CI artifact server</a> for
+further testing. The CI test job was updated to use OpenSBI in qemu. Work on
+running the FreeBSD test suite for RISC-V in the CI system is in progress.
+</p>
+<p>Some progress has been made on supporting the ports framework on RISC-V, which
+was mostly untested until recently. First,
+<code>emulators/qemu-user-static-devel</code> received an update adding support for the
+RISC-V 64-bit ABI, allowing ports to be cross-compiled via <code>poudiere(8)</code>.
+Second, improvements were made to the detection of the soft-float ABI,
+riscv64sf. Systems running either of the hard-float or soft-float ABIs can now
+compile and run ports natively. At the moment a small subset of ports can be
+built successfully, and in the coming months we will look to improve that to
+include a base set of crucial ports (e.g. python or perl).
+</p>
+<p>The CheriBSD project saw an initial port to RISC-V this quarter. Preliminary
+support for the CHERI ISA has been added to the Spike and QEMU emulators, as
+well as the necessary changes on the CheriBSD side. Currently, the CheriBSD
+RISC-V kernel boots, and most statically compiled CHERI binaries run without
+issue.
+</p>
+<p>Although real RISC-V hardware is still scarce, any users with an interest
+trying out or contributing to the RISC-V port are encouraged to do so. Please
+visit the recently updated wiki page for information on getting set up, or check
+out "Getting Started with FreeBSD/RISC-V" in the January/February edition of The
+FreeBSD Journal.
+</p>
+<p>Sponsor: DARPA, AFRL, Axiado, the FreeBSD Foundation
+</p></body></project>
+<project cat='bin'>
+<title>GCC 4.2.1 Retirement</title>
+
+<contact>
+<person>
+<name>Ed Maste</name>
+<email>emaste@freebsd.org</email>
+</person>
+<person>
+<name>Warner Losh</name>
+<email>imp@freebsd.org</email>
+</person>
+</contact>
+
+<body><p>In 2007 the GNU Compiler Collection (GCC) migrated to GPLv3, which
+prompted discussions about the future of the FreeBSD tool chain. We held
+a <a href='https://wiki.freebsd.org/201005ToolchainSummit'>Tool Chain Summit</a> at
+BSDCan 2010. Roman Divacky gave an update on the ClangBSD project, building
+FreeBSD using the new and rapidly improving Clang compiler.
+</p>
+<p>Since that time Clang was imported into the FreeBSD base system and was used
+more and more widely - first being installed but not the default <code>cc</code>, then
+used by default on i386 and amd64, and later used on more and more targets.
+In the years since Dimitry Andric has been keeping our copy of Clang
+up-to-date.
+</p>
+<p>GCC 4.2.1 was kept in the tree for a few FreeBSD targets that hadn't migrated
+to Clang, such as MIPS and Sparc64. By early this year all remaning targets
+had migrated to external toolchain (contemporary GCC from ports or packages),
+or had been deprecated.
+</p>
+<p>With no in-tree consumers remaining, GCC 4.2.1 was removed from FreeBSD in
+<a href='https://svnweb.freebsd.org/changeset/base/358454'>r358454</a> on February 29,
+2020.
+</p>
+<p>Sponsor: The FreeBSD Foundation
+</p></body></project>
+<project cat='bin'>
+<title>elfctl utility</title>
+
+<contact>
+<person>
+<name>Ed Maste</name>
+<email>emaste@freebsd.org</email>
+</person>
+</contact>
+
+<body><p>In <a href='https://reviews.freebsd.org/rS340076'>r340076</a> Ed added the
+<i>NT_FREEBSD_FEATURE_CTL</i> ELF note, used to allow binaries to opt out of,
+or in to, vulnerability mitigation and other features. FreeBSD Foundation
+intern Bora Özarslan later added a tool to decode and modify the ELF note,
+but it had yet to be installed by default.
+</p>
+<p>In the previous quarter Ed renamed the tool to <i>elfctl</i>, and installed it
+in /usr/bin. Ed also committed a number of minor bug fixes, code style
+improvements, etc.
+</p>
+<p>Usage examples - list known feature flags:
+<pre><code>
+$ elfctl -l
+Known features are:
+aslr Disable ASLR
+protmax Disable implicit PROT_MAX
+stackgap Disable stack gap
+wxneeded Requires W+X mappings
+</code></pre>
+</p>
+<p>List feature tags set on a binary:
+<pre><code>
+$ elfctl /bin/ls
+File '/bin/ls' features:
+aslr 'Disable ASLR' is unset.
+protmax 'Disable implicit PROT_MAX' is unset.
+stackgap 'Disable stack gap' is unset.
+wxneeded 'Requires W+X mappings' is unset.
+</code></pre>
+</p>
+<p>Indicate that a binary requests to opt-out of address randomization:
+<pre><code>
+$ elfctl -e +aslr binary
+</code></pre>
+</p>
+<p>Sponsor: The FreeBSD Foundation
+</p></body></project>
+<project cat='bin'>
+<title>ELF Tool Chain</title>
+
+<contact>
+<person>
+<name>Ed Maste</name>
+<email>emaste@freebsd.org</email>
+</person>
+</contact>
+
+<body><p>A number of performance and functional improvements were committed to ELF
+Tool Chain tools over the last quarter.
+</p>
+<p>FreeBSD Foundation intern Tiger Gao added DWARF Debug Information Entry
+(DIE) caching to addr2line which provided a substantial improvement when
+translating many entries (even surpassing GNU addr2line with a large list).
+</p>
+<p>Tiger also rebased and updated an upstream ELF Tool Chain submission to
+handle <i>DW_AT_ranges</i> and addressed two elfcopy/objcopy bugs: setting the
+OS/ABI field correctly when converting a binary file to ELF, and correctly
+adding new sections when there is no <i>.shstrtab</i> section.
+</p>
+<p>Ed committed several readelf improvements, including decoding the
+<i>PROTMAX_DISABLE</i>, <i>STKGAP_DISABLE</i>, and <i>WXNEEDED</i> ELF feature control
+flags, decoding Xen and GNU Build-ID ELF notes, and improved input
+validation.
+</p>
+<p>Mark Johnston addressed many memory and file descriptor leaks and similar
+issues reported by Coverity Scan.
+</p>
+<p>Sponsor: The FreeBSD Foundation
+</p></body></project>
+<project cat='doc'>
+<title>FreeBSD Translations on Weblate</title>
+
+<links>
+<url href='https://wiki.freebsd.org/DocTranslationOnWeblate'>Translate FreeBSD on Weblate wiki</url>
+<body><p>As announced on <a href='https://www.freebsd.org/news/newsflash.html#event20200121:01'>January</a>, The FreeBSD Project is adopting Weblate as its web-based continuous localization platform.
+</p>
+<p>We are getting new volunteers to the effort and so far these are the numbers:
+<li><p>Norwegian Bokmål - <b><i>Added</i></b> - New language on FreeBSD
+</p></li>
+<li><p>Persian (fa_IR) - <b><i>Added</i></b> - New language on FreeBSD
+</p></li>
+<li><p>Portuguese (Brazil)
+</p></li>
+<li><p>Spanish
+</p></li>
+<li><p>Turkish (tr-TR) <b>[1]</b> - <b><i>Added</i></b> - New language on FreeBSD
+</p>
+</li></ul>
+1 - Already had an effort in the past.
+
+<p>We want to thank everyone that contributed, translating or reviewing documents.
+</p>
+<p>And please, help promote this effort on your local user group, we always need more volunteers.
+</p></body></project>
+<project cat='doc'>
+<title>FreeBSD Manpages overhaul</title>
+
+<contact>
+<person>
+<name>Gordon Bergling</name>
+<email>gbergling@gmail.com</email>
+</person>
+</contact>
+
+<body><p>I am currently working on an overhaul for the FreeBSD manpages by updating the HISTORY and STANDARDS sections and while here creating new manpages for parts of the system that missing documentation. FreeBSD has already one of the best documentation available for an UNIX-like operation system, but there are parts that could be improved.
+</p>
+<p>For the parts that have been already improved you can have a look at <a href='https://reviews.freebsd.org/p/gbergling_gmail.com/'>my Phabricator account</a>.
+</p>
+<p>If you would like to help on improving the documentation effort, please contact Benedict Reuschling <a href='mailto:bcr@freebsd.org'>bcr@freebsd.org</a> or me at gbergling@gmail.com.
+<body><p>An initial effort to write proper documentation and guides for the pot project has started. The documentation, even if incomplete, is available at <a href='https://pot.pizzamig.dev'>here</a>. A <a href='https://pot.pizzamig.dev/FAQ/'>F.A.Q.</a> page is available and waiting for users to submit their questions.
+</p>
+<p>During the last quarter, some bugs were reported on pot and on the nomad-pot-driver. Both projects released a new bug fix version.
+Many thanks to 'grembo' and 'Crest' that reported issues, tested and tried our solutions.
+Thanks also to Mateusz (0mp) for his Pull Requests!
+</p>
+<p>pot will have a new release soon (0.11.0), focused on network: