Commit graph

21123 commits

Author SHA1 Message Date
Jessica Clarke
9c210b36ab src.libnames.mk: Extend _DP_archive hack when bootstrapping on non-FreeBSD
On Linux, libcrypto is available so a non-WITHOUT_OPENSSL build happens
to work, but on macOS it isn't available to be linked against (though
there is a versioned dylib for /usr/bin/openssl etc), and neither have
libmd so would both be broken under WITHOUT_OPENSSL. Since we're using
the system libarchive, further extend the hack to ensure _DP_archive is
empty.

Fixes:		ed4050750c ("src.libnames.mk: Add hack to workaround libarchive not being bootstrapped")
MFC after:	1 week

(cherry picked from commit 70f1e13491)
2022-01-24 23:59:28 +00:00
Jessica Clarke
e3c550db82 src.libnames.mk: Include dependencies when bootstrapping from non-FreeBSD
When bootstrapping on FreeBSD we use -DNO_SHARED so this case is already
handled correctly, but on non-FreeBSD we set NO_SHARED to no in
Makefile.boot.pre as not all OSes have static libraries available. As a
result, users of libdwarf fail to link during the cross tools stage due
to the newly-introduced dependency of libdwarf on libz.

This should perhaps be reworked to instead leave NO_SHARED as yes but
have an override (either implicit in bsd.prog.mk, or explicit via a new
variable) to turn off just the use of -static.

MFC after:	1 week

(cherry picked from commit f0a6ab51e6)
2022-01-24 23:59:09 +00:00
Jessica Clarke
98ad84afd2 src.libnames.mk: Add hack to workaround libarchive not being bootstrapped
We don't currently honour _DP_foo when bootstrapping on non-FreeBSD, and
so none of these values matter, but the next commit will change that as
we do need to pull in dependencies for libdwarf. We should really be
bootstrapping our libarchive for ar anyway rather than using the host's,
as well as have a better way to communicate to src.libnames.mk whether
or not a library is being bootstrapped.

MFC after:	1 week

(cherry picked from commit ed4050750c)
2022-01-24 23:59:07 +00:00
Thomas Steen Rasmussen
fae2a8cad3 pf: fallback if $pf_rules fails to load
Support loading a default pf ruleset in case of invalid pf.conf.

If no pf rules are loaded pf will pass/allow all traffic, assuming the
kernel is compiled without PF_DEFAULT_TO_DROP, as is the case in
GENERIC.

In other words: if there's a typo in the main pf_rules we would allow
all traffic. The new default rules minimise the impact of this.

If $pf_program (i.e. pfctl) fails to set $pf_fules and
$pf_fallback_rules_enable is YES we will load $pf_fallback_rules_file if
set, or $pf_fallback_rules.

$pf_fallback_rules can include multiple rules, for example to permit
traffic on a management interface.

$pf_fallback_rules_enable defaults to "NO", preserving historic behaviour.

man page changes by ceri@.

PR:		256410
Reviewed by:	donner, kp
Sponsored by:	semaphor.dk
Differential Revision:	https://reviews.freebsd.org/D30791

(cherry picked from commit 28f47a199c)
2022-01-24 21:11:02 +01:00
Kyle Evans
7ff278267b Regenerate src.conf(5) after PIE default change
(cherry picked from commit ca4e1ea19f)
2022-01-23 11:12:28 +01:00
Marcin Wojtas
396e9f259d Enable PIE by default on 64-bit architectures
This patch adds Position Independent Executables (PIE)
flags for building OS. It allows to enable the ASLR
feature based only on the sysctl knobs, without
need to rebuild the image. Tests showed that
no problems with stability / performance degradation
were seen when using PIEs with ASLR disabled.

The change is limited only for 64-bit architectures.

Use bsd.opts.mk instead of the src.opts.mk in order
to satisfy all build dependencies related to MK_PIE.

Reviewed by: emaste, imp
Obtained from: Semihalf
Sponsored by: Stormshield
Differential Revision: https://reviews.freebsd.org/D28328

(cherry picked from commit 9a227a2fd6)
2022-01-23 11:09:54 +01:00
Mark Johnston
d7b156672a zone.9: Remove documentation of non-existent NUMA configuration flags
These configuration options were removed in commit dfe13344f5.

Some forthcoming work will update the UMA man page to describe its
current behaviour on NUMA systems.

Sponsored by:	The FreeBSD Foundation

(cherry picked from commit 39d4ccf826)
2022-01-21 10:58:11 -05:00
Warner Losh
50b3d57e71 nvme: Only reset once on attach.
The FreeBSD nvme driver has reset the nvme controller twice on attach to
address a theoretical issue assuring the hardware is in a known
state. However, exierence has shown the second reset is unnecessary and
increases the time to boot. Eliminate the second reset. Should there be
a situation when you need a second reset (for buggy or at least somewhat
out of the mainstream hardware), the hardware option NVME_2X_RESET will
restore the old behavior. Document this in nvme(4).

If there's any trouble at all with this, I'll add a sysctl tunable to
control it.

Sponsored by:		Netflix
Reviewed by:		cperciva, mav
Differential Revision:	https://reviews.freebsd.org/D32241

(cherry picked from commit 4b3da659bf)
2022-01-20 21:07:31 -05:00
Stefan Eßer
dc4114875e Make CPU_SET macros compliant with other implementations
(cherry picked from commit e2650af157)
2022-01-14 18:17:30 +02:00
Stefan Eßer
379bfb2aa9 sys/bitset.h: reduce visibility of BIT_* macros
(cherry picked from commit 5e04571cf3)
2022-01-14 18:17:30 +02:00
Ian Lepore
1a86aab86a Add ETHER_ALIGN support to ng_device(4).
This adds a new ng_device command, NGM_DEVICE_ETHERALIGN, which has no
associated args.  After the command arrives, the device begins adjusting all
packets sent out its hook to have ETHER_ALIGN bytes of padding at the
beginning of the packet.  The ETHER_ALIGN padding is added only when
running on an architecture that requires strict alignment of IP headers
(based on the __NO_STRICT_ALIGNMENT macro, which is only #define'd on
x86 as of this writing).

This also adds ascii <-> binary command translation to ng_device, both for
the existing NGM_DEVICE_GET_DEVNAME and the new ETHERALIGN command.

This also gives a name to every ng_device node when it is constructed, using
the cdev device name (ngd0, ngd1, etc).  This makes it easier to address
command msgs to the device using ngctl(8).

Reviewed by:	donner, ray, adrian
Differential Revision:	https://reviews.freebsd.org/D32905
MFC after:   1 week

(cherry picked from commit 44aae623ab)
2022-01-14 14:28:43 +01:00
Bjoern A. Zeeb
aef4a2f5a8 iwlwifi: clarifying man page update
Based on some feedback clarify the man page for
- how to load the driver currently
- status of the driver with respect to iwm(4)
and leave a comment to (automatically) add a full list of chipsets
to the man page.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	debdrup
Differential Revision: https://reviews.freebsd.org/D33713

(cherry picked from commit e9016c0be8)
2022-01-09 02:39:00 +00:00
Emmanuel Vadot
2c7441c86e pkgbase: Add a FreeBSD-pkg-bootstrap package
And put pkg and its keys in it.
It's easier for small image to depend on this package rather than the
larger utilities one.

MFC after:	2 weeks
Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D33458

(cherry picked from commit ec0ea6efa1)
2022-01-05 18:23:53 +01:00
Emmanuel Vadot
1734739373 pkgbase: Create a syscons-data package
syscons is mostly deprecated and all it's files aren't needed for most
users so create a separate package for them.

Differential Revision:	   https://reviews.freebsd.org/D31798
Reviewed by: emaste

(cherry picked from commit 27a7ae0ce0)
2022-01-05 18:23:50 +01:00
Emmanuel Vadot
0785c9451a pkgbase: Create a vt-data package
vt files for either keyboards and fonts are totally optional
so create a separate package for them.

Differential Revision:	     https://reviews.freebsd.org/D31797

(cherry picked from commit 88ba5e8955)
2022-01-05 18:23:49 +01:00
Alexander Motin
083a2ff0f0 acpi_cpu: Make device unit numbers match OS CPU IDs.
There are already APIC ID, ACPI ID and OS ID for each CPU.  In perfect
world all of those may match, but at least for SuperMicro server boards
none of them do.  Plus none of them match the CPU devices listing order
by ACPI.  Previous code used the ACPI device listing order to number
cpuX devices.  It looked nice from NewBus perspective, but introduced
4th different set of IDs. Extremely confusing one, since in some places
the device unit numbers were treated as OS CPU IDs (coretemp), but not
in others (sysctl dev.cpu.X.%location).

(cherry picked from commit c8077ccd70)
2022-01-04 12:21:35 -05:00
Ram Kishore Vegesna
8c60821c26 ocs_fc: Add lancer G7 to the supported hardware in the man page.
Reviewed by: mav
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D33668

(cherry picked from commit f5e24f24c7)

ocs_fc: Updated man page date.

MFC after: 3 days

(cherry picked from commit 99948907e3)
2022-01-04 13:49:48 +05:30
Bjoern A. Zeeb
f02c5a4cf9 iwlwifi: add man pages
Add and hook up man pages for iwlwifi and iwlwififw and install a copy
of the firmware license to /usr/share/docs/legal so it will always be
shipped with the installed system.

Sponsored by:	The FreeBSD Foundation

(cherry picked from commit 5a02ae5e8f)
2021-12-30 18:28:32 +00:00
Alexander Motin
4fd804ef66 ahci(4): Allow enclosure emulation without hardware.
After 53f5ac1310 allowed SATA device mapping to enclosure slots,
it may have sense to provide enclosure device emulation even without
real hardware interface like SGPIO just for purposes of physical
device location tracking (still assuming straight cabling).

MFC after:	1 week
Sponsored by:	iXsystems, Inc.

(cherry picked from commit 9aba757e92)
2021-12-23 20:05:10 -05:00
Piotr Kubaj
0aea52118c src.conf.5: regenerate 2021-12-21 18:54:34 +01:00
Piotr Kubaj
2b97824573 riscv64*: enable OFED
Summary:
OFED on riscv64 builds fine, so it's ok to enable it.

Also MFC to stable/13.

Test Plan: make buildworld

Reviewers: mhorne

Subscribers: bdrewery, imp, emaste

Differential Revision: https://reviews.freebsd.org/D33602

(cherry picked from commit 40218ffe8c)
2021-12-21 18:46:04 +01:00
Ed Maste
c654a0839f arch.7: update applicable FreeBSD versions to 12.0 and later
Information in this document is unchanged between 11.x and 12.x, but
this is intended to be a quick reference for supported architectures.
Also bump .Dd to cover recent changes including MIPS deprecation.

Sponsored by:	The FreeBSD Foundation

(cherry picked from commit 9c983ad791)
2021-12-20 11:14:33 -05:00
Andrew Turner
a72050a86f Add an arm64 sha512 feature check
This is only available in recent toolchains. Check for it so we can
use it in libmd.

Reviewed by:	emaste
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D33166

(cherry picked from commit 629b5e87ed)
2021-12-20 11:09:27 +00:00
Piotr Kubaj
aaf56e3556 Enable OPENMP on riscv64* by default.
Differential revision:	https://reviews.freebsd.org/D30862
Approved by:	mhorne

(cherry picked from commit aa033e0b14)
2021-12-19 23:41:59 +01:00
Florian Walpen
10b9991492 Thread creation privilege for realtime group
(cherry picked from commit e28767f0e1)
2021-12-19 04:42:52 +02:00
Florian Walpen
30c3a5f248 Add idle priority scheduling privilege group to MAC/priority
(cherry picked from commit a9545eede4)
2021-12-19 04:42:51 +02:00
Florian Walpen
984b9d89f8 MAC/priority module for realtime privilege group
PR:	239125

(cherry picked from commit bf2fa8d9d1)
2021-12-19 04:42:51 +02:00
Mike Karels
93a95ebbf7 Add genet.4 for RPi 4 Ethernet
Add new man page for genet(4) Ethernet on Raspberry Pi 4B, based on
several other Ethernet man pages.  Hook into build.

Note, this could potentially be added as an aarch64 man page; not
sure if that matters now.  Include if_genet(4) link as for other
network devices.

Copyright notice cloned from a recent FreeBSD Foundation copyright.

Reviewed by:	imp bcr #manpages
Differential Revision: https://reviews.freebsd.org/D33360

(cherry picked from commit 61eaac599ce157b36796dcdac5fb2f420f4bfd8d)
2021-12-17 10:02:47 -06:00
Dimitry Andric
8918a2875e Apply only the libadd/libnames part of dbf05458e3
Add libz to the dependencies for libdwarf. Otherwise, building older
branches on recent -CURRENT might fail in the cross-tools stage with:

ld: error: undefined symbol: uncompress
>>> referenced by libdwarf_elf_init.c:233 (/usr/src/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c:233)
>>>               libdwarf_elf_init.o:(_dwarf_elf_init) in archive /usr/lib/libdwarf.a

Direct commit to stable/13, since dbf05458e3 has other libdwarf
changes to support compressed ELF sections, which are more intrusive.
2021-12-13 22:23:44 +01:00
Andreas Wetzel
99e934e6f1 rtwn/usb: add product ID for Asus USB N10 Nano Rev. B1
According to information found on the internet the following products
use exactly the same hardware but probably different USB IDs:
- Edimax EW-7811Un V2 (v2)
- Edimax EW-7811GLN 2.0A (v2)
I am not adding them as I cannot verify.

PR:		254280

(cherry picked from commit cd6f0b4769)
2021-12-13 08:35:49 +02:00
Ed Maste
0421d8bdef Move _p.a profiling archives under MK_INSTALLLIB
_p.a are just a special case of .a archives, and should not be installed
if WITHOUT_INSTALLLIB is set.

MFC after:	1 week
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit fc073e6743)
2021-12-10 20:28:57 -05:00
Mateusz Piotrowski
8316f09046 style.mdoc: Prefer Ql to Dq Li for literal display
The Li macros has been deprecated by mdoc some time ago. Recommend the
use of Ql instead.

Reviewed by:	debdrup
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D33232

(cherry picked from commit 5e077e08ef)
2021-12-10 23:16:08 +01:00
Mike Karels
d98a0edb26 man pages: deprecate Internet Class A/B/C
Mark functions inet_netof(), inet_lnaof(), and inet_makeaddr() as
deprecated, as they assume Class A/B/C.  inet_makeaddr() mostly works
when networks are a multiple of 8 bits, but warn for anything other
than historical classes.  Reduce other mentions of network classes.

(cherry picked from commit 12bd931d8c)
2021-12-10 10:25:45 -06:00
Ed Maste
dbb2f1cdb8 src.conf.5: regen after WITH_/WITHOUT_CXX description update
Sponsored by:	The FreeBSD Foundation
2021-12-08 20:52:33 -05:00
Marcin Wojtas
a515ae8b63 Add elfctl to toolchain.
Add elfctl program to toolchain to allow modifying ELF feature flags
during system build.

Submitted by: Dawid Gorecki <dgr@semihalf.com>
Obtained from: Semihalf
Sponsored by: Stormshield
Differential Revision: https://reviews.freebsd.org/D29552

(cherry picked from commit c6081dea59)
2021-12-06 17:08:16 -05:00
Elyes HAOUAS
27fceea98c Fix typo on "Celsius"
"Celcius" --> "Celsius"

Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
Pull Request: https://github.com/freebsd/freebsd-src/pull/551/files
(cherry picked from commit 9097ac9af4)
2021-12-06 08:55:55 -07:00
Mark Johnston
3f9a6f6cf3 elf.5: Document compressed section headers
Reviewed by:	emaste
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit e0189cf66a)
2021-12-06 09:03:50 -05:00
Alex Richardson
a5186406ac Add WITH_LLVM_BINUTILS to install LLVM binutils instead of Elftoolchain
When WITH_LLVM_BINUTILS is set, we will install the LLVM binutils as
ar/ranlib/nm/objcopy/etc. instead of the elftoolchain ones.
Having the LLVM binutils instead of the elftoolchain ones allows us to use
features such as LTO that depend on binutils that understand LLVM IR.
Another benefit will be an improved user-experience when compiling with
AddressSanitizer, since ASAN does not symbolize backtraces correctly if
addr2line is elftoolchain addr2line instead of llvm-symbolizer.
See https://lists.freebsd.org/archives/freebsd-toolchain/2021-July/000062.html
for more details.

This is currently off by default but will be turned on by default at some
point in the near future.

Reviewed By:	emaste

Differential Revision: https://reviews.freebsd.org/D31060

(cherry picked from commit 021385aba5)
2021-12-05 21:42:14 +01:00
Colin Percival
3afc5f08a9 uefi(8): loader.efi does not search for loader.efi
This man page formerly referred to boot1.efi searching for loader.efi;
when boot1.efi was obsoleted in favour of having loader.efi launched
directly, this was left claiming that loader.efi searched for
loader.efi.

Reviewed by:	bcran
Fixes:		db8b561345 Rework UEFI ESP generation
Differential Revision:	https://reviews.freebsd.org/D32334

(cherry picked from commit 6fa58bfb3e)
2021-12-05 10:26:33 -08:00
Mateusz Piotrowski
8de3cb052e rc.subr.8: Document changes to load_rc_config
Since e27961a496, load_rc_config does not
require a service name as its first argument. This change was documented
in the rc.subr script in 0b9c2e7ac5. Let's
update the manual page as well.

MFC after:	3 days

(cherry picked from commit 5d21348dfd)
2021-12-05 17:45:33 +01:00
Mateusz Piotrowski
3c3714ac10 apic.4: Fix a typo
MFC after:	3 days

(cherry picked from commit aa798fc2f1)
2021-12-05 17:45:06 +01:00
Ed Maste
1bacdee058 Add gone_in(9) man page
Reviewed by:	imp
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D30703

(cherry picked from commit d8aeab4b45)
2021-12-03 11:45:59 -05:00
Mark Johnston
344c1bc6e6 make_dev.9: Fix a typo
(cherry picked from commit cc7decfcf9)
2021-12-02 09:15:01 -05:00
Rick Macklem
23e8078bcc rc.conf.5: Add entries for NFS
Entries for a few recently defined rc variables
were missing from rc.conf.5.  This patch adds
those.

It was not obvious to me what the ordering is,
so I added them to the area where other nfsd
related variables are.  I can easily move them.

I also replaced "are" with "is", since it seems to
read better.

This is a content change.

(cherry picked from commit 9dae2d03bc)
2021-12-01 17:05:12 -08:00
Sergey A. Osokin
7af8903bf3 ktls.4: fix openssl-devel port name
PR:	259630
(cherry picked from commit b39a93b18e)
2021-11-30 17:45:44 -05:00
Ed Maste
3c12222322 src.conf.5: regen 2021-11-29 10:10:53 -05:00
Ed Maste
8bb7b159b5 src.opts.mk: Add WITHOUT_CXX dependencies
OFED, OPENMP, and PMC depend on C++ support.  Force them off when
building WITHOUT_CXX.

Reported by:	Michael Dexter, Build Option Survey
Reviewed by:	imp, jrtc27
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D32730

(cherry picked from commit 0e1c864898)
2021-11-29 10:10:53 -05:00
Greg V
4022f3eec4 cddl: fix missing ZFS library dependencies
In 9fae47666 zfsd got a libspl dependency to avoid undefined references.
However that workaround did not help external consumers of libzfs_core.

Fix all missing dependencies lld 13 and the rtld complain about.

Reviewed by:	freqlabs, markj

(cherry picked from commit 9e9c651cac)
2021-11-29 09:26:35 -05:00
Mark Johnston
1556ae1356 vm_page: Remove vm_page_sbusy() and vm_page_xbusy()
They are unused today and cannot be safely used in the face of unlocked
lookup, in which pages may be busied without the object lock held.

Obtained from:	jeff (object_concurrency patches)
Reviewed by:	kib

(cherry picked from commit a2665158d0)
2021-11-29 09:11:37 -05:00
Mark Johnston
cb081566cf vm_page: Consolidate page busy sleep mechanisms
- Modify vm_page_busy_sleep() and vm_page_busy_sleep_unlocked() to take
  a VM_ALLOC_* flag indicating whether to sleep on shared-busy, and fix
  up callers.
- Modify vm_page_busy_sleep() to return a status indicating whether the
  object lock was dropped, and fix up callers.
- Convert callers of vm_page_sleep_if_busy() to use vm_page_busy_sleep()
  instead.
- Remove vm_page_sleep_if_(x)busy().

No functional change intended.

Obtained from:	jeff (object_concurrency patches)
Reviewed by:	kib

(cherry picked from commit 87b646630c)
2021-11-29 09:11:29 -05:00