<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/release/tools, branch releng/14.3</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F14.3</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F14.3'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2025-05-15T22:22:44Z</updated>
<entry>
<title>EC2: Remove old broken_txfifo workaround</title>
<updated>2025-05-15T22:22:44Z</updated>
<author>
<name>Colin Percival</name>
<email>cperciva@FreeBSD.org</email>
</author>
<published>2025-05-14T23:36:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=29d6968fd36d27b27f953d5c00f9763491b10734'/>
<id>urn:sha1:29d6968fd36d27b27f953d5c00f9763491b10734</id>
<content type='text'>
Early versions of Xen, including those used in the early days of EC2,
had a bug in their UART emulation whereby the TX FIFO wouldn't send the
expected interrupt when emptying; as a result, FreeBSD would write 16
characters to the serial console and then stop because we thought the
FIFO was forever full.

In 2013 (1c60b24baa50) I added a loader tunable "hw.broken_txfifo"
which spinwaits for the FIFO TX rather than relying on the interrupt,
and enabled this in loader.conf in EC2 images.

A decade later, this workaround is almost certainly no longer needed in
EC2 -- most instances don't run Xen, and the bug was long since fixed
in Xen anyway -- but we've been holding on to the workaround "just in
case".  Unfortunately, the spinwait behaviour is causing latency spikes
and triggering warnings from the ena(4) driver.

This commit removes the hw.broken_txfifo setting from loader.conf in
EC2 images, but leaves the loader tunable and associated code, since it
has been necessary in some other environments.  (It seems that the TX
FIFO missing-interrupts bug has been independently written at least
three times!)

Approved by:	re (cperciva)
MFC after:	1 minute
Sponsored by:	Amazon

(cherry picked from commit 9a685c09f06a55b18589d75f9307563d84a17fa9)
(cherry picked from commit eadda156a50d3487ec1e6fc78f6cfe2df42448fa)
</content>
</entry>
<entry>
<title>release: use "runtime" instead of "minimal" for OCI image name</title>
<updated>2025-04-30T07:55:41Z</updated>
<author>
<name>Dave Cottlehuber</name>
<email>dch@FreeBSD.org</email>
</author>
<published>2025-04-27T23:46:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f5418217dbc6c3f9317479183b06fff6be147ab3'/>
<id>urn:sha1:f5418217dbc6c3f9317479183b06fff6be147ab3</id>
<content type='text'>
The runtime name is taken from the main pkg-base package that this
image is built off.

Sponsored by:	SkunkWerks, GmbH
MFC after:	3 days
Reviewed by:	dfr, emaste
Differential Revision:	https://reviews.freebsd.org/D50043

(cherry picked from commit a0165254bfeb5e310f92d4e0c88fcb5c6ea802bf)
</content>
</entry>
<entry>
<title>Turn off hw.pci.intx_reroute in EC2</title>
<updated>2025-04-26T19:21:22Z</updated>
<author>
<name>Colin Percival</name>
<email>cperciva@FreeBSD.org</email>
</author>
<published>2025-04-23T15:17:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=66d36f4f1025193a64cf296873ed4a4b34471d91'/>
<id>urn:sha1:66d36f4f1025193a64cf296873ed4a4b34471d91</id>
<content type='text'>
Having this enabled on Graviton systems prior to Graviton 4 results in
a resource leak and a kernel panic after repeated hotplug/unplug.

MFC after:	3 days
Sponsored by:	Amazon

(cherry picked from commit ce9a34b1614e37dc3f8763586448063408c7bf16)
</content>
</entry>
<entry>
<title>EC2: Add AMI Builder AMI building</title>
<updated>2025-04-26T19:17:51Z</updated>
<author>
<name>Colin Percival</name>
<email>cperciva@FreeBSD.org</email>
</author>
<published>2025-04-20T16:38:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=925ec43c152566b28cf00f8ec0d11715263a6c3a'/>
<id>urn:sha1:925ec43c152566b28cf00f8ec0d11715263a6c3a</id>
<content type='text'>
Starting in 2015 I have published "AMI Builder AMIs" for FreeBSD/EC2:
These boot into a memory disk, extract a "clean" copy of FreeBSD onto
the root disk, mount it at /mnt, and allow the user to SSH in to make
customizations before creating a new AMI from the "running" instance
(in fact, from the FreeBSD installation which is not running but is
mounted on /mnt).

This provides a much cleaner mechanism for building customized FreeBSD
AMIs than the traditional Linux approach of "launch an EC2 instance,
SSH in and configure it, then try to wipe logs and credentials before
creating an AMI"; and it's easier than building a customized AMI ab
initio by modifying the FreeBSD release-building code.

This commit brings that functionality into the FreeBSD src tree and
into the collection of images built by the release engineering team:
The EC2 "BUILDER" flavour AMI is essentially a "SMALL" flavour AMI with
a compressed "BASE" flavour disk image, plus an init script which
juggles disks around (rerooting into a memory disk and extracting the
"BASE" image onto disk).

Polished by:	bz, emaste
MFC after:	1 week
Sponsored by:	Amazon
Differential Revision:	https://reviews.freebsd.org/D49930

(cherry picked from commit 58426589030308cd632477d328b9536b1634c54d)
</content>
</entry>
<entry>
<title>EC2: Set PCIe eject timeout to 0</title>
<updated>2025-04-16T03:18:03Z</updated>
<author>
<name>Colin Percival</name>
<email>cperciva@FreeBSD.org</email>
</author>
<published>2025-03-31T04:11:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f852f4f7b6f1666b09b16dba4aaab7acdb49980d'/>
<id>urn:sha1:f852f4f7b6f1666b09b16dba4aaab7acdb49980d</id>
<content type='text'>
Since PCIe device detaching is done via API, there is no opportunity
to "press the attention button a second time" and thus the 5 second
timeout mandated by PCIe serves no purpose.

MFC after:	2 weeks
Sponsored by:	Amazon

(cherry picked from commit 80febaa1714e897d67a8217edc305a0e81498a6f)
</content>
</entry>
<entry>
<title>acpi_pci: Add quirk for DELAY-after-EJ0</title>
<updated>2025-04-14T16:09:49Z</updated>
<author>
<name>Colin Percival</name>
<email>cperciva@FreeBSD.org</email>
</author>
<published>2025-03-06T05:22:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=43933d89a3256f33d0eb29473ac56b3e0e7b9318'/>
<id>urn:sha1:43933d89a3256f33d0eb29473ac56b3e0e7b9318</id>
<content type='text'>
On some EC2 instances, there is a race between removing a device from
the system and making the PCI bus stop reporting the presence of the
device.  As a result, a PCI BUS_RESCAN performed immediately after
the _EJ0 method returns "sees" the device which is being ejected, which
then causes problems later (e.g. we won't recognize a new device being
plugged into that slot because we never knew it was vacant).

On other operating systems the bus is synchronously marked as needing
to be rescanned but the rescan does not occur until O(1) seconds later.

Create a new ACPI_Q_DELAY_BEFORE_EJECT_RESCAN quirk and set it in EC2
AMIs, and add a 10 ms DELAY between _EJ0 and BUS_RESCAN when tht quirk
is set.

Reviewed by:	jhb
MFC after:	1 month
Sponsored by:	Amazon
Differential Revision:	https://reviews.freebsd.org/D49252

(cherry picked from commit 55c3348ed78fb1d0891e8bb51a8948f95da3560b)
</content>
</entry>
<entry>
<title>release: ensure default sudo flavor is selected</title>
<updated>2025-04-08T18:58:08Z</updated>
<author>
<name>Dave Cottlehuber</name>
<email>dch@FreeBSD.org</email>
</author>
<published>2025-02-28T22:27:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7eab72fae632115fa93f5b39f1f39453e0630af9'/>
<id>urn:sha1:7eab72fae632115fa93f5b39f1f39453e0630af9</id>
<content type='text'>
pkg behaviour selects the non-default flavour, this trims
0,5GiB per cloudware image, by being explicit.

Approved by:	cperciva
Differential Revision:	https://reviews.freebsd.org/D48599
Sponsored by:	SkunkWerks, GmbH
PR:		284278
MFC after:	10 days

(cherry picked from commit 457d745d90a6b63793c9ca17bcd7ec5ff4cd8b93)
</content>
</entry>
<entry>
<title>acpi_pci: Add quirk for PSTAT_PME-before-detach</title>
<updated>2025-04-01T17:43:58Z</updated>
<author>
<name>Colin Percival</name>
<email>cperciva@FreeBSD.org</email>
</author>
<published>2025-02-27T00:31:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a64357f31b7c798452e7aca4e6ec34c2842a4fc1'/>
<id>urn:sha1:a64357f31b7c798452e7aca4e6ec34c2842a4fc1</id>
<content type='text'>
In order to signal to Graviton [123] systems that a device is ready
to be "ejected" (after a detach request is made via the EC2 API) we
need to set PCIM_PSTAT_PME to 1 and PCIM_PSTAT_PMEENABLE to 0.  We are
not aware of any rationale for this requirement beyond "another OS
kernel happens to do this", i.e. this is effectively bug-for-bug
compatibility.

Arguably this should be done by the ACPI _EJ0 method on these systems,
but it is not.

Create a new ACPI_Q_CLEAR_PME_ON_DETACH quirk and set it in EC2 AMIs,
and add the PCI register write to acpi_pci_device_notify_handler when
that quirk is set.

Reviewed by:	jhb
MFC after:	1 month
Sponsored by:	Amazon
Differential Revision:	https://reviews.freebsd.org/D49146

(cherry picked from commit d70bac252d30adec4feba0c866dabe2c16a756d9)
</content>
</entry>
<entry>
<title>release: build OCI images with shell scripts</title>
<updated>2025-03-04T09:46:03Z</updated>
<author>
<name>Doug Rabson</name>
<email>dfr@FreeBSD.org</email>
</author>
<published>2024-12-12T16:42:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f60149306ccf784ddaa517132a8be47bb523984d'/>
<id>urn:sha1:f60149306ccf784ddaa517132a8be47bb523984d</id>
<content type='text'>
This avoids the need for buildah and skopeo for building releases.

Reviewed by:		cpersiva
MFC after:		1 day
Differential Revision:	https://reviews.freebsd.org/D48574

(cherry picked from commit e8a5b9fd73f4f437a03c85e7644daa55652e224b)
</content>
</entry>
<entry>
<title>release: Chase location of pkg repo databases</title>
<updated>2025-02-09T21:14:34Z</updated>
<author>
<name>Colin Percival</name>
<email>cperciva@FreeBSD.org</email>
</author>
<published>2025-02-04T00:10:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=eebfb83805c0f9f11ded223e5742a58ab6a5a1d6'/>
<id>urn:sha1:eebfb83805c0f9f11ded223e5742a58ab6a5a1d6</id>
<content type='text'>
pkg used to store copies of upstream repository databases in
/var/db/pkg/repo-*.sqlite.  About a year ago this was moved to
/var/db/pkg/repos/*/, resulting in FreeBSD cloud images no longer
having those (unhelpful since they'll be long out of date before
the cloud images are launched) databases removed.

Remove the correct location, and hope that future pkg updates don't
break the base system again.

Sponsored by:	Amazon

(cherry picked from commit 078e8b34b13d6d0663661542eeac9007806fccdc)
</content>
</entry>
</feed>
