Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge FreeBSD 2024-03-01 #2175

Merged
merged 279 commits into from
Aug 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
279 commits
Select commit Hold shift + click to select a range
1a56620
ipsec esp: avoid dereferencing freed secasindex
kostikbel Feb 25, 2024
6e69612
pam: Add pam_xdg module
evadot Feb 21, 2024
6b9e6f1
pam: Always use pam_xdg for session and xdm
evadot Feb 22, 2024
53de23f
diff: Fix --expand-tabs and --side-by-side.
dag-erling Feb 26, 2024
312b107
diff: Bump manual page date.
dag-erling Feb 26, 2024
975d773
kern: fix panic with disabled ttys
emaste Feb 26, 2024
7b77d37
rtld-elf: support either byte-order of hints file
stesser Feb 26, 2024
bc4c7e7
ofwdump: Convert ints that are booleans to bool.
bsdimp Feb 26, 2024
a9341f0
snd_uaudio(4): Fix sample rate selection after 42fdcd9fd917.
0EVSG Feb 26, 2024
8bfb23a
pcm.4: Fix lint warnings
christosmarg Feb 26, 2024
9398a49
loader: Add loader.exit
bsdimp Feb 27, 2024
8432990
pam_xdg: Remove leftover debug printf
evadot Feb 27, 2024
2d2950c
pam_xdg: Check asprintf return value
evadot Feb 27, 2024
5acbe6d
pam_xdg: Reset rv to 0
evadot Feb 27, 2024
1df8700
PP mutexes: unlock: Reset inherited prio regardless of privileges
OlCe2 Feb 20, 2024
9ac3ac9
PP mutexes: lock: Check if priority is too high against base one
OlCe2 Feb 22, 2024
39e4665
PP mutexes: lock: Reduce 'umtx_lock' holding before taking the user lock
OlCe2 Feb 22, 2024
aeff15b
sched: Simplify sched_lend_user_prio_cond()
OlCe2 Feb 9, 2024
81b7ebe
stress2: Added a few regression tests
phoatfreebsd Feb 27, 2024
04d5a8a
vge(4): Fix a typo in a source code comment
gbergling Feb 27, 2024
8f87d40
dumprestore.h: Fix typos in source code comments
gbergling Feb 27, 2024
cce3a70
pci_vendors: update to 2024.02.02
bapt Feb 27, 2024
9566d92
pf: fix packet-to-big for route-to as well
kprovost Feb 27, 2024
e2f3649
bxe(4): Fix two typos in a kernel messages
gbergling Feb 27, 2024
6bce41a
carp(4): Fix a typo in a source code comment
gbergling Feb 27, 2024
7c667af
CTL: Drop Format Device and Rigid Disk Geometry mode pages
amotin Feb 27, 2024
04fc3fb
rman: Remove rman_set_start/end
bsdjhb Feb 27, 2024
9b619f0
dpaa2: Use bus_generic_rman_*
bsdjhb Feb 27, 2024
b25f03a
bhnd_usb: Use bus_generic_rman_*
bsdjhb Feb 27, 2024
3a48dfe
bhnd_chipc: Make use of bus_generic_rman_* to simplify some code
bsdjhb Feb 27, 2024
d1797fb
mkimg.1: add new PARTITION SPECIFICATION section
Feb 27, 2024
69945c4
netlink: Don't use a zero-length array
bsdjhb Feb 27, 2024
41ce9c8
netlink: restore original buffer if nlmsgs_to_linux() fails
glebius Feb 27, 2024
8aea77b
Add share/mk/local.dirdeps-targets.mk
sgerraty Feb 27, 2024
fae39d8
dwc: fix DEBUG macro name
mhorne Feb 27, 2024
a01dc14
conf: deduplicate dwc config logic
mhorne Feb 27, 2024
f84e9df
conf: deduplicate dwmmc config logic
mhorne Feb 27, 2024
036ce93
riscv: add dwc, dwmmc to NOTES
mhorne Feb 27, 2024
749e318
riscv: add starfive kernelconf template
mhorne Feb 27, 2024
72b0453
rc: Set var_run_enable to enable by default
evadot Feb 27, 2024
77f6c0c
nvmecontrol.8: Fix the SYNOPSIS section
bsdcode Feb 28, 2024
865baea
md5.1: Fix an example
bsdcode Feb 28, 2024
07d6006
stand: Remove dangling mips references
bsdimp Feb 27, 2024
15c8a61
gicv3: Change how we initialize its children.
bsdimp Feb 28, 2024
51c57ca
gicv3: Panic if the gicv3 already running
bsdimp Feb 28, 2024
ddd98f5
gicv3: Don't allocate pend_base if we're already started
bsdimp Feb 28, 2024
ae84491
gicv3: Only set the redistributor base if we're not prealloced
bsdimp Feb 28, 2024
b4368e8
gicv3: Report PENDBASE when bootverbose
bsdimp Feb 28, 2024
a3f164a
gicv3: Define PA masks for the PENDBASR and PROPBASER registers
bsdimp Feb 28, 2024
1d13cc2
gicv3: In its_init_cpu_lpi record each cpu's PENDBASER
bsdimp Feb 28, 2024
cb4a83c
gicv3: If the LPI is already allocated, remember it
bsdimp Feb 28, 2024
e8a605e
ota: Import One True Awk from 20240122 (6a07a6d3bb63)
bsdimp Feb 28, 2024
5c7b986
lorder: Clean up and improve robustness.
dag-erling Feb 28, 2024
96da41b
lorder: Add unit tests.
dag-erling Feb 28, 2024
cf4d9bf
lorder: Undeprecate.
dag-erling Feb 28, 2024
e0dfeca
ldconfig: support hints files of either byte-order
stesser Feb 28, 2024
48f33b5
netlink: fix casts
kprovost Feb 26, 2024
dfed87b
netlink: add bool type support
kprovost Feb 26, 2024
706d465
pf: convert kill/clear state to use netlink
kprovost Feb 26, 2024
152a6d4
socket tests: remove MSG_TRUNC test for unix/seqpacket
glebius Feb 28, 2024
d6ef964
tests/unix_seqpacket: remove EMSGSIZE tests
glebius Feb 28, 2024
1f46c32
tests/unix_seqpacket: provide function that returns bound & listening…
glebius Feb 28, 2024
3bc122d
tests/unix_seqpacket: test that data can be sent before accept(2)
glebius Feb 28, 2024
253d8a1
tests/unix_seqpacket: test that implied connect doesn't work
glebius Feb 28, 2024
882d9f4
lib{c,sys}: expose cap_sandboxed from libc/gen
brooksdavis Feb 28, 2024
7ee47c3
sockets: in solisten_proto() don't call sbdestroy() on a PR_SOCKBUF
glebius Feb 28, 2024
7999401
rtld: unconditionally generate map file during build
kostikbel Feb 28, 2024
5db5c6c
rtld: use generated map file to check for some leaks from libc into rtld
kostikbel Feb 28, 2024
b52dceb
powerpc: Bump maximum number of FDT reserved mem entries
Feb 27, 2024
5a02ffc
Update the Arm Optimized Routine library to v24.01
zxombie Feb 29, 2024
8fe86d9
usbconfig: allow to get usb vendors and products from the usb.ids dat…
bapt Feb 27, 2024
db1d086
usb_vendors: add new usb_vendors
bapt Feb 29, 2024
5a98d9d
RELNOTES: document usbconfig(8) changes
bapt Feb 29, 2024
76f58d4
libucl: import latest snapshot from 2024-02-06
bapt Feb 29, 2024
ddca081
libucl: import snapshot 2024-02-06
bapt Feb 29, 2024
aedb37d
lorder: Don't rely on legacy syntax.
dag-erling Feb 29, 2024
aa80cfa
lorder: Tweak invalid file test.
dag-erling Feb 29, 2024
525e6d6
loader/zfs: Fix to actually return the last error
bsdimp Feb 27, 2024
2425dbd
loader/efi: Small diff reduction
bsdimp Feb 29, 2024
23dff4f
kernel: Sync ldscript files wrt gnu.attributes and .note.GNU-stack
bsdimp Feb 29, 2024
c7b1e98
firmware: load binary firmware files
bsdimp Feb 29, 2024
479905a
firmware: Allow binary files to be loaded by /boot/loader
bsdimp Feb 29, 2024
9478c7f
firmware: document new native file loading.
bsdimp Feb 29, 2024
73157ce
RELNOTES: fix my poor english
bapt Feb 29, 2024
f32a640
Merge one true awk from 2024-01-22 for the Awk Second Edition support
bsdimp Feb 28, 2024
3a3afbe
firmware: unbreak armv7
bsdimp Feb 29, 2024
8b9178c
loader/lua: Remove pager shim
bsdimp Feb 29, 2024
ab97d42
loader/lua: Remove compat shim for loader.lua_path
bsdimp Feb 29, 2024
552f307
loader/lua: Remove workaround for command_error
bsdimp Feb 29, 2024
e52a917
libsys: reduce makefile declaration duplication
brooksdavis Feb 29, 2024
f102db5
libsys: consolidate PSEUDO definitions
brooksdavis Feb 29, 2024
6d3f4dc
libsys: make PSEUDO take a bare syscall name
brooksdavis Feb 29, 2024
304cdac
lib{c,sys}: expose _getlogin consistently
brooksdavis Feb 29, 2024
51c6bf0
Cirrus-CI: bump Clang versions to 16 and 17
emaste Feb 29, 2024
6460322
pf: support if-bound with reply-to
kprovost Feb 2, 2024
fb99582
pf tests: IPv6 versions of the route-to/reply-to if-bound tests
kprovost Feb 29, 2024
56ec98a
pam_xdg: Close the dir after removal
evadot Mar 1, 2024
484de86
ldconfig: remove ignored -v (verbose) option
stesser Mar 1, 2024
0854004
CODEOWNERS: Add Stephane Rochoy
bsdimp Mar 1, 2024
2423565
Cirrus-CI: Add manual Clang 18 jobs
emaste Mar 1, 2024
b307cfe
mqueuefs: fix statfs report to not signal file system full
stesser Mar 1, 2024
c6a6ec8
arm64: Fix typo in pagetable_l0_ttbr0_bootstrap symbol name
qwattash Mar 1, 2024
638b5ae
HTPS has actually three states not two so the macro needs to account …
Mar 1, 2024
7485926
nvme: Firmware revisions in the firmware slot info logpage are ASCII …
bsdjhb Mar 1, 2024
b286700
pci_host_generic: Enumerate resource ranges under bootverbose
bsdjhb Mar 1, 2024
03ee091
hier.7: various improvements
concussious Feb 28, 2024
94dedfd
hier.7: various improvements m-s
concussious Feb 28, 2024
a5b0727
hier.7: various improvements usr (no src)
concussious Feb 28, 2024
f19875b
hier.7: various improvements usr/src and /var
concussious Feb 28, 2024
c5246cb
nvme: Report only the unknown bits
bsdimp Mar 1, 2024
2956f58
Add an UNDEFINED_VERSION option
brooksdavis Mar 1, 2024
0d161f7
read.2: Use .Fn markup instead of .Xr for read/write calls
chrisdavidson Mar 2, 2024
beadbca
read(2): Add write cross reference
bsdimp Mar 2, 2024
959c56d
stress2: Added a new NFS test scenario
phoatfreebsd Feb 24, 2024
9231f5b
stress2: Add a helper tool
phoatfreebsd Feb 24, 2024
6b188a0
if_hn: Fix two typos in source code comments
gbergling Feb 24, 2024
9d39125
tcp: prevent div by zero in cc_htcp
rscheff Feb 24, 2024
8a1f510
tcp: use enum for all congestion control signals
rscheff Feb 24, 2024
9dd4e31
tcp: provide correct snd_fack on post_recovery
rscheff Feb 24, 2024
6a61747
tcp: cubic - restart epoch after RTO
rscheff Feb 24, 2024
5440360
sctp: improve sending of packets containing an INIT ACK chunk
tuexen Feb 24, 2024
eba6a5b
tcp: retain some CC signals outside of kernel scope
rscheff Feb 24, 2024
3b490a4
loader: Move ldscripts to match more standard practices
bsdimp Feb 25, 2024
d881c3f
kboot: Centralize ldscript addition
bsdimp Feb 25, 2024
e73e017
loader/powerpc: Share ldscript
bsdimp Feb 25, 2024
6275226
loader/uboot: Move to foo.ldconfig
bsdimp Feb 25, 2024
929956b
loader/kboot: simplify linker set inclusion a little
bsdimp Feb 25, 2024
046dfb1
loader/efi: Linker sets not needed.
bsdimp Feb 25, 2024
6af0a27
loader/efi: Use unique linker set for lua
bsdimp Feb 25, 2024
60ac941
loader/ficl: Rename the ficl compile set to X4th_compile_set
bsdimp Feb 25, 2024
eebfe42
loader/efi: Only include interpreter's linker script
bsdimp Feb 25, 2024
3f038b3
sigsys test: correct count of delivered signals
kostikbel Feb 25, 2024
e138c7d
tcp_rack.4: Fix a link in the SEE ALSO section
gbergling Feb 25, 2024
b90603c
tcp: address enum-int-mismatch
rscheff Feb 25, 2024
240212c
tcp: need default in switch statement for enum.
rscheff Feb 25, 2024
bd2cf00
libc/sys: add errno test
kostikbel Feb 24, 2024
226b0a1
snd_hdspe(4): Optional unified pcm device.
0EVSG Feb 25, 2024
ef9e4a4
MFV: xz 5.6.0.
delphij Feb 25, 2024
4543e92
loader: we can only env_discard() existing variable
Feb 25, 2024
5ec4c49
ipsec esp: avoid dereferencing freed secasindex
kostikbel Feb 25, 2024
9290d68
pam: Add pam_xdg module
evadot Feb 21, 2024
32f8c12
pam: Always use pam_xdg for session and xdm
evadot Feb 22, 2024
720b4db
diff: Fix --expand-tabs and --side-by-side.
dag-erling Feb 26, 2024
b501725
diff: Bump manual page date.
dag-erling Feb 26, 2024
9cc1c62
kern: fix panic with disabled ttys
emaste Feb 26, 2024
154e282
rtld-elf: support either byte-order of hints file
stesser Feb 26, 2024
788fcad
ofwdump: Convert ints that are booleans to bool.
bsdimp Feb 26, 2024
e58b23d
snd_uaudio(4): Fix sample rate selection after 42fdcd9fd917.
0EVSG Feb 26, 2024
d7c16c0
pcm.4: Fix lint warnings
christosmarg Feb 26, 2024
da04c94
loader: Add loader.exit
bsdimp Feb 27, 2024
fadffe7
pam_xdg: Remove leftover debug printf
evadot Feb 27, 2024
1fb374d
pam_xdg: Check asprintf return value
evadot Feb 27, 2024
a1c2125
pam_xdg: Reset rv to 0
evadot Feb 27, 2024
9011023
PP mutexes: unlock: Reset inherited prio regardless of privileges
OlCe2 Feb 20, 2024
a811bfc
PP mutexes: lock: Check if priority is too high against base one
OlCe2 Feb 22, 2024
3b0fbe3
PP mutexes: lock: Reduce 'umtx_lock' holding before taking the user lock
OlCe2 Feb 22, 2024
a230c82
sched: Simplify sched_lend_user_prio_cond()
OlCe2 Feb 9, 2024
4d70d33
stress2: Added a few regression tests
phoatfreebsd Feb 27, 2024
73c77cc
vge(4): Fix a typo in a source code comment
gbergling Feb 27, 2024
5096fb4
dumprestore.h: Fix typos in source code comments
gbergling Feb 27, 2024
6980ea5
pci_vendors: update to 2024.02.02
bapt Feb 27, 2024
5d9f3b2
pf: fix packet-to-big for route-to as well
kprovost Feb 27, 2024
c31c2a9
bxe(4): Fix two typos in a kernel messages
gbergling Feb 27, 2024
97bc626
carp(4): Fix a typo in a source code comment
gbergling Feb 27, 2024
d586d80
CTL: Drop Format Device and Rigid Disk Geometry mode pages
amotin Feb 27, 2024
93c743d
rman: Remove rman_set_start/end
bsdjhb Feb 27, 2024
d7d3b21
dpaa2: Use bus_generic_rman_*
bsdjhb Feb 27, 2024
3925611
bhnd_usb: Use bus_generic_rman_*
bsdjhb Feb 27, 2024
fd007b6
bhnd_chipc: Make use of bus_generic_rman_* to simplify some code
bsdjhb Feb 27, 2024
7dd26f0
mkimg.1: add new PARTITION SPECIFICATION section
Feb 27, 2024
18f2418
netlink: Don't use a zero-length array
bsdjhb Feb 27, 2024
6ca76b5
netlink: restore original buffer if nlmsgs_to_linux() fails
glebius Feb 27, 2024
7336754
Add share/mk/local.dirdeps-targets.mk
sgerraty Feb 27, 2024
d2ddd63
dwc: fix DEBUG macro name
mhorne Feb 27, 2024
0835929
conf: deduplicate dwc config logic
mhorne Feb 27, 2024
45b1b35
conf: deduplicate dwmmc config logic
mhorne Feb 27, 2024
c1f8235
riscv: add dwc, dwmmc to NOTES
mhorne Feb 27, 2024
b0249b7
riscv: add starfive kernelconf template
mhorne Feb 27, 2024
ef06d23
rc: Set var_run_enable to enable by default
evadot Feb 27, 2024
7de17aa
nvmecontrol.8: Fix the SYNOPSIS section
bsdcode Feb 28, 2024
fe5e56f
md5.1: Fix an example
bsdcode Feb 28, 2024
c2b6b08
stand: Remove dangling mips references
bsdimp Feb 27, 2024
5a482f9
gicv3: Change how we initialize its children.
bsdimp Feb 28, 2024
1b04e71
gicv3: Panic if the gicv3 already running
bsdimp Feb 28, 2024
3b72d0d
gicv3: Don't allocate pend_base if we're already started
bsdimp Feb 28, 2024
2400e54
gicv3: Only set the redistributor base if we're not prealloced
bsdimp Feb 28, 2024
4423731
gicv3: Report PENDBASE when bootverbose
bsdimp Feb 28, 2024
1a6a0f7
gicv3: Define PA masks for the PENDBASR and PROPBASER registers
bsdimp Feb 28, 2024
288bf37
gicv3: In its_init_cpu_lpi record each cpu's PENDBASER
bsdimp Feb 28, 2024
2730601
gicv3: If the LPI is already allocated, remember it
bsdimp Feb 28, 2024
da477bc
lorder: Clean up and improve robustness.
dag-erling Feb 28, 2024
45419ba
lorder: Add unit tests.
dag-erling Feb 28, 2024
7959c17
lorder: Undeprecate.
dag-erling Feb 28, 2024
4448582
ldconfig: support hints files of either byte-order
stesser Feb 28, 2024
ee0cfb3
netlink: fix casts
kprovost Feb 26, 2024
65ab58c
netlink: add bool type support
kprovost Feb 26, 2024
9f3831f
pf: convert kill/clear state to use netlink
kprovost Feb 26, 2024
04ef3ee
socket tests: remove MSG_TRUNC test for unix/seqpacket
glebius Feb 28, 2024
ea57de3
tests/unix_seqpacket: remove EMSGSIZE tests
glebius Feb 28, 2024
cdfa5ed
tests/unix_seqpacket: provide function that returns bound & listening…
glebius Feb 28, 2024
29bfffd
tests/unix_seqpacket: test that data can be sent before accept(2)
glebius Feb 28, 2024
312d6ac
tests/unix_seqpacket: test that implied connect doesn't work
glebius Feb 28, 2024
a1d7c49
lib{c,sys}: expose cap_sandboxed from libc/gen
brooksdavis Feb 28, 2024
15c997b
sockets: in solisten_proto() don't call sbdestroy() on a PR_SOCKBUF
glebius Feb 28, 2024
3ab2c12
rtld: unconditionally generate map file during build
kostikbel Feb 28, 2024
dbbe9b6
rtld: use generated map file to check for some leaks from libc into rtld
kostikbel Feb 28, 2024
e4c6e82
powerpc: Bump maximum number of FDT reserved mem entries
Feb 27, 2024
aead2f9
Update the Arm Optimized Routine library to v24.01
zxombie Feb 29, 2024
d7b107d
usbconfig: allow to get usb vendors and products from the usb.ids dat…
bapt Feb 27, 2024
d219815
usb_vendors: add new usb_vendors
bapt Feb 29, 2024
e4459fa
RELNOTES: document usbconfig(8) changes
bapt Feb 29, 2024
9464ec1
libucl: import snapshot 2024-02-06
bapt Feb 29, 2024
a6f36ef
lorder: Don't rely on legacy syntax.
dag-erling Feb 29, 2024
92847a5
lorder: Tweak invalid file test.
dag-erling Feb 29, 2024
b5eaff3
loader/zfs: Fix to actually return the last error
bsdimp Feb 27, 2024
8b1c9a2
loader/efi: Small diff reduction
bsdimp Feb 29, 2024
d4959a2
kernel: Sync ldscript files wrt gnu.attributes and .note.GNU-stack
bsdimp Feb 29, 2024
5d7c0f9
firmware: load binary firmware files
bsdimp Feb 29, 2024
9007090
firmware: Allow binary files to be loaded by /boot/loader
bsdimp Feb 29, 2024
3aea5fd
firmware: document new native file loading.
bsdimp Feb 29, 2024
6c703e4
RELNOTES: fix my poor english
bapt Feb 29, 2024
22f7af6
Merge one true awk from 2024-01-22 for the Awk Second Edition support
bsdimp Feb 28, 2024
9a39869
firmware: unbreak armv7
bsdimp Feb 29, 2024
0aa8a96
loader/lua: Remove pager shim
bsdimp Feb 29, 2024
ecf9b7f
loader/lua: Remove compat shim for loader.lua_path
bsdimp Feb 29, 2024
9c620f3
loader/lua: Remove workaround for command_error
bsdimp Feb 29, 2024
600f23e
Skipping merge of e52a9177d9e43518e86d470be9cdbdcd7a699b8a
bsdjhb Aug 3, 2024
682ddf1
Skipping merge of f102db5028cd8502d46d50bd5bd1f1e30a847c39
bsdjhb Aug 3, 2024
b3b9122
Skipping merge of 6d3f4dcda2fb6d05dd5a25956b8c7cf012e0265f
bsdjhb Aug 3, 2024
0696b97
Skipping merge of 304cdac7385a40477484737fc0a4aa928c3be9d6
bsdjhb Aug 3, 2024
1d83075
Cirrus-CI: bump Clang versions to 16 and 17
emaste Feb 29, 2024
4907ef5
pf: support if-bound with reply-to
kprovost Feb 2, 2024
a13810e
pf tests: IPv6 versions of the route-to/reply-to if-bound tests
kprovost Feb 29, 2024
a04c27d
pam_xdg: Close the dir after removal
evadot Mar 1, 2024
8f869ed
ldconfig: remove ignored -v (verbose) option
stesser Mar 1, 2024
805b183
CODEOWNERS: Add Stephane Rochoy
bsdimp Mar 1, 2024
60b2756
Cirrus-CI: Add manual Clang 18 jobs
emaste Mar 1, 2024
7fcfb81
mqueuefs: fix statfs report to not signal file system full
stesser Mar 1, 2024
32e883e
arm64: Fix typo in pagetable_l0_ttbr0_bootstrap symbol name
qwattash Mar 1, 2024
b805c2f
HTPS has actually three states not two so the macro needs to account …
Mar 1, 2024
0ce64dd
nvme: Firmware revisions in the firmware slot info logpage are ASCII …
bsdjhb Mar 1, 2024
a98d48b
pci_host_generic: Enumerate resource ranges under bootverbose
bsdjhb Mar 1, 2024
839b307
hier.7: various improvements
concussious Feb 28, 2024
0fe4505
hier.7: various improvements m-s
concussious Feb 28, 2024
26acb88
hier.7: various improvements usr (no src)
concussious Feb 28, 2024
1a7584f
hier.7: various improvements usr/src and /var
concussious Feb 28, 2024
9097fb4
nvme: Report only the unknown bits
bsdimp Mar 1, 2024
8c22c69
Add an UNDEFINED_VERSION option
brooksdavis Mar 1, 2024
0e4aed2
read.2: Use .Fn markup instead of .Xr for read/write calls
chrisdavidson Mar 2, 2024
c90f0cd
read(2): Add write cross reference
bsdimp Mar 2, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
32 changes: 24 additions & 8 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,36 +14,52 @@ env:

task:
matrix:
- name: amd64-llvm15 World and kernel build and boot smoke test
- name: amd64-llvm16 World and kernel build and boot smoke test
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
trigger_type: manual
env:
TARGET: amd64
TARGET_ARCH: amd64
TOOLCHAIN: llvm15
TOOLCHAIN: llvm16
TOOLCHAIN_PKG: ${TOOLCHAIN}-lite
- name: amd64-llvm16 World and kernel build and boot smoke test
- name: amd64-llvm17 World and kernel build and boot smoke test
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src' || $CIRRUS_BRANCH =~ 'pull/.*'
env:
TARGET: amd64
TARGET_ARCH: amd64
TOOLCHAIN: llvm16
TOOLCHAIN: llvm17
TOOLCHAIN_PKG: ${TOOLCHAIN}-lite
- name: amd64-llvm18 World and kernel build and boot smoke test
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
trigger_type: manual
env:
TARGET: amd64
TARGET_ARCH: amd64
TOOLCHAIN: llvm18
TOOLCHAIN_PKG: ${TOOLCHAIN}-lite
- name: arm64-llvm15 World and kernel build and boot smoke test
- name: arm64-llvm16 World and kernel build and boot smoke test
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
trigger_type: manual
env:
TARGET: arm64
TARGET_ARCH: aarch64
TOOLCHAIN: llvm15
TOOLCHAIN: llvm16
TOOLCHAIN_PKG: ${TOOLCHAIN}
- name: arm64-llvm16 World and kernel build and boot smoke test
- name: arm64-llvm17 World and kernel build and boot smoke test
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
trigger_type: manual
env:
TARGET: arm64
TARGET_ARCH: aarch64
TOOLCHAIN: llvm16
TOOLCHAIN: llvm17
TOOLCHAIN_PKG: ${TOOLCHAIN}
- name: arm64-llvm18 World and kernel build and boot smoke test
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
trigger_type: manual
env:
TARGET: arm64
TARGET_ARCH: aarch64
TOOLCHAIN: llvm18
TOOLCHAIN_PKG: ${TOOLCHAIN}
- name: amd64-gcc12 World and kernel build and boot smoke test (manual)
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
Expand Down
4 changes: 4 additions & 0 deletions RELNOTES
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ newline. Entries should be separated by a newline.

Changes to this file should not be MFCed.

fe86d923f83f:
usbconfig(8) now reads the descriptions of the usb vendor and products
from usb.ids when available, similarly to what pciconf(8) does.

4347ef60501f:
The powerd(8) utility is now enabled in /etc/rc.conf by default on
images for the arm64 Raspberry Pi's (arm64-aarch64-RPI img files).
Expand Down
2 changes: 1 addition & 1 deletion contrib/arm-optimized-routines/README
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ contribution requirements are documented in README.contributors of
the appropriate subdirectory.

Regular quarterly releases are tagged as vYY.MM, the latest
release is v23.01.
release is v24.01.

Source code layout:

Expand Down
13 changes: 7 additions & 6 deletions contrib/arm-optimized-routines/config.mk.dist
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Example config.mk
#
# Copyright (c) 2018-2022, Arm Limited.
# Copyright (c) 2018-2023, Arm Limited.
# SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception

# Subprojects to build
Expand Down Expand Up @@ -59,13 +59,14 @@ math-cflags += -ffp-contract=fast -fno-math-errno
# Use with clang.
#math-cflags += -ffp-contract=fast

# Disable vector math code
#math-cflags += -DWANT_VMATH=0

# Disable/enable SVE vector math code and tests
# Disable/enable SVE vector math code and tests.
# If WANT_SVE_MATH is enabled, math-sve-cflags is added for SVE
# routines only so that SVE code does not leak into scalar
# routines. It is also necessary to add it for tools (e.g. ulp,
# mathbench)
WANT_SVE_MATH = 0
ifeq ($(WANT_SVE_MATH), 1)
math-cflags += -march=armv8.2-a+sve
math-sve-cflags = -march=armv8-a+sve
endif
math-cflags += -DWANT_SVE_MATH=$(WANT_SVE_MATH)

Expand Down
6 changes: 5 additions & 1 deletion contrib/arm-optimized-routines/math/Dir.mk
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
# Makefile fragment - requires GNU make
#
# Copyright (c) 2019-2022, Arm Limited.
# Copyright (c) 2019-2023, Arm Limited.
# SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception

S := $(srcdir)/math
B := build/math

math-lib-srcs := $(wildcard $(S)/*.[cS])
math-lib-srcs += $(wildcard $(S)/$(ARCH)/*.[cS])

math-test-srcs := \
$(S)/test/mathtest.c \
$(S)/test/mathbench.c \
Expand Down Expand Up @@ -65,6 +67,8 @@ build/lib/libmathlib.a: $(math-lib-objs)

$(math-host-tools): HOST_LDLIBS += -lm -lmpfr -lmpc
$(math-tools): LDLIBS += $(math-ldlibs) -lm
# math-sve-cflags should be empty if WANT_SVE_MATH is not enabled
$(math-tools): CFLAGS_ALL += $(math-sve-cflags)

build/bin/rtest: $(math-host-objs)
$(HOST_CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) -o $@ $^ $(HOST_LDLIBS)
Expand Down
87 changes: 87 additions & 0 deletions contrib/arm-optimized-routines/math/aarch64/v_cos.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
/*
* Double-precision vector cos function.
*
* Copyright (c) 2019-2023, Arm Limited.
* SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
*/

#include "mathlib.h"
#include "v_math.h"

static const struct data
{
float64x2_t poly[7];
float64x2_t range_val, shift, inv_pi, half_pi, pi_1, pi_2, pi_3;
} data = {
/* Worst-case error is 3.3 ulp in [-pi/2, pi/2]. */
.poly = { V2 (-0x1.555555555547bp-3), V2 (0x1.1111111108a4dp-7),

Check failure on line 17 in contrib/arm-optimized-routines/math/aarch64/v_cos.c

View workflow job for this annotation

GitHub Actions / Style Checker

space prohibited between function name and open parenthesis '('

Check failure on line 17 in contrib/arm-optimized-routines/math/aarch64/v_cos.c

View workflow job for this annotation

GitHub Actions / Style Checker

space prohibited between function name and open parenthesis '('

Check failure on line 17 in contrib/arm-optimized-routines/math/aarch64/v_cos.c

View workflow job for this annotation

GitHub Actions / Style Checker

spaces required around that '-' (ctx:VxV)

Check failure on line 17 in contrib/arm-optimized-routines/math/aarch64/v_cos.c

View workflow job for this annotation

GitHub Actions / Style Checker

spaces required around that '-' (ctx:VxV)
V2 (-0x1.a01a019936f27p-13), V2 (0x1.71de37a97d93ep-19),

Check failure on line 18 in contrib/arm-optimized-routines/math/aarch64/v_cos.c

View workflow job for this annotation

GitHub Actions / Style Checker

space prohibited between function name and open parenthesis '('

Check failure on line 18 in contrib/arm-optimized-routines/math/aarch64/v_cos.c

View workflow job for this annotation

GitHub Actions / Style Checker

space prohibited between function name and open parenthesis '('

Check failure on line 18 in contrib/arm-optimized-routines/math/aarch64/v_cos.c

View workflow job for this annotation

GitHub Actions / Style Checker

spaces required around that '-' (ctx:VxV)

Check failure on line 18 in contrib/arm-optimized-routines/math/aarch64/v_cos.c

View workflow job for this annotation

GitHub Actions / Style Checker

spaces required around that '-' (ctx:VxV)
V2 (-0x1.ae633919987c6p-26), V2 (0x1.60e277ae07cecp-33),

Check failure on line 19 in contrib/arm-optimized-routines/math/aarch64/v_cos.c

View workflow job for this annotation

GitHub Actions / Style Checker

space prohibited between function name and open parenthesis '('

Check failure on line 19 in contrib/arm-optimized-routines/math/aarch64/v_cos.c

View workflow job for this annotation

GitHub Actions / Style Checker

space prohibited between function name and open parenthesis '('
V2 (-0x1.9e9540300a1p-41) },
.inv_pi = V2 (0x1.45f306dc9c883p-2),
.half_pi = V2 (0x1.921fb54442d18p+0),
.pi_1 = V2 (0x1.921fb54442d18p+1),
.pi_2 = V2 (0x1.1a62633145c06p-53),
.pi_3 = V2 (0x1.c1cd129024e09p-106),
.shift = V2 (0x1.8p52),
.range_val = V2 (0x1p23)
};

#define C(i) d->poly[i]

static float64x2_t VPCS_ATTR NOINLINE
special_case (float64x2_t x, float64x2_t y, uint64x2_t odd, uint64x2_t cmp)
{
y = vreinterpretq_f64_u64 (veorq_u64 (vreinterpretq_u64_f64 (y), odd));
return v_call_f64 (cos, x, y, cmp);
}

float64x2_t VPCS_ATTR V_NAME_D1 (cos) (float64x2_t x)
{
const struct data *d = ptr_barrier (&data);
float64x2_t n, r, r2, r3, r4, t1, t2, t3, y;
uint64x2_t odd, cmp;

#if WANT_SIMD_EXCEPT
r = vabsq_f64 (x);
cmp = vcgeq_u64 (vreinterpretq_u64_f64 (r),
vreinterpretq_u64_f64 (d->range_val));
if (unlikely (v_any_u64 (cmp)))
/* If fenv exceptions are to be triggered correctly, set any special lanes

Check warning on line 50 in contrib/arm-optimized-routines/math/aarch64/v_cos.c

View workflow job for this annotation

GitHub Actions / Style Checker

Block comments use a leading /* on a separate line
to 1 (which is neutral w.r.t. fenv). These lanes will be fixed by

Check warning on line 51 in contrib/arm-optimized-routines/math/aarch64/v_cos.c

View workflow job for this annotation

GitHub Actions / Style Checker

Block comments use * on subsequent lines
special-case handler later. */

Check warning on line 52 in contrib/arm-optimized-routines/math/aarch64/v_cos.c

View workflow job for this annotation

GitHub Actions / Style Checker

Block comments use a trailing */ on a separate line
r = vbslq_f64 (cmp, v_f64 (1.0), r);
#else
cmp = vcageq_f64 (x, d->range_val);
r = x;
#endif

/* n = rint((|x|+pi/2)/pi) - 0.5. */
n = vfmaq_f64 (d->shift, d->inv_pi, vaddq_f64 (r, d->half_pi));
odd = vshlq_n_u64 (vreinterpretq_u64_f64 (n), 63);
n = vsubq_f64 (n, d->shift);
n = vsubq_f64 (n, v_f64 (0.5));

/* r = |x| - n*pi (range reduction into -pi/2 .. pi/2). */
r = vfmsq_f64 (r, d->pi_1, n);
r = vfmsq_f64 (r, d->pi_2, n);
r = vfmsq_f64 (r, d->pi_3, n);

/* sin(r) poly approx. */
r2 = vmulq_f64 (r, r);
r3 = vmulq_f64 (r2, r);
r4 = vmulq_f64 (r2, r2);

t1 = vfmaq_f64 (C (4), C (5), r2);
t2 = vfmaq_f64 (C (2), C (3), r2);
t3 = vfmaq_f64 (C (0), C (1), r2);

y = vfmaq_f64 (t1, C (6), r4);
y = vfmaq_f64 (t2, y, r4);
y = vfmaq_f64 (t3, y, r4);
y = vfmaq_f64 (r, y, r3);

if (unlikely (v_any_u64 (cmp)))
return special_case (x, y, odd, cmp);
return vreinterpretq_f64_u64 (veorq_u64 (vreinterpretq_u64_f64 (y), odd));
}
82 changes: 82 additions & 0 deletions contrib/arm-optimized-routines/math/aarch64/v_cosf.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
/*
* Single-precision vector cos function.
*
* Copyright (c) 2019-2023, Arm Limited.
* SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
*/

#include "mathlib.h"
#include "v_math.h"

static const struct data
{
float32x4_t poly[4];
float32x4_t range_val, inv_pi, half_pi, shift, pi_1, pi_2, pi_3;
} data = {
/* 1.886 ulp error. */
.poly = { V4 (-0x1.555548p-3f), V4 (0x1.110df4p-7f), V4 (-0x1.9f42eap-13f),
V4 (0x1.5b2e76p-19f) },

.pi_1 = V4 (0x1.921fb6p+1f),
.pi_2 = V4 (-0x1.777a5cp-24f),
.pi_3 = V4 (-0x1.ee59dap-49f),

.inv_pi = V4 (0x1.45f306p-2f),
.shift = V4 (0x1.8p+23f),
.half_pi = V4 (0x1.921fb6p0f),
.range_val = V4 (0x1p20f)
};

#define C(i) d->poly[i]

static float32x4_t VPCS_ATTR NOINLINE
special_case (float32x4_t x, float32x4_t y, uint32x4_t odd, uint32x4_t cmp)
{
/* Fall back to scalar code. */
y = vreinterpretq_f32_u32 (veorq_u32 (vreinterpretq_u32_f32 (y), odd));
return v_call_f32 (cosf, x, y, cmp);
}

float32x4_t VPCS_ATTR V_NAME_F1 (cos) (float32x4_t x)
{
const struct data *d = ptr_barrier (&data);
float32x4_t n, r, r2, r3, y;
uint32x4_t odd, cmp;

#if WANT_SIMD_EXCEPT
r = vabsq_f32 (x);
cmp = vcgeq_u32 (vreinterpretq_u32_f32 (r),
vreinterpretq_u32_f32 (d->range_val));
if (unlikely (v_any_u32 (cmp)))
/* If fenv exceptions are to be triggered correctly, set any special lanes

Check warning on line 51 in contrib/arm-optimized-routines/math/aarch64/v_cosf.c

View workflow job for this annotation

GitHub Actions / Style Checker

Block comments use a leading /* on a separate line
to 1 (which is neutral w.r.t. fenv). These lanes will be fixed by

Check warning on line 52 in contrib/arm-optimized-routines/math/aarch64/v_cosf.c

View workflow job for this annotation

GitHub Actions / Style Checker

Block comments use * on subsequent lines
special-case handler later. */

Check warning on line 53 in contrib/arm-optimized-routines/math/aarch64/v_cosf.c

View workflow job for this annotation

GitHub Actions / Style Checker

Block comments use a trailing */ on a separate line
r = vbslq_f32 (cmp, v_f32 (1.0f), r);
#else
cmp = vcageq_f32 (x, d->range_val);
r = x;
#endif

/* n = rint((|x|+pi/2)/pi) - 0.5. */
n = vfmaq_f32 (d->shift, d->inv_pi, vaddq_f32 (r, d->half_pi));
odd = vshlq_n_u32 (vreinterpretq_u32_f32 (n), 31);
n = vsubq_f32 (n, d->shift);
n = vsubq_f32 (n, v_f32 (0.5f));

/* r = |x| - n*pi (range reduction into -pi/2 .. pi/2). */
r = vfmsq_f32 (r, d->pi_1, n);
r = vfmsq_f32 (r, d->pi_2, n);
r = vfmsq_f32 (r, d->pi_3, n);

/* y = sin(r). */
r2 = vmulq_f32 (r, r);
r3 = vmulq_f32 (r2, r);
y = vfmaq_f32 (C (2), C (3), r2);
y = vfmaq_f32 (C (1), y, r2);
y = vfmaq_f32 (C (0), y, r2);
y = vfmaq_f32 (r, y, r3);

if (unlikely (v_any_u32 (cmp)))
return special_case (x, y, odd, cmp);
return vreinterpretq_f32_u32 (veorq_u32 (vreinterpretq_u32_f32 (y), odd));
}
Loading
Loading