Index: usr.sbin/Makefile.aarch64 =================================================================== --- usr.sbin/Makefile.aarch64 +++ usr.sbin/Makefile.aarch64 @@ -4,3 +4,4 @@ SUBDIR+= acpi .endif SUBDIR+= ofwdump +SUBDIR+= hwt Index: usr.sbin/ac/ac.c =================================================================== --- usr.sbin/ac/ac.c +++ usr.sbin/ac/ac.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1994 Christopher G. Demetriou * Copyright (c) 1994 Simon J. Gerraty Index: usr.sbin/acpi/acpiconf/acpiconf.c =================================================================== --- usr.sbin/acpi/acpiconf/acpiconf.c +++ usr.sbin/acpi/acpiconf/acpiconf.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Mitsuru IWASAKI * All rights reserved. Index: usr.sbin/acpi/acpidb/acpidb.c =================================================================== --- usr.sbin/acpi/acpidb/acpidb.c +++ usr.sbin/acpi/acpidb/acpidb.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2000-2002 Mitsuru IWASAKI * All rights reserved. Index: usr.sbin/acpi/acpidump/acpi.c =================================================================== --- usr.sbin/acpi/acpidump/acpi.c +++ usr.sbin/acpi/acpidump/acpi.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Doug Rabson * Copyright (c) 2000 Mitsuru IWASAKI Index: usr.sbin/acpi/acpidump/acpi_user.c =================================================================== --- usr.sbin/acpi/acpidump/acpi_user.c +++ usr.sbin/acpi/acpidump/acpi_user.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Doug Rabson * Copyright (c) 2000 Mitsuru IWASAKI Index: usr.sbin/acpi/acpidump/acpidump.h =================================================================== --- usr.sbin/acpi/acpidump/acpidump.h +++ usr.sbin/acpi/acpidump/acpidump.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Doug Rabson * Copyright (c) 2000 Mitsuru IWASAKI Index: usr.sbin/acpi/acpidump/acpidump.c =================================================================== --- usr.sbin/acpi/acpidump/acpidump.c +++ usr.sbin/acpi/acpidump/acpidump.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2000 Mitsuru IWASAKI * All rights reserved. Index: usr.sbin/adduser/adduser.sh =================================================================== --- usr.sbin/adduser/adduser.sh +++ usr.sbin/adduser/adduser.sh @@ -1,6 +1,6 @@ #!/bin/sh # -# SPDX-License-Identifier: BSD-2-Clause +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD # # Copyright (c) 2002-2004 Michael Telahun Makonnen. All rights reserved. # Index: usr.sbin/adduser/rmuser.sh =================================================================== --- usr.sbin/adduser/rmuser.sh +++ usr.sbin/adduser/rmuser.sh @@ -1,6 +1,6 @@ #!/bin/sh # -# SPDX-License-Identifier: BSD-2-Clause +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD # # Copyright (c) 2002, 2003 Michael Telahun Makonnen. All rights reserved. # Index: usr.sbin/apmd/apmd.h =================================================================== --- usr.sbin/apmd/apmd.h +++ usr.sbin/apmd/apmd.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * APM (Advanced Power Management) Event Dispatcher * Index: usr.sbin/apmd/apmd.c =================================================================== --- usr.sbin/apmd/apmd.c +++ usr.sbin/apmd/apmd.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * APM (Advanced Power Management) Event Dispatcher * Index: usr.sbin/apmd/apmdlex.l =================================================================== --- usr.sbin/apmd/apmdlex.l +++ usr.sbin/apmd/apmdlex.l @@ -1,6 +1,6 @@ %{ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * APM (Advanced Power Management) Event Dispatcher * Index: usr.sbin/apmd/apmdparse.y =================================================================== --- usr.sbin/apmd/apmdparse.y +++ usr.sbin/apmd/apmdparse.y @@ -1,6 +1,6 @@ %{ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * APM (Advanced Power Management) Event Dispatcher * Index: usr.sbin/autofs/automount.c =================================================================== --- usr.sbin/autofs/automount.c +++ usr.sbin/autofs/automount.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 The FreeBSD Foundation * Index: usr.sbin/autofs/automountd.c =================================================================== --- usr.sbin/autofs/automountd.c +++ usr.sbin/autofs/automountd.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 The FreeBSD Foundation * Index: usr.sbin/autofs/autounmountd.c =================================================================== --- usr.sbin/autofs/autounmountd.c +++ usr.sbin/autofs/autounmountd.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 The FreeBSD Foundation * Index: usr.sbin/autofs/common.h =================================================================== --- usr.sbin/autofs/common.h +++ usr.sbin/autofs/common.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 The FreeBSD Foundation * Index: usr.sbin/autofs/common.c =================================================================== --- usr.sbin/autofs/common.c +++ usr.sbin/autofs/common.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 The FreeBSD Foundation * Index: usr.sbin/autofs/defined.c =================================================================== --- usr.sbin/autofs/defined.c +++ usr.sbin/autofs/defined.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 The FreeBSD Foundation * Index: usr.sbin/autofs/log.c =================================================================== --- usr.sbin/autofs/log.c +++ usr.sbin/autofs/log.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 The FreeBSD Foundation * Index: usr.sbin/autofs/token.l =================================================================== --- usr.sbin/autofs/token.l +++ usr.sbin/autofs/token.l @@ -1,6 +1,6 @@ %{ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 The FreeBSD Foundation * Index: usr.sbin/bhyve/Makefile =================================================================== --- usr.sbin/bhyve/Makefile +++ usr.sbin/bhyve/Makefile @@ -111,7 +111,6 @@ CFLAGS+=-DNO_OPENSSL .else LIBADD+= crypto -CFLAGS+=-DOPENSSL_API_COMPAT=0x10100000L .endif CFLAGS+= -I${BHYVE_SYSDIR}/sys/dev/e1000 Index: usr.sbin/bhyve/acpi.h =================================================================== --- usr.sbin/bhyve/acpi.h +++ usr.sbin/bhyve/acpi.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/acpi.c =================================================================== --- usr.sbin/bhyve/acpi.c +++ usr.sbin/bhyve/acpi.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/acpi_device.h =================================================================== --- usr.sbin/bhyve/acpi_device.h +++ usr.sbin/bhyve/acpi_device.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2021 Beckhoff Automation GmbH & Co. KG * Author: Corvin Köhne Index: usr.sbin/bhyve/acpi_device.c =================================================================== --- usr.sbin/bhyve/acpi_device.c +++ usr.sbin/bhyve/acpi_device.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2021 Beckhoff Automation GmbH & Co. KG * Author: Corvin Köhne Index: usr.sbin/bhyve/ahci.h =================================================================== --- usr.sbin/bhyve/ahci.h +++ usr.sbin/bhyve/ahci.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 - 2008 Søren Schmidt * Copyright (c) 2009-2012 Alexander Motin Index: usr.sbin/bhyve/atkbdc.c =================================================================== --- usr.sbin/bhyve/atkbdc.c +++ usr.sbin/bhyve/atkbdc.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 Tycho Nightingale * Copyright (c) 2015 Nahanni Systems Inc. Index: usr.sbin/bhyve/audio.h =================================================================== --- usr.sbin/bhyve/audio.h +++ usr.sbin/bhyve/audio.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2016 Alex Teaca * All rights reserved. Index: usr.sbin/bhyve/audio.c =================================================================== --- usr.sbin/bhyve/audio.c +++ usr.sbin/bhyve/audio.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2016 Alex Teaca * All rights reserved. Index: usr.sbin/bhyve/bhyve.8 =================================================================== --- usr.sbin/bhyve/bhyve.8 +++ usr.sbin/bhyve/bhyve.8 @@ -45,15 +45,6 @@ .Op Cm ,threads= Ar n .Oc .Sm on -.Oo Fl f -.Sm off -.Ar name Cm \&, -.Oo -.Cm string No | Cm file -.Oc -.Cm \&= Ar data -.Sm on -.Oc .Oo .Sm off .Fl G\~ @@ -154,16 +145,6 @@ .Nm to exit when a guest issues an access to an I/O port that is not emulated. This is intended for debug purposes. -.It Fl f Ar name Ns Cm \&, Ns Oo Cm string Ns No | Ns Cm file Ns Oc Ns Cm \&= Ns Ar data -Add a fw_cfg file -.Ar name -to the fw_cfg interface. -If a -.Cm string -is specified, the fw_cfg file contains the string as data. -If a -.Cm file -is specified, bhyve reads the file and adds the file content as fw_cfg data. .It Fl G Xo .Sm off .Oo Ar w Oc Index: usr.sbin/bhyve/bhyvegc.h =================================================================== --- usr.sbin/bhyve/bhyvegc.h +++ usr.sbin/bhyve/bhyvegc.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015 Tycho Nightingale * All rights reserved. Index: usr.sbin/bhyve/bhyvegc.c =================================================================== --- usr.sbin/bhyve/bhyvegc.c +++ usr.sbin/bhyve/bhyvegc.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015 Tycho Nightingale * All rights reserved. Index: usr.sbin/bhyve/bhyverun.h =================================================================== --- usr.sbin/bhyve/bhyverun.h +++ usr.sbin/bhyve/bhyverun.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/bhyverun.c =================================================================== --- usr.sbin/bhyve/bhyverun.c +++ usr.sbin/bhyve/bhyverun.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 NetApp, Inc. * All rights reserved. @@ -1259,9 +1259,9 @@ progname = basename(argv[0]); #ifdef BHYVE_SNAPSHOT - optstr = "aehuwxACDHIPSWYk:f:o:p:G:c:s:m:l:K:U:r:"; + optstr = "aehuwxACDHIPSWYk:o:p:G:c:s:m:l:K:U:r:"; #else - optstr = "aehuwxACDHIPSWYk:f:o:p:G:c:s:m:l:K:U:"; + optstr = "aehuwxACDHIPSWYk:o:p:G:c:s:m:l:K:U:"; #endif while ((c = getopt(argc, argv, optstr)) != -1) { switch (c) { @@ -1289,11 +1289,6 @@ case 'C': set_config_bool("memory.guest_in_core", true); break; - case 'f': - if (qemu_fwcfg_parse_cmdline_arg(optarg) != 0) { - errx(EX_USAGE, "invalid fwcfg item '%s'", optarg); - } - break; case 'G': parse_gdb_options(optarg); break; Index: usr.sbin/bhyve/block_if.h =================================================================== --- usr.sbin/bhyve/block_if.h +++ usr.sbin/bhyve/block_if.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2013 Peter Grehan * All rights reserved. Index: usr.sbin/bhyve/block_if.c =================================================================== --- usr.sbin/bhyve/block_if.c +++ usr.sbin/bhyve/block_if.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2013 Peter Grehan * All rights reserved. Index: usr.sbin/bhyve/bootrom.h =================================================================== --- usr.sbin/bhyve/bootrom.h +++ usr.sbin/bhyve/bootrom.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015 Neel Natu * All rights reserved. Index: usr.sbin/bhyve/bootrom.c =================================================================== --- usr.sbin/bhyve/bootrom.c +++ usr.sbin/bhyve/bootrom.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015 Neel Natu * All rights reserved. Index: usr.sbin/bhyve/config.h =================================================================== --- usr.sbin/bhyve/config.h +++ usr.sbin/bhyve/config.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2021 John H. Baldwin * Index: usr.sbin/bhyve/config.c =================================================================== --- usr.sbin/bhyve/config.c +++ usr.sbin/bhyve/config.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2021 John H. Baldwin * Index: usr.sbin/bhyve/console.h =================================================================== --- usr.sbin/bhyve/console.h +++ usr.sbin/bhyve/console.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015 Tycho Nightingale * All rights reserved. Index: usr.sbin/bhyve/console.c =================================================================== --- usr.sbin/bhyve/console.c +++ usr.sbin/bhyve/console.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015 Tycho Nightingale * All rights reserved. Index: usr.sbin/bhyve/debug.h =================================================================== --- usr.sbin/bhyve/debug.h +++ usr.sbin/bhyve/debug.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2019 Vincenzo Maffione * Index: usr.sbin/bhyve/e820.c =================================================================== --- usr.sbin/bhyve/e820.c +++ usr.sbin/bhyve/e820.c @@ -197,17 +197,11 @@ return (0); } - /* - * If some one tries to allocate a specific address, it could happen, that - * this address is not allocatable. Therefore, do some checks. If the - * address is not allocatable, don't panic. The user may have a fallback and - * tries to allocate another address. This is true for the GVT-d emulation - * which tries to reuse the host address of the graphics stolen memory and - * falls back to allocating the highest address below 4 GB. - */ - if (element == NULL || element->type != E820_TYPE_MEMORY || - (base < element->base || end > element->end)) - return (ENOMEM); + assert(element != NULL); + /* Non system memory should be allocated inside system memory. */ + assert(element->type == E820_TYPE_MEMORY); + /* New element should fit into existing system memory element. */ + assert(base >= element->base && end <= element->end); if (base == element->base) { /* Index: usr.sbin/bhyve/fwctl.h =================================================================== --- usr.sbin/bhyve/fwctl.h +++ usr.sbin/bhyve/fwctl.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015 Peter Grehan * All rights reserved. Index: usr.sbin/bhyve/fwctl.c =================================================================== --- usr.sbin/bhyve/fwctl.c +++ usr.sbin/bhyve/fwctl.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015 Peter Grehan * All rights reserved. Index: usr.sbin/bhyve/gdb.h =================================================================== --- usr.sbin/bhyve/gdb.h +++ usr.sbin/bhyve/gdb.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2017 John H. Baldwin * Index: usr.sbin/bhyve/gdb.c =================================================================== --- usr.sbin/bhyve/gdb.c +++ usr.sbin/bhyve/gdb.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2017-2018 John H. Baldwin * @@ -801,9 +801,6 @@ if (vs->stepping) { error = vm_set_capability(vcpu, VM_CAP_MTRAP_EXIT, 1); assert(error == 0); - - error = vm_set_capability(vcpu, VM_CAP_MASK_HWINTR, 1); - assert(error == 0); } } @@ -856,8 +853,6 @@ vs->stepping = false; vs->stepped = true; vm_set_capability(vcpu, VM_CAP_MTRAP_EXIT, 0); - vm_set_capability(vcpu, VM_CAP_MASK_HWINTR, 0); - while (vs->stepped) { if (stopped_vcpu == -1) { debug("$vCPU %d reporting step\n", vcpuid); Index: usr.sbin/bhyve/hda_codec.c =================================================================== --- usr.sbin/bhyve/hda_codec.c +++ usr.sbin/bhyve/hda_codec.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2016 Alex Teaca * All rights reserved. Index: usr.sbin/bhyve/hda_reg.h =================================================================== --- usr.sbin/bhyve/hda_reg.h +++ usr.sbin/bhyve/hda_reg.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Stephane E. Potvin * All rights reserved. Index: usr.sbin/bhyve/hdac_reg.h =================================================================== --- usr.sbin/bhyve/hdac_reg.h +++ usr.sbin/bhyve/hdac_reg.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Stephane E. Potvin * All rights reserved. Index: usr.sbin/bhyve/inout.h =================================================================== --- usr.sbin/bhyve/inout.h +++ usr.sbin/bhyve/inout.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/inout.c =================================================================== --- usr.sbin/bhyve/inout.c +++ usr.sbin/bhyve/inout.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/ioapic.h =================================================================== --- usr.sbin/bhyve/ioapic.h +++ usr.sbin/bhyve/ioapic.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 Hudson River Trading LLC * Written by: John H. Baldwin Index: usr.sbin/bhyve/ioapic.c =================================================================== --- usr.sbin/bhyve/ioapic.c +++ usr.sbin/bhyve/ioapic.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 Hudson River Trading LLC * Written by: John H. Baldwin Index: usr.sbin/bhyve/iov.h =================================================================== --- usr.sbin/bhyve/iov.h +++ usr.sbin/bhyve/iov.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2016 Jakub Klama . * Copyright (c) 2018 Alexander Motin Index: usr.sbin/bhyve/iov.c =================================================================== --- usr.sbin/bhyve/iov.c +++ usr.sbin/bhyve/iov.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2016 Jakub Klama . * Copyright (c) 2018 Alexander Motin Index: usr.sbin/bhyve/ipc.h =================================================================== --- usr.sbin/bhyve/ipc.h +++ usr.sbin/bhyve/ipc.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2022 Rob Wing * Index: usr.sbin/bhyve/kernemu_dev.h =================================================================== --- usr.sbin/bhyve/kernemu_dev.h +++ usr.sbin/bhyve/kernemu_dev.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright 2020 Conrad Meyer . All rights reserved. * Index: usr.sbin/bhyve/kernemu_dev.c =================================================================== --- usr.sbin/bhyve/kernemu_dev.c +++ usr.sbin/bhyve/kernemu_dev.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright 2020 Conrad Meyer . All rights reserved. * Index: usr.sbin/bhyve/mem.h =================================================================== --- usr.sbin/bhyve/mem.h +++ usr.sbin/bhyve/mem.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/mem.c =================================================================== --- usr.sbin/bhyve/mem.c +++ usr.sbin/bhyve/mem.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/mevent.h =================================================================== --- usr.sbin/bhyve/mevent.h +++ usr.sbin/bhyve/mevent.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/mevent.c =================================================================== --- usr.sbin/bhyve/mevent.c +++ usr.sbin/bhyve/mevent.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/mevent_test.c =================================================================== --- usr.sbin/bhyve/mevent_test.c +++ usr.sbin/bhyve/mevent_test.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/mptbl.h =================================================================== --- usr.sbin/bhyve/mptbl.h +++ usr.sbin/bhyve/mptbl.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/mptbl.c =================================================================== --- usr.sbin/bhyve/mptbl.c +++ usr.sbin/bhyve/mptbl.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/net_backends.h =================================================================== --- usr.sbin/bhyve/net_backends.h +++ usr.sbin/bhyve/net_backends.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2019 Vincenzo Maffione * Index: usr.sbin/bhyve/net_backends.c =================================================================== --- usr.sbin/bhyve/net_backends.c +++ usr.sbin/bhyve/net_backends.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2019 Vincenzo Maffione * Index: usr.sbin/bhyve/net_utils.h =================================================================== --- usr.sbin/bhyve/net_utils.h +++ usr.sbin/bhyve/net_utils.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2019 Vincenzo Maffione * Index: usr.sbin/bhyve/net_utils.c =================================================================== --- usr.sbin/bhyve/net_utils.c +++ usr.sbin/bhyve/net_utils.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 NetApp, Inc. * Index: usr.sbin/bhyve/pci_ahci.c =================================================================== --- usr.sbin/bhyve/pci_ahci.c +++ usr.sbin/bhyve/pci_ahci.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2013 Zhixiang Yu * Copyright (c) 2015-2016 Alexander Motin Index: usr.sbin/bhyve/pci_e82545.c =================================================================== --- usr.sbin/bhyve/pci_e82545.c +++ usr.sbin/bhyve/pci_e82545.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2016 Alexander Motin * Copyright (c) 2015 Peter Grehan Index: usr.sbin/bhyve/pci_emul.h =================================================================== --- usr.sbin/bhyve/pci_emul.h +++ usr.sbin/bhyve/pci_emul.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/pci_emul.c =================================================================== --- usr.sbin/bhyve/pci_emul.c +++ usr.sbin/bhyve/pci_emul.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/pci_fbuf.c =================================================================== --- usr.sbin/bhyve/pci_fbuf.c +++ usr.sbin/bhyve/pci_fbuf.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015 Nahanni Systems, Inc. * All rights reserved. Index: usr.sbin/bhyve/pci_gvt-d-opregion.h =================================================================== --- usr.sbin/bhyve/pci_gvt-d-opregion.h +++ /dev/null @@ -1,186 +0,0 @@ -/** @file - IGD OpRegion definition from Intel Integrated Graphics Device OpRegion - Specification. - - https://01.org/sites/default/files/documentation/skl_opregion_rev0p5.pdf - - Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.
- SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -/* - * See - * - */ - -#pragma once - -#include - -#define IGD_OPREGION_HEADER_SIGN "IntelGraphicsMem" -#define IGD_OPREGION_HEADER_MBOX1 BIT0 -#define IGD_OPREGION_HEADER_MBOX2 BIT1 -#define IGD_OPREGION_HEADER_MBOX3 BIT2 -#define IGD_OPREGION_HEADER_MBOX4 BIT3 -#define IGD_OPREGION_HEADER_MBOX5 BIT4 - -#define IGD_OPREGION_VBT_SIZE_6K (6 * 1024UL) - -/** - OpRegion structures: - Sub-structures define the different parts of the OpRegion followed by the - main structure representing the entire OpRegion. - @note These structures are packed to 1 byte offsets because the exact - data location is required by the supporting design specification due to - the fact that the data is used by ASL and Graphics driver code compiled - separately. -**/ - -/// -/// OpRegion Mailbox 0 Header structure. The OpRegion Header is used to -/// identify a block of memory as the graphics driver OpRegion. -/// Offset 0x0, Size 0x100 -/// -struct igd_opregion_header { - int8_t sign[0x10]; ///< Offset 0x00 OpRegion Signature - uint32_t size; ///< Offset 0x10 OpRegion Size - uint32_t over; ///< Offset 0x14 OpRegion Structure Version - uint8_t sver[0x20]; ///< Offset 0x18 System BIOS Build Version - uint8_t vver[0x10]; ///< Offset 0x38 Video BIOS Build Version - uint8_t gver[0x10]; ///< Offset 0x48 Graphic Driver Build Version - uint32_t mbox; ///< Offset 0x58 Supported Mailboxes - uint32_t dmod; ///< Offset 0x5C Driver Model - uint32_t pcon; ///< Offset 0x60 Platform Configuration - int16_t dver[0x10]; ///< Offset 0x64 GOP Version - uint8_t rm01[0x7C]; ///< Offset 0x84 Reserved Must be zero -} __packed; - -/// -/// OpRegion Mailbox 1 - Public ACPI Methods -/// Offset 0x100, Size 0x100 -/// -struct igd_opregion_mbox1 { - uint32_t drdy; ///< Offset 0x100 Driver Readiness - uint32_t csts; ///< Offset 0x104 Status - uint32_t cevt; ///< Offset 0x108 Current Event - uint8_t rm11[0x14]; ///< Offset 0x10C Reserved Must be Zero - uint32_t didl[8]; ///< Offset 0x120 Supported Display Devices ID List - uint32_t - cpdl[8]; ///< Offset 0x140 Currently Attached Display Devices List - uint32_t - cadl[8]; ///< Offset 0x160 Currently Active Display Devices List - uint32_t nadl[8]; ///< Offset 0x180 Next Active Devices List - uint32_t aslp; ///< Offset 0x1A0 ASL Sleep Time Out - uint32_t tidx; ///< Offset 0x1A4 Toggle Table Index - uint32_t chpd; ///< Offset 0x1A8 Current Hotplug Enable Indicator - uint32_t clid; ///< Offset 0x1AC Current Lid State Indicator - uint32_t cdck; ///< Offset 0x1B0 Current Docking State Indicator - uint32_t sxsw; ///< Offset 0x1B4 Display Switch Notification on Sx - ///< StateResume - uint32_t evts; ///< Offset 0x1B8 Events supported by ASL - uint32_t cnot; ///< Offset 0x1BC Current OS Notification - uint32_t NRDY; ///< Offset 0x1C0 Driver Status - uint8_t did2[0x1C]; ///< Offset 0x1C4 Extended Supported Devices ID - ///< List(DOD) - uint8_t - cpd2[0x1C]; ///< Offset 0x1E0 Extended Attached Display Devices List - uint8_t rm12[4]; ///< Offset 0x1FC - 0x1FF Reserved Must be zero -} __packed; - -/// -/// OpRegion Mailbox 2 - Software SCI Interface -/// Offset 0x200, Size 0x100 -/// -struct igd_opregion_mbox2 { - uint32_t scic; ///< Offset 0x200 Software SCI Command / Status / Data - uint32_t parm; ///< Offset 0x204 Software SCI Parameters - uint32_t dslp; ///< Offset 0x208 Driver Sleep Time Out - uint8_t rm21[0xF4]; ///< Offset 0x20C - 0x2FF Reserved Must be zero -} __packed; - -/// -/// OpRegion Mailbox 3 - BIOS/Driver Notification - ASLE Support -/// Offset 0x300, Size 0x100 -/// -struct igd_opregion_mbox3 { - uint32_t ardy; ///< Offset 0x300 Driver Readiness - uint32_t aslc; ///< Offset 0x304 ASLE Interrupt Command / Status - uint32_t tche; ///< Offset 0x308 Technology Enabled Indicator - uint32_t alsi; ///< Offset 0x30C Current ALS Luminance Reading - uint32_t bclp; ///< Offset 0x310 Requested Backlight Brightness - uint32_t pfit; ///< Offset 0x314 Panel Fitting State or Request - uint32_t cblv; ///< Offset 0x318 Current Brightness Level - uint16_t bclm[0x14]; ///< Offset 0x31C Backlight Brightness Levels Duty - ///< Cycle Mapping Table - uint32_t cpfm; ///< Offset 0x344 Current Panel Fitting Mode - uint32_t epfm; ///< Offset 0x348 Enabled Panel Fitting Modes - uint8_t plut[0x4A]; ///< Offset 0x34C Panel Look Up Table & Identifier - uint32_t pfmb; ///< Offset 0x396 PWM Frequency and Minimum Brightness - uint32_t ccdv; ///< Offset 0x39A Color Correction Default Values - uint32_t pcft; ///< Offset 0x39E Power Conservation Features - uint32_t srot; ///< Offset 0x3A2 Supported Rotation Angles - uint32_t iuer; ///< Offset 0x3A6 Intel Ultrabook(TM) Event Register - uint64_t fdss; ///< Offset 0x3AA DSS Buffer address allocated for IFFS - ///< feature - uint32_t fdsp; ///< Offset 0x3B2 Size of DSS buffer - uint32_t stat; ///< Offset 0x3B6 State Indicator - uint64_t rvda; ///< Offset 0x3BA Absolute/Relative Address of Raw VBT - ///< Data from OpRegion Base - uint32_t rvds; ///< Offset 0x3C2 Raw VBT Data Size - uint8_t rsvd2[0x3A]; ///< Offset 0x3C6 - 0x3FF Reserved Must be zero. - ///< Bug in spec 0x45(69) -} __packed; - -/// -/// OpRegion Mailbox 4 - VBT Video BIOS Table -/// Offset 0x400, Size 0x1800 -/// -struct igd_opregion_mbox4 { - uint8_t rvbt[IGD_OPREGION_VBT_SIZE_6K]; ///< Offset 0x400 - 0x1BFF Raw - ///< VBT Data -} __packed; - -/// -/// OpRegion Mailbox 5 - BIOS/Driver Notification - Data storage BIOS to Driver -/// data sync Offset 0x1C00, Size 0x400 -/// -struct igd_opregion_mbox5 { - uint32_t phed; ///< Offset 0x1C00 Panel Header - uint8_t bddc[0x100]; ///< Offset 0x1C04 Panel EDID (DDC data) - uint8_t rm51[0x2FC]; ///< Offset 0x1D04 - 0x1FFF Reserved Must be zero -} __packed; - -/// -/// IGD OpRegion Structure -/// -struct igd_opregion { - struct igd_opregion_header - header; ///< OpRegion header (Offset 0x0, Size 0x100) - struct igd_opregion_mbox1 mbox1; ///< Mailbox 1: Public ACPI Methods - ///< (Offset 0x100, Size 0x100) - struct igd_opregion_mbox2 mbox2; ///< Mailbox 2: Software SCI Interface - ///< (Offset 0x200, Size 0x100) - struct igd_opregion_mbox3 - mbox3; ///< Mailbox 3: BIOS to Driver Notification (Offset 0x300, - ///< Size 0x100) - struct igd_opregion_mbox4 mbox4; ///< Mailbox 4: Video BIOS Table (VBT) - ///< (Offset 0x400, Size 0x1800) - struct igd_opregion_mbox5 - mbox5; ///< Mailbox 5: BIOS to Driver Notification Extension (Offset - ///< 0x1C00, Size 0x400) -} __packed; - -/// -/// VBT Header Structure -/// -struct vbt_header { - uint8_t product_string[20]; - uint16_t version; - uint16_t header_size; - uint16_t table_size; - uint8_t checksum; - uint8_t reserved1; - uint32_t bios_data_offset; - uint32_t aim_data_offset[4]; -} __packed; Index: usr.sbin/bhyve/pci_hda.h =================================================================== --- usr.sbin/bhyve/pci_hda.h +++ usr.sbin/bhyve/pci_hda.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2016 Alex Teaca * All rights reserved. Index: usr.sbin/bhyve/pci_hda.c =================================================================== --- usr.sbin/bhyve/pci_hda.c +++ usr.sbin/bhyve/pci_hda.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2016 Alex Teaca * All rights reserved. Index: usr.sbin/bhyve/pci_hostbridge.c =================================================================== --- usr.sbin/bhyve/pci_hostbridge.c +++ usr.sbin/bhyve/pci_hostbridge.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/pci_irq.h =================================================================== --- usr.sbin/bhyve/pci_irq.h +++ usr.sbin/bhyve/pci_irq.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 Hudson River Trading LLC * Written by: John H. Baldwin Index: usr.sbin/bhyve/pci_irq.c =================================================================== --- usr.sbin/bhyve/pci_irq.c +++ usr.sbin/bhyve/pci_irq.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 Hudson River Trading LLC * Written by: John H. Baldwin Index: usr.sbin/bhyve/pci_lpc.h =================================================================== --- usr.sbin/bhyve/pci_lpc.h +++ usr.sbin/bhyve/pci_lpc.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2013 Neel Natu * All rights reserved. Index: usr.sbin/bhyve/pci_lpc.c =================================================================== --- usr.sbin/bhyve/pci_lpc.c +++ usr.sbin/bhyve/pci_lpc.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2013 Neel Natu * Copyright (c) 2013 Tycho Nightingale Index: usr.sbin/bhyve/pci_nvme.c =================================================================== --- usr.sbin/bhyve/pci_nvme.c +++ usr.sbin/bhyve/pci_nvme.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2017 Shunsuke Mie * Copyright (c) 2018 Leon Dang Index: usr.sbin/bhyve/pci_passthru.h =================================================================== --- usr.sbin/bhyve/pci_passthru.h +++ usr.sbin/bhyve/pci_passthru.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2020 Beckhoff Automation GmbH & Co. KG * Author: Corvin Köhne @@ -11,14 +11,6 @@ #include "pci_emul.h" -struct passthru_mmio_mapping { - vm_paddr_t gpa; /* guest physical address */ - void *gva; /* guest virtual address */ - vm_paddr_t hpa; /* host physical address */ - void *hva; /* guest virtual address */ - vm_paddr_t len; -}; - struct passthru_softc; typedef int (*cfgread_handler)(struct passthru_softc *sc, @@ -32,8 +24,5 @@ int coff, int bytes, uint32_t *rv); int passthru_cfgwrite_emulate(struct passthru_softc *sc, struct pci_devinst *pi, int coff, int bytes, uint32_t val); -struct passthru_mmio_mapping *passthru_get_mmio(struct passthru_softc *sc, - int num); -struct pcisel *passthru_get_sel(struct passthru_softc *sc); int set_pcir_handler(struct passthru_softc *sc, int reg, int len, cfgread_handler rhandler, cfgwrite_handler whandler); Index: usr.sbin/bhyve/pci_passthru.c =================================================================== --- usr.sbin/bhyve/pci_passthru.c +++ usr.sbin/bhyve/pci_passthru.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 NetApp, Inc. * All rights reserved. @@ -78,8 +78,6 @@ #define MSIX_TABLE_COUNT(ctrl) (((ctrl) & PCIM_MSIXCTRL_TABLE_SIZE) + 1) #define MSIX_CAPLEN 12 -#define PASSTHRU_MMIO_MAX 2 - static int pcifd = -1; struct passthru_softc { @@ -96,7 +94,6 @@ } psc_msix; struct pcisel psc_sel; - struct passthru_mmio_mapping psc_mmio_map[PASSTHRU_MMIO_MAX]; cfgread_handler psc_pcir_rhandler[PCI_REGMAX + 1]; cfgwrite_handler psc_pcir_whandler[PCI_REGMAX + 1]; }; @@ -663,23 +660,6 @@ return (error); } -struct passthru_mmio_mapping * -passthru_get_mmio(struct passthru_softc *sc, int num) -{ - assert(sc != NULL); - assert(num < PASSTHRU_MMIO_MAX); - - return (&sc->psc_mmio_map[num]); -} - -struct pcisel * -passthru_get_sel(struct passthru_softc *sc) -{ - assert(sc != NULL); - - return (&sc->psc_sel); -} - int set_pcir_handler(struct passthru_softc *sc, int reg, int len, cfgread_handler rhandler, cfgwrite_handler whandler) Index: usr.sbin/bhyve/pci_uart.c =================================================================== --- usr.sbin/bhyve/pci_uart.c +++ usr.sbin/bhyve/pci_uart.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/pci_virtio_block.c =================================================================== --- usr.sbin/bhyve/pci_virtio_block.c +++ usr.sbin/bhyve/pci_virtio_block.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/pci_virtio_console.c =================================================================== --- usr.sbin/bhyve/pci_virtio_console.c +++ usr.sbin/bhyve/pci_virtio_console.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2016 iXsystems Inc. * All rights reserved. Index: usr.sbin/bhyve/pci_virtio_input.c =================================================================== --- usr.sbin/bhyve/pci_virtio_input.c +++ usr.sbin/bhyve/pci_virtio_input.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2021 Beckhoff Automation GmbH & Co. KG * All rights reserved. Index: usr.sbin/bhyve/pci_virtio_net.c =================================================================== --- usr.sbin/bhyve/pci_virtio_net.c +++ usr.sbin/bhyve/pci_virtio_net.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/pci_virtio_rnd.c =================================================================== --- usr.sbin/bhyve/pci_virtio_rnd.c +++ usr.sbin/bhyve/pci_virtio_rnd.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 Nahanni Systems Inc. * All rights reserved. Index: usr.sbin/bhyve/pci_virtio_scsi.c =================================================================== --- usr.sbin/bhyve/pci_virtio_scsi.c +++ usr.sbin/bhyve/pci_virtio_scsi.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2016 Jakub Klama . * Copyright (c) 2018 Marcelo Araujo . Index: usr.sbin/bhyve/pci_xhci.h =================================================================== --- usr.sbin/bhyve/pci_xhci.h +++ usr.sbin/bhyve/pci_xhci.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 Leon Dang * All rights reserved. Index: usr.sbin/bhyve/pci_xhci.c =================================================================== --- usr.sbin/bhyve/pci_xhci.c +++ usr.sbin/bhyve/pci_xhci.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 Leon Dang * All rights reserved. Index: usr.sbin/bhyve/pctestdev.h =================================================================== --- usr.sbin/bhyve/pctestdev.h +++ usr.sbin/bhyve/pctestdev.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2020 Adam Fenn * Index: usr.sbin/bhyve/pctestdev.c =================================================================== --- usr.sbin/bhyve/pctestdev.c +++ usr.sbin/bhyve/pctestdev.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2020 Adam Fenn * Index: usr.sbin/bhyve/pm.c =================================================================== --- usr.sbin/bhyve/pm.c +++ usr.sbin/bhyve/pm.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2013 Hudson River Trading LLC * Written by: John H. Baldwin Index: usr.sbin/bhyve/post.c =================================================================== --- usr.sbin/bhyve/post.c +++ usr.sbin/bhyve/post.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/ps2kbd.h =================================================================== --- usr.sbin/bhyve/ps2kbd.h +++ usr.sbin/bhyve/ps2kbd.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015 Tycho Nightingale * All rights reserved. Index: usr.sbin/bhyve/ps2kbd.c =================================================================== --- usr.sbin/bhyve/ps2kbd.c +++ usr.sbin/bhyve/ps2kbd.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015 Tycho Nightingale * Copyright (c) 2015 Nahanni Systems Inc. Index: usr.sbin/bhyve/ps2mouse.h =================================================================== --- usr.sbin/bhyve/ps2mouse.h +++ usr.sbin/bhyve/ps2mouse.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015 Tycho Nightingale * All rights reserved. Index: usr.sbin/bhyve/ps2mouse.c =================================================================== --- usr.sbin/bhyve/ps2mouse.c +++ usr.sbin/bhyve/ps2mouse.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015 Tycho Nightingale * Copyright (c) 2015 Nahanni Systems Inc. Index: usr.sbin/bhyve/qemu_fwcfg.h =================================================================== --- usr.sbin/bhyve/qemu_fwcfg.h +++ usr.sbin/bhyve/qemu_fwcfg.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2021 Beckhoff Automation GmbH & Co. KG * Author: Corvin Köhne @@ -23,4 +23,3 @@ int qemu_fwcfg_add_file(const char *name, const uint32_t size, void *const data); int qemu_fwcfg_init(struct vmctx *const ctx); -int qemu_fwcfg_parse_cmdline_arg(const char *opt); Index: usr.sbin/bhyve/qemu_fwcfg.c =================================================================== --- usr.sbin/bhyve/qemu_fwcfg.c +++ usr.sbin/bhyve/qemu_fwcfg.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2021 Beckhoff Automation GmbH & Co. KG * Author: Corvin Köhne @@ -7,18 +7,13 @@ #include #include -#include -#include #include #include #include -#include -#include #include #include -#include #include "acpi_device.h" #include "bhyverun.h" @@ -103,15 +98,6 @@ static struct qemu_fwcfg_softc fwcfg_sc; -struct qemu_fwcfg_user_file { - STAILQ_ENTRY(qemu_fwcfg_user_file) chain; - uint8_t name[QEMU_FWCFG_MAX_NAME]; - uint32_t size; - void *data; -}; -static STAILQ_HEAD(qemu_fwcfg_user_file_list, - qemu_fwcfg_user_file) user_files = STAILQ_HEAD_INITIALIZER(user_files); - static int qemu_fwcfg_selector_port_handler(struct vmctx *const ctx __unused, const int in, const int port __unused, const int bytes, uint32_t *const eax, @@ -398,22 +384,6 @@ return (0); } -static int -qemu_fwcfg_add_user_files(void) -{ - const struct qemu_fwcfg_user_file *fwcfg_file; - int error; - - STAILQ_FOREACH(fwcfg_file, &user_files, chain) { - error = qemu_fwcfg_add_file(fwcfg_file->name, fwcfg_file->size, - fwcfg_file->data); - if (error) - return (error); - } - - return (0); -} - static const struct acpi_device_emul qemu_fwcfg_acpi_device_emul = { .name = QEMU_FWCFG_ACPI_DEVICE_NAME, .hid = QEMU_FWCFG_ACPI_HARDWARE_ID, @@ -488,11 +458,6 @@ } if ((error = qemu_fwcfg_add_item_file_dir()) != 0) { warnx("%s: Unable to add file_dir item", __func__); - } - - /* add user defined fwcfg files */ - if ((error = qemu_fwcfg_add_user_files()) != 0) { - warnx("%s: Unable to add user files", __func__); goto done; } @@ -503,113 +468,3 @@ return (error); } - -static void -qemu_fwcfg_usage(const char *opt) -{ - warnx("Invalid fw_cfg option \"%s\"", opt); - warnx("-f [name=],(string|file)="); -} - -/* - * Parses the cmdline argument for user defined fw_cfg items. The cmdline - * argument has the format: - * "-f [name=],(string|file)=" - * - * E.g.: "-f opt/com.page/example,string=Hello" - */ -int -qemu_fwcfg_parse_cmdline_arg(const char *opt) -{ - struct qemu_fwcfg_user_file *fwcfg_file; - struct stat sb; - const char *opt_ptr, *opt_end; - ssize_t bytes_read; - int fd; - - fwcfg_file = malloc(sizeof(*fwcfg_file)); - if (fwcfg_file == NULL) { - warnx("Unable to allocate fw_cfg_user_file"); - return (ENOMEM); - } - - /* get pointer to */ - opt_ptr = opt; - /* If [name=] is specified, skip it */ - if (strncmp(opt_ptr, "name=", sizeof("name=") - 1) == 0) { - opt_ptr += sizeof("name=") - 1; - } - - /* get the end of */ - opt_end = strchr(opt_ptr, ','); - if (opt_end == NULL) { - qemu_fwcfg_usage(opt); - return (EINVAL); - } - - /* check if is too long */ - if (opt_end - opt_ptr >= QEMU_FWCFG_MAX_NAME) { - warnx("fw_cfg name too long: \"%s\"", opt); - return (EINVAL); - } - - /* save */ - strncpy(fwcfg_file->name, opt_ptr, opt_end - opt_ptr); - fwcfg_file->name[opt_end - opt_ptr] = '\0'; - - /* set opt_ptr and opt_end to */ - opt_ptr = opt_end + 1; - opt_end = opt_ptr + strlen(opt_ptr); - - if (strncmp(opt_ptr, "string=", sizeof("string=") - 1) == 0) { - opt_ptr += sizeof("string=") - 1; - fwcfg_file->data = strdup(opt_ptr); - if (fwcfg_file->data == NULL) { - warnx("Can't duplicate fw_cfg_user_file string \"%s\"", - opt_ptr); - return (ENOMEM); - } - fwcfg_file->size = strlen(opt_ptr) + 1; - } else if (strncmp(opt_ptr, "file=", sizeof("file=") - 1) == 0) { - opt_ptr += sizeof("file=") - 1; - - fd = open(opt_ptr, O_RDONLY); - if (fd < 0) { - warn("Can't open fw_cfg_user_file file \"%s\"", - opt_ptr); - return (EINVAL); - } - - if (fstat(fd, &sb) < 0) { - warn("Unable to get size of file \"%s\"", opt_ptr); - close(fd); - return (-1); - } - - fwcfg_file->data = malloc(sb.st_size); - if (fwcfg_file->data == NULL) { - warnx( - "Can't allocate fw_cfg_user_file file \"%s\" (size: 0x%16lx)", - opt_ptr, sb.st_size); - close(fd); - return (ENOMEM); - } - bytes_read = read(fd, fwcfg_file->data, sb.st_size); - if (bytes_read < 0 || bytes_read != sb.st_size) { - warn("Unable to read file \"%s\"", opt_ptr); - free(fwcfg_file->data); - close(fd); - return (-1); - } - fwcfg_file->size = bytes_read; - - close(fd); - } else { - qemu_fwcfg_usage(opt); - return (EINVAL); - } - - STAILQ_INSERT_TAIL(&user_files, fwcfg_file, chain); - - return (0); -} Index: usr.sbin/bhyve/rfb.h =================================================================== --- usr.sbin/bhyve/rfb.h +++ usr.sbin/bhyve/rfb.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015 Tycho Nightingale * All rights reserved. Index: usr.sbin/bhyve/rfb.c =================================================================== --- usr.sbin/bhyve/rfb.c +++ usr.sbin/bhyve/rfb.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015 Tycho Nightingale * Copyright (c) 2015 Leon Dang Index: usr.sbin/bhyve/rtc.h =================================================================== --- usr.sbin/bhyve/rtc.h +++ usr.sbin/bhyve/rtc.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2013 Peter Grehan * All rights reserved. Index: usr.sbin/bhyve/rtc.c =================================================================== --- usr.sbin/bhyve/rtc.c +++ usr.sbin/bhyve/rtc.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/smbiostbl.h =================================================================== --- usr.sbin/bhyve/smbiostbl.h +++ usr.sbin/bhyve/smbiostbl.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 Tycho Nightingale * All rights reserved. Index: usr.sbin/bhyve/smbiostbl.c =================================================================== --- usr.sbin/bhyve/smbiostbl.c +++ usr.sbin/bhyve/smbiostbl.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 Tycho Nightingale * All rights reserved. Index: usr.sbin/bhyve/snapshot.h =================================================================== --- usr.sbin/bhyve/snapshot.h +++ usr.sbin/bhyve/snapshot.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2016 Flavius Anton * Copyright (c) 2016 Mihai Tiganus Index: usr.sbin/bhyve/snapshot.c =================================================================== --- usr.sbin/bhyve/snapshot.c +++ usr.sbin/bhyve/snapshot.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2016 Flavius Anton * Copyright (c) 2016 Mihai Tiganus Index: usr.sbin/bhyve/sockstream.h =================================================================== --- usr.sbin/bhyve/sockstream.h +++ usr.sbin/bhyve/sockstream.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015 Nahanni Systems, Inc. * All rights reserved. Index: usr.sbin/bhyve/sockstream.c =================================================================== --- usr.sbin/bhyve/sockstream.c +++ usr.sbin/bhyve/sockstream.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015 Nahanni Systems, Inc. * All rights reserved. Index: usr.sbin/bhyve/spinup_ap.h =================================================================== --- usr.sbin/bhyve/spinup_ap.h +++ usr.sbin/bhyve/spinup_ap.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/spinup_ap.c =================================================================== --- usr.sbin/bhyve/spinup_ap.c +++ usr.sbin/bhyve/spinup_ap.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/task_switch.c =================================================================== --- usr.sbin/bhyve/task_switch.c +++ usr.sbin/bhyve/task_switch.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 Neel Natu * All rights reserved. Index: usr.sbin/bhyve/uart_emul.h =================================================================== --- usr.sbin/bhyve/uart_emul.h +++ usr.sbin/bhyve/uart_emul.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2013 Neel Natu * All rights reserved. Index: usr.sbin/bhyve/uart_emul.c =================================================================== --- usr.sbin/bhyve/uart_emul.c +++ usr.sbin/bhyve/uart_emul.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 NetApp, Inc. * Copyright (c) 2013 Neel Natu Index: usr.sbin/bhyve/usb_emul.h =================================================================== --- usr.sbin/bhyve/usb_emul.h +++ usr.sbin/bhyve/usb_emul.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 Leon Dang * All rights reserved. Index: usr.sbin/bhyve/usb_emul.c =================================================================== --- usr.sbin/bhyve/usb_emul.c +++ usr.sbin/bhyve/usb_emul.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 Nahanni Systems Inc. * All rights reserved. Index: usr.sbin/bhyve/usb_mouse.c =================================================================== --- usr.sbin/bhyve/usb_mouse.c +++ usr.sbin/bhyve/usb_mouse.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 Leon Dang * All rights reserved. Index: usr.sbin/bhyve/vga.h =================================================================== --- usr.sbin/bhyve/vga.h +++ usr.sbin/bhyve/vga.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015 Tycho Nightingale * All rights reserved. Index: usr.sbin/bhyve/vga.c =================================================================== --- usr.sbin/bhyve/vga.c +++ usr.sbin/bhyve/vga.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015 Tycho Nightingale * All rights reserved. Index: usr.sbin/bhyve/virtio.h =================================================================== --- usr.sbin/bhyve/virtio.h +++ usr.sbin/bhyve/virtio.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2013 Chris Torek * All rights reserved. Index: usr.sbin/bhyve/virtio.c =================================================================== --- usr.sbin/bhyve/virtio.c +++ usr.sbin/bhyve/virtio.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2013 Chris Torek * All rights reserved. Index: usr.sbin/bhyve/vmgenc.h =================================================================== --- usr.sbin/bhyve/vmgenc.h +++ usr.sbin/bhyve/vmgenc.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright 2020 Conrad Meyer . All rights reserved. * Index: usr.sbin/bhyve/vmgenc.c =================================================================== --- usr.sbin/bhyve/vmgenc.c +++ usr.sbin/bhyve/vmgenc.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright 2020 Conrad Meyer . All rights reserved. * Index: usr.sbin/bhyve/xmsr.h =================================================================== --- usr.sbin/bhyve/xmsr.h +++ usr.sbin/bhyve/xmsr.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyve/xmsr.c =================================================================== --- usr.sbin/bhyve/xmsr.c +++ usr.sbin/bhyve/xmsr.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyvectl/bhyvectl.c =================================================================== --- usr.sbin/bhyvectl/bhyvectl.c +++ usr.sbin/bhyvectl/bhyvectl.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 NetApp, Inc. * All rights reserved. Index: usr.sbin/bhyveload/bhyveload.c =================================================================== --- usr.sbin/bhyveload/bhyveload.c +++ usr.sbin/bhyveload/bhyveload.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD AND BSD-2-Clause * * Copyright (c) 2011 NetApp, Inc. * All rights reserved. Index: usr.sbin/bluetooth/bcmfw/bcmfw.c =================================================================== --- usr.sbin/bluetooth/bcmfw/bcmfw.c +++ usr.sbin/bluetooth/bcmfw/bcmfw.c @@ -1,7 +1,7 @@ /*- * bcmfw.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2003 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/bthidcontrol/bthidcontrol.h =================================================================== --- usr.sbin/bluetooth/bthidcontrol/bthidcontrol.h +++ usr.sbin/bluetooth/bthidcontrol/bthidcontrol.h @@ -1,7 +1,7 @@ /*- * bthidcontrol.h * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/bthidcontrol/bthidcontrol.c =================================================================== --- usr.sbin/bluetooth/bthidcontrol/bthidcontrol.c +++ usr.sbin/bluetooth/bthidcontrol/bthidcontrol.c @@ -1,7 +1,7 @@ /*- * bthidcontrol.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/bthidcontrol/hid.c =================================================================== --- usr.sbin/bluetooth/bthidcontrol/hid.c +++ usr.sbin/bluetooth/bthidcontrol/hid.c @@ -1,7 +1,7 @@ /*- * hid.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/bthidcontrol/sdp.c =================================================================== --- usr.sbin/bluetooth/bthidcontrol/sdp.c +++ usr.sbin/bluetooth/bthidcontrol/sdp.c @@ -1,7 +1,7 @@ /*- * sdp.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/bthidd/bthid_config.h =================================================================== --- usr.sbin/bluetooth/bthidd/bthid_config.h +++ usr.sbin/bluetooth/bthidd/bthid_config.h @@ -3,7 +3,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/bthidd/bthidd.h =================================================================== --- usr.sbin/bluetooth/bthidd/bthidd.h +++ usr.sbin/bluetooth/bthidd/bthidd.h @@ -3,7 +3,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/bthidd/bthidd.c =================================================================== --- usr.sbin/bluetooth/bthidd/bthidd.c +++ usr.sbin/bluetooth/bthidd/bthidd.c @@ -3,7 +3,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/bthidd/btuinput.h =================================================================== --- usr.sbin/bluetooth/bthidd/btuinput.h +++ usr.sbin/bluetooth/bthidd/btuinput.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015-2017 Vladimir Kondratyev * All rights reserved. Index: usr.sbin/bluetooth/bthidd/btuinput.c =================================================================== --- usr.sbin/bluetooth/bthidd/btuinput.c +++ usr.sbin/bluetooth/bthidd/btuinput.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015-2017 Vladimir Kondratyev * All rights reserved. Index: usr.sbin/bluetooth/bthidd/client.c =================================================================== --- usr.sbin/bluetooth/bthidd/client.c +++ usr.sbin/bluetooth/bthidd/client.c @@ -3,7 +3,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/bthidd/hid.c =================================================================== --- usr.sbin/bluetooth/bthidd/hid.c +++ usr.sbin/bluetooth/bthidd/hid.c @@ -3,7 +3,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/bthidd/kbd.h =================================================================== --- usr.sbin/bluetooth/bthidd/kbd.h +++ usr.sbin/bluetooth/bthidd/kbd.h @@ -3,7 +3,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/bthidd/kbd.c =================================================================== --- usr.sbin/bluetooth/bthidd/kbd.c +++ usr.sbin/bluetooth/bthidd/kbd.c @@ -3,7 +3,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/bthidd/lexer.l =================================================================== --- usr.sbin/bluetooth/bthidd/lexer.l +++ usr.sbin/bluetooth/bthidd/lexer.l @@ -4,7 +4,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/bthidd/parser.y =================================================================== --- usr.sbin/bluetooth/bthidd/parser.y +++ usr.sbin/bluetooth/bthidd/parser.y @@ -4,7 +4,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/bthidd/server.c =================================================================== --- usr.sbin/bluetooth/bthidd/server.c +++ usr.sbin/bluetooth/bthidd/server.c @@ -3,7 +3,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/bthidd/session.c =================================================================== --- usr.sbin/bluetooth/bthidd/session.c +++ usr.sbin/bluetooth/bthidd/session.c @@ -3,7 +3,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/btpand/bnep.h =================================================================== --- usr.sbin/bluetooth/btpand/bnep.h +++ usr.sbin/bluetooth/btpand/bnep.h @@ -1,7 +1,7 @@ /* $NetBSD: bnep.h,v 1.1 2008/08/17 13:20:57 plunky Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2008 Iain Hibbert * All rights reserved. Index: usr.sbin/bluetooth/btpand/bnep.c =================================================================== --- usr.sbin/bluetooth/btpand/bnep.c +++ usr.sbin/bluetooth/btpand/bnep.c @@ -1,7 +1,7 @@ /* $NetBSD: bnep.c,v 1.1 2008/08/17 13:20:57 plunky Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2008 Iain Hibbert * All rights reserved. Index: usr.sbin/bluetooth/btpand/btpand.h =================================================================== --- usr.sbin/bluetooth/btpand/btpand.h +++ usr.sbin/bluetooth/btpand/btpand.h @@ -1,7 +1,7 @@ /* $NetBSD: btpand.h,v 1.1 2008/08/17 13:20:57 plunky Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2008 Iain Hibbert * All rights reserved. Index: usr.sbin/bluetooth/btpand/btpand.c =================================================================== --- usr.sbin/bluetooth/btpand/btpand.c +++ usr.sbin/bluetooth/btpand/btpand.c @@ -1,7 +1,7 @@ /* $NetBSD: btpand.c,v 1.1 2008/08/17 13:20:57 plunky Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2008 Iain Hibbert * All rights reserved. Index: usr.sbin/bluetooth/btpand/channel.c =================================================================== --- usr.sbin/bluetooth/btpand/channel.c +++ usr.sbin/bluetooth/btpand/channel.c @@ -1,7 +1,7 @@ /* $NetBSD: channel.c,v 1.1 2008/08/17 13:20:57 plunky Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2008 Iain Hibbert * All rights reserved. Index: usr.sbin/bluetooth/btpand/client.c =================================================================== --- usr.sbin/bluetooth/btpand/client.c +++ usr.sbin/bluetooth/btpand/client.c @@ -1,7 +1,7 @@ /* $NetBSD: client.c,v 1.2 2008/12/06 20:01:14 plunky Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2008 Iain Hibbert * All rights reserved. Index: usr.sbin/bluetooth/btpand/event.h =================================================================== --- usr.sbin/bluetooth/btpand/event.h +++ usr.sbin/bluetooth/btpand/event.h @@ -3,7 +3,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2009 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/btpand/event.c =================================================================== --- usr.sbin/bluetooth/btpand/event.c +++ usr.sbin/bluetooth/btpand/event.c @@ -3,7 +3,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2009 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/btpand/packet.c =================================================================== --- usr.sbin/bluetooth/btpand/packet.c +++ usr.sbin/bluetooth/btpand/packet.c @@ -1,7 +1,7 @@ /* $NetBSD: packet.c,v 1.1 2008/08/17 13:20:57 plunky Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2008 Iain Hibbert * All rights reserved. Index: usr.sbin/bluetooth/btpand/sdp.h =================================================================== --- usr.sbin/bluetooth/btpand/sdp.h +++ usr.sbin/bluetooth/btpand/sdp.h @@ -1,7 +1,7 @@ /* $NetBSD: sdp.h,v 1.2 2008/12/06 20:01:15 plunky Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2008 Iain Hibbert * All rights reserved. Index: usr.sbin/bluetooth/btpand/sdp.c =================================================================== --- usr.sbin/bluetooth/btpand/sdp.c +++ usr.sbin/bluetooth/btpand/sdp.c @@ -1,7 +1,7 @@ /* $NetBSD: sdp.c,v 1.2 2008/12/06 20:01:14 plunky Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2008 Iain Hibbert * All rights reserved. Index: usr.sbin/bluetooth/btpand/server.c =================================================================== --- usr.sbin/bluetooth/btpand/server.c +++ usr.sbin/bluetooth/btpand/server.c @@ -1,7 +1,7 @@ /* $NetBSD: server.c,v 1.2 2009/01/24 17:29:28 plunky Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2008 Iain Hibbert * All rights reserved. Index: usr.sbin/bluetooth/btpand/tap.c =================================================================== --- usr.sbin/bluetooth/btpand/tap.c +++ usr.sbin/bluetooth/btpand/tap.c @@ -1,7 +1,7 @@ /* $NetBSD: tap.c,v 1.1 2008/08/17 13:20:57 plunky Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2008 Iain Hibbert * All rights reserved. Index: usr.sbin/bluetooth/hccontrol/adv_data.c =================================================================== --- usr.sbin/bluetooth/hccontrol/adv_data.c +++ usr.sbin/bluetooth/hccontrol/adv_data.c @@ -1,7 +1,7 @@ /*- * adv_data.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * Copyright (c) 2020 Marc Veldman * All rights reserved. Index: usr.sbin/bluetooth/hccontrol/hccontrol.h =================================================================== --- usr.sbin/bluetooth/hccontrol/hccontrol.h +++ usr.sbin/bluetooth/hccontrol/hccontrol.h @@ -1,7 +1,7 @@ /*- * hccontrol.h * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2002 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/hccontrol/hccontrol.c =================================================================== --- usr.sbin/bluetooth/hccontrol/hccontrol.c +++ usr.sbin/bluetooth/hccontrol/hccontrol.c @@ -1,7 +1,7 @@ /*- * hccontrol.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2002 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/hccontrol/host_controller_baseband.c =================================================================== --- usr.sbin/bluetooth/hccontrol/host_controller_baseband.c +++ usr.sbin/bluetooth/hccontrol/host_controller_baseband.c @@ -1,7 +1,7 @@ /*- * host_controller_baseband.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2002 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/hccontrol/info.c =================================================================== --- usr.sbin/bluetooth/hccontrol/info.c +++ usr.sbin/bluetooth/hccontrol/info.c @@ -1,7 +1,7 @@ /*- * info.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2002 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/hccontrol/link_control.c =================================================================== --- usr.sbin/bluetooth/hccontrol/link_control.c +++ usr.sbin/bluetooth/hccontrol/link_control.c @@ -1,7 +1,7 @@ /*- * link_control.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2002 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/hccontrol/link_policy.c =================================================================== --- usr.sbin/bluetooth/hccontrol/link_policy.c +++ usr.sbin/bluetooth/hccontrol/link_policy.c @@ -1,7 +1,7 @@ /*- * link_policy.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2002 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/hccontrol/node.c =================================================================== --- usr.sbin/bluetooth/hccontrol/node.c +++ usr.sbin/bluetooth/hccontrol/node.c @@ -1,7 +1,7 @@ /*- * node.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2002 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/hccontrol/send_recv.c =================================================================== --- usr.sbin/bluetooth/hccontrol/send_recv.c +++ usr.sbin/bluetooth/hccontrol/send_recv.c @@ -1,7 +1,7 @@ /*- * send_recv.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2002 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/hccontrol/status.c =================================================================== --- usr.sbin/bluetooth/hccontrol/status.c +++ usr.sbin/bluetooth/hccontrol/status.c @@ -1,7 +1,7 @@ /*- * status.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2002 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/hccontrol/util.c =================================================================== --- usr.sbin/bluetooth/hccontrol/util.c +++ usr.sbin/bluetooth/hccontrol/util.c @@ -1,7 +1,7 @@ /*- * util.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/hcsecd/hcsecd.h =================================================================== --- usr.sbin/bluetooth/hcsecd/hcsecd.h +++ usr.sbin/bluetooth/hcsecd/hcsecd.h @@ -1,7 +1,7 @@ /*- * hcsecd.h * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2002 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/hcsecd/hcsecd.c =================================================================== --- usr.sbin/bluetooth/hcsecd/hcsecd.c +++ usr.sbin/bluetooth/hcsecd/hcsecd.c @@ -1,7 +1,7 @@ /*- * hcsecd.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2002 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/hcsecd/lexer.l =================================================================== --- usr.sbin/bluetooth/hcsecd/lexer.l +++ usr.sbin/bluetooth/hcsecd/lexer.l @@ -2,7 +2,7 @@ /*- * lexer.l * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2002 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/hcsecd/parser.y =================================================================== --- usr.sbin/bluetooth/hcsecd/parser.y +++ usr.sbin/bluetooth/hcsecd/parser.y @@ -2,7 +2,7 @@ /*- * parser.y * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2002 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/iwmbtfw/iwmbt_dbg.h =================================================================== --- usr.sbin/bluetooth/iwmbtfw/iwmbt_dbg.h +++ usr.sbin/bluetooth/iwmbtfw/iwmbt_dbg.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2013 Adrian Chadd * Copyright (c) 2019 Vladimir Kondratyev Index: usr.sbin/bluetooth/iwmbtfw/iwmbt_fw.h =================================================================== --- usr.sbin/bluetooth/iwmbtfw/iwmbt_fw.h +++ usr.sbin/bluetooth/iwmbtfw/iwmbt_fw.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2013 Adrian Chadd * Copyright (c) 2019 Vladimir Kondratyev Index: usr.sbin/bluetooth/iwmbtfw/iwmbt_fw.c =================================================================== --- usr.sbin/bluetooth/iwmbtfw/iwmbt_fw.c +++ usr.sbin/bluetooth/iwmbtfw/iwmbt_fw.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2013 Adrian Chadd * Copyright (c) 2019 Vladimir Kondratyev Index: usr.sbin/bluetooth/iwmbtfw/iwmbt_hw.h =================================================================== --- usr.sbin/bluetooth/iwmbtfw/iwmbt_hw.h +++ usr.sbin/bluetooth/iwmbtfw/iwmbt_hw.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2019 Vladimir Kondratyev * Index: usr.sbin/bluetooth/iwmbtfw/iwmbt_hw.c =================================================================== --- usr.sbin/bluetooth/iwmbtfw/iwmbt_hw.c +++ usr.sbin/bluetooth/iwmbtfw/iwmbt_hw.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2019 Vladimir Kondratyev * Index: usr.sbin/bluetooth/iwmbtfw/main.c =================================================================== --- usr.sbin/bluetooth/iwmbtfw/main.c +++ usr.sbin/bluetooth/iwmbtfw/main.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2013 Adrian Chadd * Copyright (c) 2019 Vladimir Kondratyev Index: usr.sbin/bluetooth/l2control/l2cap.c =================================================================== --- usr.sbin/bluetooth/l2control/l2cap.c +++ usr.sbin/bluetooth/l2control/l2cap.c @@ -1,7 +1,7 @@ /*- * l2cap.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2002 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/l2control/l2control.h =================================================================== --- usr.sbin/bluetooth/l2control/l2control.h +++ usr.sbin/bluetooth/l2control/l2control.h @@ -1,7 +1,7 @@ /*- * l2control.h * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2002 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/l2control/l2control.c =================================================================== --- usr.sbin/bluetooth/l2control/l2control.c +++ usr.sbin/bluetooth/l2control/l2control.c @@ -1,7 +1,7 @@ /*- * l2control.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2002 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/l2ping/l2ping.c =================================================================== --- usr.sbin/bluetooth/l2ping/l2ping.c +++ usr.sbin/bluetooth/l2ping/l2ping.c @@ -1,7 +1,7 @@ /*- * l2ping.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2002 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c =================================================================== --- usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c +++ usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c @@ -3,7 +3,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2008 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpcontrol/sdpcontrol.h =================================================================== --- usr.sbin/bluetooth/sdpcontrol/sdpcontrol.h +++ usr.sbin/bluetooth/sdpcontrol/sdpcontrol.h @@ -1,7 +1,7 @@ /*- * sdpcontrol.h * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2003 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpcontrol/sdpcontrol.c =================================================================== --- usr.sbin/bluetooth/sdpcontrol/sdpcontrol.c +++ usr.sbin/bluetooth/sdpcontrol/sdpcontrol.c @@ -1,7 +1,7 @@ /*- * sdpcontrol.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2003 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpcontrol/search.c =================================================================== --- usr.sbin/bluetooth/sdpcontrol/search.c +++ usr.sbin/bluetooth/sdpcontrol/search.c @@ -1,7 +1,7 @@ /*- * search.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001-2003 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/audio_sink.c =================================================================== --- usr.sbin/bluetooth/sdpd/audio_sink.c +++ usr.sbin/bluetooth/sdpd/audio_sink.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2019 Hans Petter Selasky * All rights reserved. Index: usr.sbin/bluetooth/sdpd/audio_source.c =================================================================== --- usr.sbin/bluetooth/sdpd/audio_source.c +++ usr.sbin/bluetooth/sdpd/audio_source.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2019 Hans Petter Selasky * All rights reserved. Index: usr.sbin/bluetooth/sdpd/bgd.c =================================================================== --- usr.sbin/bluetooth/sdpd/bgd.c +++ usr.sbin/bluetooth/sdpd/bgd.c @@ -1,7 +1,7 @@ /*- * bgd.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/dun.c =================================================================== --- usr.sbin/bluetooth/sdpd/dun.c +++ usr.sbin/bluetooth/sdpd/dun.c @@ -1,7 +1,7 @@ /*- * dun.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/ftrn.c =================================================================== --- usr.sbin/bluetooth/sdpd/ftrn.c +++ usr.sbin/bluetooth/sdpd/ftrn.c @@ -1,7 +1,7 @@ /*- * ftrn.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/gn.c =================================================================== --- usr.sbin/bluetooth/sdpd/gn.c +++ usr.sbin/bluetooth/sdpd/gn.c @@ -3,7 +3,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2008 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/irmc.c =================================================================== --- usr.sbin/bluetooth/sdpd/irmc.c +++ usr.sbin/bluetooth/sdpd/irmc.c @@ -1,7 +1,7 @@ /*- * irmc.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/irmc_command.c =================================================================== --- usr.sbin/bluetooth/sdpd/irmc_command.c +++ usr.sbin/bluetooth/sdpd/irmc_command.c @@ -1,7 +1,7 @@ /*- * irmc_command_command_command.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/lan.c =================================================================== --- usr.sbin/bluetooth/sdpd/lan.c +++ usr.sbin/bluetooth/sdpd/lan.c @@ -1,7 +1,7 @@ /*- * lan.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/log.h =================================================================== --- usr.sbin/bluetooth/sdpd/log.h +++ usr.sbin/bluetooth/sdpd/log.h @@ -1,7 +1,7 @@ /*- * log.h * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/log.c =================================================================== --- usr.sbin/bluetooth/sdpd/log.c +++ usr.sbin/bluetooth/sdpd/log.c @@ -1,7 +1,7 @@ /*- * log.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/main.c =================================================================== --- usr.sbin/bluetooth/sdpd/main.c +++ usr.sbin/bluetooth/sdpd/main.c @@ -1,7 +1,7 @@ /*- * main.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/nap.c =================================================================== --- usr.sbin/bluetooth/sdpd/nap.c +++ usr.sbin/bluetooth/sdpd/nap.c @@ -3,7 +3,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2008 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/opush.c =================================================================== --- usr.sbin/bluetooth/sdpd/opush.c +++ usr.sbin/bluetooth/sdpd/opush.c @@ -1,7 +1,7 @@ /*- * opush.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/panu.c =================================================================== --- usr.sbin/bluetooth/sdpd/panu.c +++ usr.sbin/bluetooth/sdpd/panu.c @@ -3,7 +3,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2008 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/profile.h =================================================================== --- usr.sbin/bluetooth/sdpd/profile.h +++ usr.sbin/bluetooth/sdpd/profile.h @@ -3,7 +3,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/profile.c =================================================================== --- usr.sbin/bluetooth/sdpd/profile.c +++ usr.sbin/bluetooth/sdpd/profile.c @@ -3,7 +3,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/provider.h =================================================================== --- usr.sbin/bluetooth/sdpd/provider.h +++ usr.sbin/bluetooth/sdpd/provider.h @@ -1,7 +1,7 @@ /*- * provider.h * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/provider.c =================================================================== --- usr.sbin/bluetooth/sdpd/provider.c +++ usr.sbin/bluetooth/sdpd/provider.c @@ -1,7 +1,7 @@ /*- * provider.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/sar.c =================================================================== --- usr.sbin/bluetooth/sdpd/sar.c +++ usr.sbin/bluetooth/sdpd/sar.c @@ -1,7 +1,7 @@ /*- * sar.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/scr.c =================================================================== --- usr.sbin/bluetooth/sdpd/scr.c +++ usr.sbin/bluetooth/sdpd/scr.c @@ -1,7 +1,7 @@ /*- * scr.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/sd.c =================================================================== --- usr.sbin/bluetooth/sdpd/sd.c +++ usr.sbin/bluetooth/sdpd/sd.c @@ -1,7 +1,7 @@ /*- * sd.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/server.h =================================================================== --- usr.sbin/bluetooth/sdpd/server.h +++ usr.sbin/bluetooth/sdpd/server.h @@ -1,7 +1,7 @@ /*- * server.h * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/server.c =================================================================== --- usr.sbin/bluetooth/sdpd/server.c +++ usr.sbin/bluetooth/sdpd/server.c @@ -1,7 +1,7 @@ /*- * server.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/sp.c =================================================================== --- usr.sbin/bluetooth/sdpd/sp.c +++ usr.sbin/bluetooth/sdpd/sp.c @@ -1,7 +1,7 @@ /*- * sp.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/srr.c =================================================================== --- usr.sbin/bluetooth/sdpd/srr.c +++ usr.sbin/bluetooth/sdpd/srr.c @@ -1,7 +1,7 @@ /*- * srr.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/ssar.c =================================================================== --- usr.sbin/bluetooth/sdpd/ssar.c +++ usr.sbin/bluetooth/sdpd/ssar.c @@ -1,7 +1,7 @@ /*- * ssar.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/ssr.c =================================================================== --- usr.sbin/bluetooth/sdpd/ssr.c +++ usr.sbin/bluetooth/sdpd/ssr.c @@ -1,7 +1,7 @@ /*- * ssr.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/sur.c =================================================================== --- usr.sbin/bluetooth/sdpd/sur.c +++ usr.sbin/bluetooth/sdpd/sur.c @@ -1,7 +1,7 @@ /*- * sur.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/uuid-private.h =================================================================== --- usr.sbin/bluetooth/sdpd/uuid-private.h +++ usr.sbin/bluetooth/sdpd/uuid-private.h @@ -1,7 +1,7 @@ /*- * uuid-private.h * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/bluetooth/sdpd/uuid.c =================================================================== --- usr.sbin/bluetooth/sdpd/uuid.c +++ usr.sbin/bluetooth/sdpd/uuid.c @@ -1,7 +1,7 @@ /*- * uuid.c * - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005 Maksim Yevmenkin * All rights reserved. Index: usr.sbin/boot0cfg/boot0cfg.c =================================================================== --- usr.sbin/boot0cfg/boot0cfg.c +++ usr.sbin/boot0cfg/boot0cfg.c @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2008 Luigi Rizzo * Copyright (c) 1999 Robert Nordier Index: usr.sbin/boottrace/boottrace.8 =================================================================== --- usr.sbin/boottrace/boottrace.8 +++ usr.sbin/boottrace/boottrace.8 @@ -1,4 +1,4 @@ -.\" SPDX-License-Identifier: BSD-2-Clause +.\" SPDX-License-Identifier: BSD-2-Clause-FreeBSD .\" .\" Copyright (c) 2022 NetApp, Inc. .\" Index: usr.sbin/boottrace/boottrace.c =================================================================== --- usr.sbin/boottrace/boottrace.c +++ usr.sbin/boottrace/boottrace.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2022 NetApp, Inc. * Index: usr.sbin/bsdinstall/distextract/distextract.c =================================================================== --- usr.sbin/bsdinstall/distextract/distextract.c +++ usr.sbin/bsdinstall/distextract/distextract.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 Nathan Whitehorn * Copyright (c) 2014 Devin Teske Index: usr.sbin/bsdinstall/distfetch/distfetch.c =================================================================== --- usr.sbin/bsdinstall/distfetch/distfetch.c +++ usr.sbin/bsdinstall/distfetch/distfetch.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 Nathan Whitehorn * Copyright (c) 2014 Devin Teske Index: usr.sbin/bsdinstall/partedit/diskmenu.h =================================================================== --- usr.sbin/bsdinstall/partedit/diskmenu.h +++ usr.sbin/bsdinstall/partedit/diskmenu.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 Nathan Whitehorn * All rights reserved. Index: usr.sbin/bsdinstall/partedit/gpart_ops.c =================================================================== --- usr.sbin/bsdinstall/partedit/gpart_ops.c +++ usr.sbin/bsdinstall/partedit/gpart_ops.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 Nathan Whitehorn * All rights reserved. Index: usr.sbin/bsdinstall/partedit/part_wizard.c =================================================================== --- usr.sbin/bsdinstall/partedit/part_wizard.c +++ usr.sbin/bsdinstall/partedit/part_wizard.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 Nathan Whitehorn * All rights reserved. Index: usr.sbin/bsdinstall/partedit/partedit.h =================================================================== --- usr.sbin/bsdinstall/partedit/partedit.h +++ usr.sbin/bsdinstall/partedit/partedit.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 Nathan Whitehorn * All rights reserved. Index: usr.sbin/bsdinstall/partedit/partedit.c =================================================================== --- usr.sbin/bsdinstall/partedit/partedit.c +++ usr.sbin/bsdinstall/partedit/partedit.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 Nathan Whitehorn * All rights reserved. Index: usr.sbin/bsdinstall/partedit/partedit_generic.c =================================================================== --- usr.sbin/bsdinstall/partedit/partedit_generic.c +++ usr.sbin/bsdinstall/partedit/partedit_generic.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 Nathan Whitehorn * All rights reserved. Index: usr.sbin/bsdinstall/partedit/partedit_powerpc.c =================================================================== --- usr.sbin/bsdinstall/partedit/partedit_powerpc.c +++ usr.sbin/bsdinstall/partedit/partedit_powerpc.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 Nathan Whitehorn * All rights reserved. Index: usr.sbin/bsdinstall/partedit/partedit_x86.c =================================================================== --- usr.sbin/bsdinstall/partedit/partedit_x86.c +++ usr.sbin/bsdinstall/partedit/partedit_x86.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 Nathan Whitehorn * All rights reserved. Index: usr.sbin/bsdinstall/partedit/scripted.c =================================================================== --- usr.sbin/bsdinstall/partedit/scripted.c +++ usr.sbin/bsdinstall/partedit/scripted.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2013 Nathan Whitehorn * All rights reserved. Index: usr.sbin/bsnmpd/modules/snmp_bridge/bridge_addrs.c =================================================================== --- usr.sbin/bsnmpd/modules/snmp_bridge/bridge_addrs.c +++ usr.sbin/bsnmpd/modules/snmp_bridge/bridge_addrs.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Shteryana Shopova * All rights reserved. Index: usr.sbin/bsnmpd/modules/snmp_bridge/bridge_if.c =================================================================== --- usr.sbin/bsnmpd/modules/snmp_bridge/bridge_if.c +++ usr.sbin/bsnmpd/modules/snmp_bridge/bridge_if.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Shteryana Shopova * All rights reserved. Index: usr.sbin/bsnmpd/modules/snmp_bridge/bridge_pf.c =================================================================== --- usr.sbin/bsnmpd/modules/snmp_bridge/bridge_pf.c +++ usr.sbin/bsnmpd/modules/snmp_bridge/bridge_pf.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Shteryana Shopova * All rights reserved. Index: usr.sbin/bsnmpd/modules/snmp_bridge/bridge_port.c =================================================================== --- usr.sbin/bsnmpd/modules/snmp_bridge/bridge_port.c +++ usr.sbin/bsnmpd/modules/snmp_bridge/bridge_port.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Shteryana Shopova * All rights reserved. Index: usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.h =================================================================== --- usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.h +++ usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Shteryana Shopova * All rights reserved. Index: usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.c =================================================================== --- usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.c +++ usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Shteryana Shopova * All rights reserved. Index: usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c =================================================================== --- usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c +++ usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Shteryana Shopova * All rights reserved. Index: usr.sbin/bsnmpd/modules/snmp_hast/hast_snmp.c =================================================================== --- usr.sbin/bsnmpd/modules/snmp_hast/hast_snmp.c +++ usr.sbin/bsnmpd/modules/snmp_hast/hast_snmp.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2013 Mikolaj Golub * All rights reserved. Index: usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c =================================================================== --- usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c +++ usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005 Philip Paeps * All rights reserved. Index: usr.sbin/bsnmpd/modules/snmp_wlan/wlan_snmp.h =================================================================== --- usr.sbin/bsnmpd/modules/snmp_wlan/wlan_snmp.h +++ usr.sbin/bsnmpd/modules/snmp_wlan/wlan_snmp.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2010 The FreeBSD Foundation * Index: usr.sbin/bsnmpd/modules/snmp_wlan/wlan_snmp.c =================================================================== --- usr.sbin/bsnmpd/modules/snmp_wlan/wlan_snmp.c +++ usr.sbin/bsnmpd/modules/snmp_wlan/wlan_snmp.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2010 The FreeBSD Foundation * Index: usr.sbin/bsnmpd/modules/snmp_wlan/wlan_sys.c =================================================================== --- usr.sbin/bsnmpd/modules/snmp_wlan/wlan_sys.c +++ usr.sbin/bsnmpd/modules/snmp_wlan/wlan_sys.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2010 The FreeBSD Foundation * Index: usr.sbin/btxld/btx.h =================================================================== --- usr.sbin/btxld/btx.h +++ usr.sbin/btxld/btx.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Robert Nordier * All rights reserved. Index: usr.sbin/btxld/btxld.c =================================================================== --- usr.sbin/btxld/btxld.c +++ usr.sbin/btxld/btxld.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Robert Nordier * All rights reserved. Index: usr.sbin/btxld/elfh.h =================================================================== --- usr.sbin/btxld/elfh.h +++ usr.sbin/btxld/elfh.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Robert Nordier * All rights reserved. Index: usr.sbin/btxld/elfh.c =================================================================== --- usr.sbin/btxld/elfh.c +++ usr.sbin/btxld/elfh.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Robert Nordier * All rights reserved. Index: usr.sbin/certctl/certctl.8 =================================================================== --- usr.sbin/certctl/certctl.8 +++ usr.sbin/certctl/certctl.8 @@ -1,5 +1,5 @@ .\" -.\" SPDX-License-Identifier: BSD-2-Clause +.\" SPDX-License-Identifier: BSD-2-Clause-FreeBSD .\" .\" Copyright 2018 Allan Jude .\" Index: usr.sbin/certctl/certctl.sh =================================================================== --- usr.sbin/certctl/certctl.sh +++ usr.sbin/certctl/certctl.sh @@ -1,6 +1,6 @@ #!/bin/sh #- -# SPDX-License-Identifier: BSD-2-Clause +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD # # Copyright 2018 Allan Jude # Index: usr.sbin/ckdist/ckdist.c =================================================================== --- usr.sbin/ckdist/ckdist.c +++ usr.sbin/ckdist/ckdist.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Robert Nordier * All rights reserved. Index: usr.sbin/clear_locks/clear_locks.c =================================================================== --- usr.sbin/clear_locks/clear_locks.c +++ usr.sbin/clear_locks/clear_locks.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2008 Isilon Inc http://www.isilon.com/ * Authors: Doug Rabson Index: usr.sbin/cpucontrol/amd.h =================================================================== --- usr.sbin/cpucontrol/amd.h +++ usr.sbin/cpucontrol/amd.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006, 2008 Stanislav Sedov . * All rights reserved. Index: usr.sbin/cpucontrol/amd.c =================================================================== --- usr.sbin/cpucontrol/amd.c +++ usr.sbin/cpucontrol/amd.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006, 2008 Stanislav Sedov . * All rights reserved. Index: usr.sbin/cpucontrol/cpucontrol.h =================================================================== --- usr.sbin/cpucontrol/cpucontrol.h +++ usr.sbin/cpucontrol/cpucontrol.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2008 Stanislav Sedov . * All rights reserved. Index: usr.sbin/cpucontrol/cpucontrol.c =================================================================== --- usr.sbin/cpucontrol/cpucontrol.c +++ usr.sbin/cpucontrol/cpucontrol.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2008-2011 Stanislav Sedov . * All rights reserved. Index: usr.sbin/cpucontrol/intel.h =================================================================== --- usr.sbin/cpucontrol/intel.h +++ usr.sbin/cpucontrol/intel.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006, 2008 Stanislav Sedov . * All rights reserved. Index: usr.sbin/cpucontrol/intel.c =================================================================== --- usr.sbin/cpucontrol/intel.c +++ usr.sbin/cpucontrol/intel.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006, 2008 Stanislav Sedov . * All rights reserved. Index: usr.sbin/cpucontrol/via.h =================================================================== --- usr.sbin/cpucontrol/via.h +++ usr.sbin/cpucontrol/via.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 Fabien Thomas . * All rights reserved. Index: usr.sbin/cpucontrol/via.c =================================================================== --- usr.sbin/cpucontrol/via.c +++ usr.sbin/cpucontrol/via.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 Fabien Thomas . * All rights reserved. Index: usr.sbin/ctladm/ctladm.c =================================================================== --- usr.sbin/ctladm/ctladm.c +++ usr.sbin/ctladm/ctladm.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2003, 2004 Silicon Graphics International Corp. * Copyright (c) 1997-2007 Kenneth D. Merry Index: usr.sbin/ctld/ctld.h =================================================================== --- usr.sbin/ctld/ctld.h +++ usr.sbin/ctld/ctld.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 The FreeBSD Foundation * Index: usr.sbin/ctld/ctld.c =================================================================== --- usr.sbin/ctld/ctld.c +++ usr.sbin/ctld/ctld.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 The FreeBSD Foundation * Index: usr.sbin/ctld/discovery.c =================================================================== --- usr.sbin/ctld/discovery.c +++ usr.sbin/ctld/discovery.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 The FreeBSD Foundation * Index: usr.sbin/ctld/isns.c =================================================================== --- usr.sbin/ctld/isns.c +++ usr.sbin/ctld/isns.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 Alexander Motin * All rights reserved. Index: usr.sbin/ctld/kernel.c =================================================================== --- usr.sbin/ctld/kernel.c +++ usr.sbin/ctld/kernel.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2003, 2004 Silicon Graphics International Corp. * Copyright (c) 1997-2007 Kenneth D. Merry Index: usr.sbin/ctld/login.c =================================================================== --- usr.sbin/ctld/login.c +++ usr.sbin/ctld/login.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 The FreeBSD Foundation * Index: usr.sbin/ctld/parse.y =================================================================== --- usr.sbin/ctld/parse.y +++ usr.sbin/ctld/parse.y @@ -1,6 +1,6 @@ %{ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 The FreeBSD Foundation * Index: usr.sbin/ctld/token.l =================================================================== --- usr.sbin/ctld/token.l +++ usr.sbin/ctld/token.l @@ -1,6 +1,6 @@ %{ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 The FreeBSD Foundation * Index: usr.sbin/ctld/uclparse.c =================================================================== --- usr.sbin/ctld/uclparse.c +++ usr.sbin/ctld/uclparse.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2015 iXsystems Inc. * All rights reserved. Index: usr.sbin/cxgbetool/tcb_common.h =================================================================== --- usr.sbin/cxgbetool/tcb_common.h +++ usr.sbin/cxgbetool/tcb_common.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2018 Chelsio Communications, Inc. * All rights reserved. Index: usr.sbin/cxgbetool/tcb_common.c =================================================================== --- usr.sbin/cxgbetool/tcb_common.c +++ usr.sbin/cxgbetool/tcb_common.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2018 Chelsio Communications, Inc. * All rights reserved. Index: usr.sbin/cxgbetool/tcbinfot4.c =================================================================== --- usr.sbin/cxgbetool/tcbinfot4.c +++ usr.sbin/cxgbetool/tcbinfot4.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2018 Chelsio Communications, Inc. * All rights reserved. Index: usr.sbin/cxgbetool/tcbinfot5.c =================================================================== --- usr.sbin/cxgbetool/tcbinfot5.c +++ usr.sbin/cxgbetool/tcbinfot5.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2018 Chelsio Communications, Inc. * All rights reserved. Index: usr.sbin/cxgbetool/tcbinfot6.c =================================================================== --- usr.sbin/cxgbetool/tcbinfot6.c +++ usr.sbin/cxgbetool/tcbinfot6.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2018 Chelsio Communications, Inc. * All rights reserved. Index: usr.sbin/cxgbetool/tcbshowt4.c =================================================================== --- usr.sbin/cxgbetool/tcbshowt4.c +++ usr.sbin/cxgbetool/tcbshowt4.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2018 Chelsio Communications, Inc. * All rights reserved. Index: usr.sbin/cxgbetool/tcbshowt5.c =================================================================== --- usr.sbin/cxgbetool/tcbshowt5.c +++ usr.sbin/cxgbetool/tcbshowt5.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2018 Chelsio Communications, Inc. * All rights reserved. Index: usr.sbin/cxgbetool/tcbshowt6.c =================================================================== --- usr.sbin/cxgbetool/tcbshowt6.c +++ usr.sbin/cxgbetool/tcbshowt6.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2018 Chelsio Communications, Inc. * All rights reserved. Index: usr.sbin/daemon/tests/daemon_test.sh =================================================================== --- usr.sbin/daemon/tests/daemon_test.sh +++ usr.sbin/daemon/tests/daemon_test.sh @@ -1,6 +1,6 @@ #!/bin/sh # -# SPDX-License-Identifier: BSD-2-Clause +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD # # Copyright (c) 2021 Axcient # Index: usr.sbin/devinfo/devinfo.c =================================================================== --- usr.sbin/devinfo/devinfo.c +++ usr.sbin/devinfo/devinfo.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2000, 2001 Michael Smith * Copyright (c) 2000 BSDi Index: usr.sbin/dumpcis/main.c =================================================================== --- usr.sbin/dumpcis/main.c +++ usr.sbin/dumpcis/main.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 M. Warner Losh * Index: usr.sbin/efiwake/Makefile =================================================================== --- usr.sbin/efiwake/Makefile +++ usr.sbin/efiwake/Makefile @@ -3,7 +3,7 @@ PACKAGE= efi-tools PROG= efiwake -MAN= efiwake.8 +MAN= SRCS= efiwake.c Index: usr.sbin/efiwake/efiwake.8 =================================================================== --- usr.sbin/efiwake/efiwake.8 +++ /dev/null @@ -1,99 +0,0 @@ -.\" -.\" SPDX-License-Identifier: BSD-2-Clause -.\" -.\" Copyright (c) 2023 Johannes Totz -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.Dd May 9, 2023 -.Dt EFIWAKE 8 -.Os -.Sh NAME -.Nm efiwake -.Nd manipulate the EFI wake timer -.Sh SYNOPSIS -.Nm -.Nm -.Fl d -.Nm -.Fl e Ar yyyy-mm-ddThh:mm:ss -.Sh DESCRIPTION -.Nm -reports the current value of, disables or enables the EFI wake timer that can -wake your machine from S3 sleep at a given time. -.Pp -If invoked without arguments, the current EFI time and the current value of the -wake timer will be printed, followed by an -.Em enabled -status and a -.Em pending -status. -EFI time is supposed to be in UTC. -Note that it can be out of sync with kernel time. -The pending status tells whether the wake timer fired recently; it is cleared -upon reading. -.Pp -If invoked with the -.Sy -d -option, the wake timer is reset and disabled. -.Pp -If invoked with the -.Sy -e -option, the wake timer is set to the given time and date. -If the date or time is invalid, an error is returned. -.Pp -The current EFI time is always printed. -.Sh EXAMPLES -Without arguments: -.Bd -literal -offset indent -# efiwake -Current EFI time: 2023-05-04T15:30:45 -EFI wake time: 2023-05-04T10:00:00; enabled=0, pending=1 -.Ed -.Pp -Disabling and resetting the wake timer: -.Bd -literal -offset indent -# efiwake -d -Current EFI time: 2023-05-04T15:32:16 -EFI wake time: 2023-05-04T15:32:16; enabled=0, pending=0 -.Ed -.Pp -Enabling the wake timer with a valid date: -.Bd -literal -offset indent -# efiwake -e 2023-05-04T15:35:00 -Current EFI time: 2023-05-04T15:34:05 -EFI wake time: 2023-05-04T15:35:00; enabled=1, pending=0 -.Ed -.Pp -Trying to enable with an invalid date (there is no 31st of April): -.Bd -literal -offset indent -# efiwake -e 2023-04-31T15:35:00 -Current EFI time: 2023-05-04T15:35:25 -efiwake: cannot enable EFI wake time: Invalid argument -.Ed -.Sh AUTHORS -.An -nosplit -The tool and manual page were written by -.An Johannes Totz Aq Mt jo@bruelltuete.com . -.Sh BUGS -The quality of EFI implementations differs widely. -Corruption of the wake-up date has been observed on real hardware. Index: usr.sbin/efiwake/efiwake.c =================================================================== --- usr.sbin/efiwake/efiwake.c +++ usr.sbin/efiwake/efiwake.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2023 Johannes Totz * Index: usr.sbin/etcupdate/etcupdate.sh =================================================================== --- usr.sbin/etcupdate/etcupdate.sh +++ usr.sbin/etcupdate/etcupdate.sh @@ -1,6 +1,6 @@ #!/bin/sh # -# SPDX-License-Identifier: BSD-2-Clause +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD # # Copyright (c) 2010-2013 Hudson River Trading LLC # Written by: John H. Baldwin Index: usr.sbin/extattrctl/extattrctl.c =================================================================== --- usr.sbin/extattrctl/extattrctl.c +++ usr.sbin/extattrctl/extattrctl.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999-2002 Robert N. M. Watson * All rights reserved. Index: usr.sbin/fdcontrol/fdcontrol.c =================================================================== --- usr.sbin/fdcontrol/fdcontrol.c +++ usr.sbin/fdcontrol/fdcontrol.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1994, 2001 by Joerg Wunsch, Dresden * All rights reserved. Index: usr.sbin/fdformat/fdformat.c =================================================================== --- usr.sbin/fdformat/fdformat.c +++ usr.sbin/fdformat/fdformat.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1992-1994,2001 by Joerg Wunsch, Dresden * All rights reserved. Index: usr.sbin/fdread/fdread.c =================================================================== --- usr.sbin/fdread/fdread.c +++ usr.sbin/fdread/fdread.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001 Joerg Wunsch * Index: usr.sbin/fdread/fdutil.h =================================================================== --- usr.sbin/fdread/fdutil.h +++ usr.sbin/fdread/fdutil.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001 Joerg Wunsch * Index: usr.sbin/fdread/fdutil.c =================================================================== --- usr.sbin/fdread/fdutil.c +++ usr.sbin/fdread/fdutil.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001 Joerg Wunsch * Index: usr.sbin/fifolog/fifolog_create/fifolog_create.c =================================================================== --- usr.sbin/fifolog/fifolog_create/fifolog_create.c +++ usr.sbin/fifolog/fifolog_create/fifolog_create.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2008 Poul-Henning Kamp * All rights reserved. Index: usr.sbin/fifolog/fifolog_reader/fifolog_reader.c =================================================================== --- usr.sbin/fifolog/fifolog_reader/fifolog_reader.c +++ usr.sbin/fifolog/fifolog_reader/fifolog_reader.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2008 Poul-Henning Kamp * All rights reserved. Index: usr.sbin/fifolog/fifolog_writer/fifolog_writer.c =================================================================== --- usr.sbin/fifolog/fifolog_writer/fifolog_writer.c +++ usr.sbin/fifolog/fifolog_writer/fifolog_writer.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2008 Poul-Henning Kamp * All rights reserved. Index: usr.sbin/fifolog/lib/fifolog.h =================================================================== --- usr.sbin/fifolog/lib/fifolog.h +++ usr.sbin/fifolog/lib/fifolog.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2008 Poul-Henning Kamp * All rights reserved. Index: usr.sbin/fifolog/lib/fifolog_create.c =================================================================== --- usr.sbin/fifolog/lib/fifolog_create.c +++ usr.sbin/fifolog/lib/fifolog_create.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2008 Poul-Henning Kamp * All rights reserved. Index: usr.sbin/fifolog/lib/fifolog_int.c =================================================================== --- usr.sbin/fifolog/lib/fifolog_int.c +++ usr.sbin/fifolog/lib/fifolog_int.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2008 Poul-Henning Kamp * All rights reserved. Index: usr.sbin/fifolog/lib/fifolog_reader.c =================================================================== --- usr.sbin/fifolog/lib/fifolog_reader.c +++ usr.sbin/fifolog/lib/fifolog_reader.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2008 Poul-Henning Kamp * All rights reserved. Index: usr.sbin/fifolog/lib/fifolog_write.h =================================================================== --- usr.sbin/fifolog/lib/fifolog_write.h +++ usr.sbin/fifolog/lib/fifolog_write.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2008 Poul-Henning Kamp * All rights reserved. Index: usr.sbin/fifolog/lib/fifolog_write_poll.c =================================================================== --- usr.sbin/fifolog/lib/fifolog_write_poll.c +++ usr.sbin/fifolog/lib/fifolog_write_poll.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2008 Poul-Henning Kamp * All rights reserved. Index: usr.sbin/fifolog/lib/libfifolog.h =================================================================== --- usr.sbin/fifolog/lib/libfifolog.h +++ usr.sbin/fifolog/lib/libfifolog.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2008 Poul-Henning Kamp * All rights reserved. Index: usr.sbin/fifolog/lib/libfifolog_int.h =================================================================== --- usr.sbin/fifolog/lib/libfifolog_int.h +++ usr.sbin/fifolog/lib/libfifolog_int.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2008 * All rights reserved. Index: usr.sbin/fifolog/lib/miniobj.h =================================================================== --- usr.sbin/fifolog/lib/miniobj.h +++ usr.sbin/fifolog/lib/miniobj.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2008 Poul-Henning Kamp * All rights reserved. Index: usr.sbin/flowctl/flowctl.c =================================================================== --- usr.sbin/flowctl/flowctl.c +++ usr.sbin/flowctl/flowctl.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004-2005 Gleb Smirnoff * Copyright (c) 2001-2003 Roman V. Palagin Index: usr.sbin/freebsd-update/freebsd-update.sh =================================================================== --- usr.sbin/freebsd-update/freebsd-update.sh +++ usr.sbin/freebsd-update/freebsd-update.sh @@ -1,7 +1,7 @@ #!/bin/sh #- -# SPDX-License-Identifier: BSD-2-Clause +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD # # Copyright 2004-2007 Colin Percival # All rights reserved @@ -1677,12 +1677,11 @@ echo "done." } -# For any paths matching ${MERGECHANGES}, compare $2 against $1 and $3 and -# find any files with values unique to $2; generate $4 containing these paths -# and their corresponding hashes from $1. +# For any paths matching ${MERGECHANGES}, compare $1 and $2 and find any +# files which differ; generate $3 containing these paths and the old hashes. fetch_filter_mergechanges () { # Pull out the paths and hashes of the files matching ${MERGECHANGES}. - for F in $1 $2 $3; do + for F in $1 $2; do for X in ${MERGECHANGES}; do grep -E "^${X}" ${F} done | @@ -1690,10 +1689,9 @@ sort > ${F}-values done - # Any line in $2-values which doesn't appear in $1-values or $3-values - # and is a file means that we should list the path in $3. - sort $1-values $3-values | - comm -13 - $2-values | + # Any line in $2-values which doesn't appear in $1-values and is a + # file means that we should list the path in $3. + comm -13 $1-values $2-values | fgrep '|f|' | cut -f 1 -d '|' > $2-paths @@ -1705,10 +1703,10 @@ while read X; do look "${X}|" $1-values | head -1 - done < $2-paths > $4 + done < $2-paths > $3 # Clean up - rm $1-values $2-values $3-values $2-paths + rm $1-values $2-values $2-paths } # For any paths matching ${UPDATEIFUNMODIFIED}, remove lines from $[123] @@ -2713,7 +2711,7 @@ # Based on ${MERGECHANGES}, generate a file tomerge-old with the # paths and hashes of old versions of files to merge. - fetch_filter_mergechanges INDEX-OLD INDEX-PRESENT INDEX-NEW tomerge-old + fetch_filter_mergechanges INDEX-OLD INDEX-PRESENT tomerge-old # Based on ${UPDATEIFUNMODIFIED}, remove lines from INDEX-* which # correspond to lines in INDEX-PRESENT with hashes not appearing Index: usr.sbin/fstyp/befs.c =================================================================== --- usr.sbin/fstyp/befs.c +++ usr.sbin/fstyp/befs.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2021 Miguel Gocobachi * Index: usr.sbin/fstyp/tests/fstyp_test.sh =================================================================== --- usr.sbin/fstyp/tests/fstyp_test.sh +++ usr.sbin/fstyp/tests/fstyp_test.sh @@ -1,6 +1,6 @@ #!/bin/sh # -# SPDX-License-Identifier: BSD-2-Clause +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD # # Copyright (c) 2015 Alan Somers # Index: usr.sbin/fwget/fwget.sh =================================================================== --- usr.sbin/fwget/fwget.sh +++ usr.sbin/fwget/fwget.sh @@ -1,7 +1,7 @@ #!/bin/sh #- -# SPDX-License-Identifier: BSD-2-Clause +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD # # Copyright 2023 Beckhoff Automation GmbH & Co. KG # Index: usr.sbin/fwget/pci/pci =================================================================== --- usr.sbin/fwget/pci/pci +++ usr.sbin/fwget/pci/pci @@ -1,5 +1,5 @@ #- -# SPDX-License-Identifier: BSD-2-Clause +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD # # Copyright 2023 Beckhoff Automation GmbH & Co. KG # Index: usr.sbin/fwget/pci/pci_video_amd =================================================================== --- usr.sbin/fwget/pci/pci_video_amd +++ usr.sbin/fwget/pci/pci_video_amd @@ -1,5 +1,5 @@ #- -# SPDX-License-Identifier: BSD-2-Clause +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD # # Copyright 2023 Beckhoff Automation GmbH & Co. KG # Index: usr.sbin/fwget/pci/pci_video_intel =================================================================== --- usr.sbin/fwget/pci/pci_video_intel +++ usr.sbin/fwget/pci/pci_video_intel @@ -1,5 +1,5 @@ #- -# SPDX-License-Identifier: BSD-2-Clause +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD # # Copyright 2023 Beckhoff Automation GmbH & Co. KG # @@ -45,31 +45,31 @@ ;; # Cannonlake 0x5a*) - echo "gpu-firmware-intel-kmod-cannonlake" + echo "gpu-firmware-intel-cannonlake" ;; # Icelake 0x8a*) - echo "gpu-firmware-intel-kmod-icelake" + echo "gpu-firmware-intel-icelake" ;; # Elkhartlake/Jasperlake 0x45*|0x4e*) - echo "gpu-firmware-intel-kmod-elkhartlake" + echo "gpu-firmware-intel-elkhartlake" ;; # Tigerlake 0x9a*) - echo "gpu-firmware-intel-kmod-tigerlake" + echo "gpu-firmware-intel-tigerlake" ;; # Rocketlake (Uses tigerlake GuC/HuC firmware) 0x4c*) - echo "gpu-firmware-intel-kmod-rocketlake gpu-firmware-intel-kmod-tigerlake" + echo "gpu-firmware-intel-rocketlake gpu-firmware-intel-tigerlake" ;; # DG1 0x49*) - echo "gpu-firmware-intel-kmod-dg1" + echo "gpu-firmware-intel-dg1" ;; # Alderlake (Uses tigerlake GuC/HuC firmware) 0x46*) - echo "gpu-firmware-intel-kmod-alderlake gpu-firmware-intel-kmod-tigerlake" + echo "gpu-firmware-intel-alderlake gpu-firmware-intel-tigerlake" ;; *) log "No package found for device $1" Index: usr.sbin/gpioctl/gpioctl.c =================================================================== --- usr.sbin/gpioctl/gpioctl.c +++ usr.sbin/gpioctl/gpioctl.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2009, Oleksandr Tymoshenko * Copyright (c) 2014, Rui Paulo Index: usr.sbin/gssd/gssd.c =================================================================== --- usr.sbin/gssd/gssd.c +++ usr.sbin/gssd/gssd.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2008 Isilon Inc http://www.isilon.com/ * Authors: Doug Rabson Index: usr.sbin/gstat/gstat.c =================================================================== --- usr.sbin/gstat/gstat.c +++ usr.sbin/gstat/gstat.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-3-Clause + * SPDX-License-Identifier: BSD-3-Clause-FreeBSD * * Copyright (c) 2003 Poul-Henning Kamp * All rights reserved. Index: usr.sbin/hwt/Makefile =================================================================== --- /dev/null +++ usr.sbin/hwt/Makefile @@ -0,0 +1,21 @@ +# $FreeBSD$ + +PROG_CXX= hwt +MAN= + +CFLAGS+= -I${SRCTOP}/lib/libpmcstat + +LIBADD= elf pmcstat + +SRCS= hwt.c \ + hwt_elf.c \ + hwt_process.c \ + hwt_record.c \ + libpmcstat_stubs.c + +.if ${MACHINE_CPUARCH} == "aarch64" +SRCS+= hwt_coresight.c +LIBADD+= opencsd +.endif + +.include Index: usr.sbin/hwt/hwt.c =================================================================== --- /dev/null +++ usr.sbin/hwt/hwt.c @@ -0,0 +1,602 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2023 Ruslan Bukin + * + * This work was supported by Innovate UK project 105694, "Digital Security + * by Design (DSbD) Technology Platform Prototype". + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "libpmcstat_stubs.h" +#include + +#include "hwtvar.h" + +#if defined(__aarch64__) +#include "hwt_coresight.h" +#endif + +#define PARENTSOCKET 0 +#define CHILDSOCKET 1 +#define NSOCKPAIRFD 2 + +static struct trace_context tcs; + +static struct trace_dev trace_devs[] = { +#if defined(__aarch64__) + { "coresight", "ARM Coresight", &cs_methods }, +#endif + { NULL, NULL, NULL } +}; + +void +hwt_sleep(void) +{ + struct timespec time_to_sleep; + + time_to_sleep.tv_sec = 0; + time_to_sleep.tv_nsec = 10000000; /* 10 ms */ + + nanosleep(&time_to_sleep, &time_to_sleep); +} + +void +hwt_procexit(pid_t pid, int exit_status __unused) +{ + struct trace_context *tc; + + tc = &tcs; + + if (tc->pid == pid) + tc->terminate = 1; +} + +static int +hwt_unsuspend_proc(struct trace_context *tc) +{ + struct hwt_wakeup w; + int error; + + error = ioctl(tc->thr_fd, HWT_IOC_WAKEUP, &w); + + return (error); +} + +int +hwt_mmap_received(struct trace_context *tc, + struct hwt_record_user_entry *entry __unused) +{ + int error; + + assert(tc->mode == HWT_MODE_THREAD); + + if (!tc->suspend_on_mmap) + return (0); + + if (tc->func_name == NULL) + return (0); + + error = hwt_find_sym(tc); + if (error != 0) { + hwt_unsuspend_proc(tc); + return (-1); + } + + tc->suspend_on_mmap = 0; + + error = tc->trace_dev->methods->set_config(tc); + if (error) + return (-2); + + error = hwt_start_tracing(tc); + if (error) + return (-2); + + printf("%s: tracing started\n", __func__); + + hwt_unsuspend_proc(tc); + + return (0); +} + +static int +hwt_ctx_alloc(struct trace_context *tc) +{ + struct hwt_alloc al; + cpuset_t cpu_map; + int error; + + CPU_ZERO(&cpu_map); + + memset(&al, 0, sizeof(struct hwt_alloc)); + + al.mode = tc->mode; + if (tc->mode == HWT_MODE_THREAD) + al.pid = tc->pid; + else + al.cpu_map = tc->cpu_map; + + al.bufsize = tc->bufsize; + al.backend_name = tc->trace_dev->name; + al.ident = &tc->ident; + + error = ioctl(tc->fd, HWT_IOC_ALLOC, &al); + + return (error); +} + +static int +hwt_map_memory(struct trace_context *tc, int tid) +{ + char filename[32]; + + sprintf(filename, "/dev/hwt_%d_%d", tc->ident, tid); + + tc->thr_fd = open(filename, O_RDONLY); + if (tc->thr_fd < 0) { + printf("Can't open %s\n", filename); + return (-1); + } + + tc->base = mmap(NULL, tc->bufsize, PROT_READ, MAP_SHARED, tc->thr_fd, + 0); + if (tc->base == MAP_FAILED) { + printf("mmap failed: err %d\n", errno); + return (-1); + } + + printf("%s: tc->base %#p\n", __func__, tc->base); + + return (0); +} + +int +hwt_ncpu(void) +{ + int ncpu; + + ncpu = sysconf(_SC_NPROCESSORS_CONF); + + return (ncpu); +} + +int +hwt_get_offs(struct trace_context *tc, size_t *offs) +{ + struct hwt_bufptr_get bget; + vm_offset_t curpage_offset; + int curpage; + int error; + + bget.curpage = &curpage; + bget.curpage_offset = &curpage_offset; + + error = ioctl(tc->thr_fd, HWT_IOC_BUFPTR_GET, &bget); + if (error) + return (error); + +#if 0 + printf("curpage %d curpage_offset %ld\n", curpage, curpage_offset); +#endif + + *offs = curpage * PAGE_SIZE + curpage_offset; + + return (0); +} + +static int +hwt_get_records(struct trace_context *tc, uint32_t *nrec) +{ + int nrecords; + int error; + + error = hwt_record_fetch(tc, &nrecords); + if (error) + return (error); + + *nrec = nrecords; + + return (0); +} + +int +hwt_find_sym(struct trace_context *tc) +{ + struct pmcstat_symbol *sym; + uintptr_t addr_start; + uintptr_t addr_end; + + sym = pmcstat_symbol_search_by_name(tc->pp, tc->image_name, + tc->func_name, &addr_start, &addr_end); + if (sym) { + printf("sym found, start end %lx %lx\n", (uint64_t)addr_start, + (uint64_t)addr_end); + tc->addr_ranges[tc->nranges] = addr_start; + tc->addr_ranges[tc->nranges + 1] = addr_end; + tc->nranges += 1; + return (0); + } + + return (ENOENT); +} + +int +hwt_start_tracing(struct trace_context *tc) +{ + struct hwt_start s; + int error; + + error = ioctl(tc->thr_fd, HWT_IOC_START, &s); + + return (error); +} + +static void +usage(void) +{ + + errx(EX_USAGE, + "hwt [-s cpu_id] [-c devname] [-b bufsize] [-t id] [-g] [-r] [-w file] [-i name]" + " [-f name] [path to executable]\n" + "\t -s\tcpu_id\t\tCPU (kernel) mode.\n" + "\t -c\tname\t\tName of tracing device, e.g. 'coresight'.\n" + "\t -b\tbufsize\t\tSize of trace buffer (per each thread) in bytes.\n" + "\t -t\tid\t\tThread index of application passed to decoder.\n" + "\t -r\t\t\tRaw flag. Do not decode results.\n" + "\t -w\tfilename\tStore results into file.\n" + "\t -g\t\t\tFormat flag.\n" + "\t -i\tname\t\tFilter by dynamic library, executable name,\n" + "\t\t\t\tkernel module name or 'kernel'.\n" + "\t -f\tname\t\tFilter by function name." +#if defined(__aarch64__) +#endif + ); +} + +static int +hwt_mode_cpu(struct trace_context *tc) +{ + uint32_t nrec; + int error; + + if (tc->image_name == NULL || tc->func_name == NULL) + errx(EX_USAGE, "IP range filtering must be setup for CPU" + " tracing"); + + error = hwt_ctx_alloc(tc); + if (error) { + printf("%s: failed to alloc kernel-mode ctx, error %d, errno %d\n", + __func__, error, errno); + return (error); + } + + /* TODO: this is Coresight-specific to map memory from the first CPU. */ + error = hwt_map_memory(tc, CPU_FFS(&tc->cpu_map) - 1); + if (error != 0) { + printf("can't map memory"); + return (error); + } + + tc->pp->pp_pid = -1; + + error = hwt_get_records(tc, &nrec); + if (error != 0) + return (error); + + printf("Received %d kernel mappings\n", nrec); + + error = hwt_find_sym(tc); + if (error) + errx(EX_USAGE, "could not find symbol"); + + error = tc->trace_dev->methods->set_config(tc); + if (error != 0) + errx(EX_DATAERR, "can't set config"); + + error = hwt_start_tracing(tc); + if (error) + errx(EX_SOFTWARE, "failed to start tracing, error %d\n", error); + + error = tc->trace_dev->methods->process(tc); + if (error) { + printf("cant process data, error %d\n", error); + return (error); + } + + return (0); +} + +static int +hwt_mode_thread(struct trace_context *tc, char **cmd, char **env) +{ + struct stat st; + uint32_t tot_rec; + uint32_t nrec; + uint32_t nlibs; + int sockpair[NSOCKPAIRFD]; + int error; + + if (tc->func_name != NULL) + tc->suspend_on_mmap = 1; + + error = stat(*cmd, &st); + if (error) { + printf("Could not find target executable, error %d.\n", error); + return (error); + } + + error = hwt_elf_count_libs(*cmd, &nlibs); + if (error != 0) { + printf("could not count libs\n"); + return (error); + } + + nlibs += 1; /* add binary itself. */ + + printf("cmd is %s, nlibs %d\n", *cmd, nlibs); + + error = hwt_process_create(sockpair, cmd, env, &tc->pid); + if (error != 0) + return (error); + + printf("%s: process pid %d created\n", __func__, tc->pid); + + tc->pp->pp_pid = tc->pid; + + error = hwt_ctx_alloc(tc); + if (error) { + printf("%s: failed to alloc ctx, pid %d error %d\n", __func__, + tc->pid, error); + return (error); + } + + error = hwt_map_memory(tc, 0); + if (error != 0) { + printf("can't map memory"); + return (error); + } + + error = tc->trace_dev->methods->set_config(tc); + if (error != 0) + errx(EX_DATAERR, "can't set config"); + + if (tc->func_name == NULL) { + /* No address range filtering. Start tracing immediately. */ + error = hwt_start_tracing(tc); + if (error) + errx(EX_SOFTWARE, "failed to start tracing, error %d\n", + error); + } + + error = hwt_process_start(sockpair); + if (error != 0) + return (error); + + printf("Expect %d records.\n", nlibs); + + tot_rec = 0; + + /* + * Ensure we got expected amount of mmap/interp records so that + * mapping tables constructed before we do symbol lookup. + */ + + do { + error = hwt_get_records(tc, &nrec); + if (error != 0) + return (error); + tot_rec += nrec; + hwt_sleep(); + } while (tot_rec < nlibs); + + error = tc->trace_dev->methods->process(tc); + if (error) { + printf("Can't process data, error %d.\n", error); + return (error); + } + + return (0); +} + +static int +hwt_get_cpumask(const char *arg, cpuset_t *cpumask) +{ + const char *start; + int cpu_id; + char *end; + + CPU_ZERO(cpumask); + + start = arg; + + while (*start) { + cpu_id = strtol(start, &end, 0); + if (cpu_id < 0) + return (-1); + + if (end == start) + return (-2); + + CPU_SET(cpu_id, cpumask); + + start = end + strspn(end, ", \t"); + }; + + return (0); +} + +int +main(int argc, char **argv, char **env) +{ + struct trace_context *tc; + char *trace_dev_name; + int error; + int option; + int found; + int thread_id_specified; + int i; + + tc = &tcs; + + memset(tc, 0, sizeof(struct trace_context)); + + /* Defaults */ + tc->bufsize = 128 * 1024 * 1024; + + /* First available is default trace device. */ + tc->trace_dev = &trace_devs[0]; + if (tc->trace_dev->name == NULL) { + printf("No trace devices available\n"); + return (1); + } + + tc->mode = HWT_MODE_THREAD; + tc->fs_root = "/"; + tc->thread_id = 0; + thread_id_specified = 0; + + while ((option = getopt(argc, argv, "R:gs:hc:b:rw:t:i:f:")) != -1) + switch (option) { + case 's': + tc->mode = HWT_MODE_CPU; + hwt_get_cpumask(optarg, &tc->cpu_map); + break; + case 'R': + tc->fs_root = optarg; + break; + case 'c': + trace_dev_name = strdup(optarg); + found = 0; + for (i = 0; trace_devs[i].name != NULL; i++) { + if (strcmp(trace_devs[i].name, + trace_dev_name) == 0) { + tc->trace_dev = &trace_devs[i]; + found = 1; + break; + } + } + if (!found) { + printf("Trace device \"%s\" not available.\n", + trace_dev_name); + return (ENOENT); + } + break; + case 'b': + tc->bufsize = atol(optarg); + break; + case 'r': + /* Do not decode trace. */ + tc->raw = 1; + break; + case 'w': + /* Store trace into a file. */ + tc->filename = strdup(optarg); + break; + case 'i': + /* + * Name of dynamic lib or main executable for IP + * address range filtering. + */ + tc->image_name = strdup(optarg); + break; + case 'f': + /* Name of the func to trace. */ + tc->func_name = strdup(optarg); + break; + case 't': + tc->thread_id = atoi(optarg); + thread_id_specified = 1; + break; + case 'g': + tc->flag_format = 1; + break; + case 'h': + usage(); + break; + default: + break; + } + + if (tc->mode == HWT_MODE_CPU && thread_id_specified) { + printf("Thread ID to decode used in THREAD mode only.\n"); + exit(1); + } + + if (tc->raw != 0 && tc->filename == NULL) { + printf("Filename must be specified for the raw data.\n"); + exit(1); + } + + if ((tc->image_name == NULL && tc->func_name != NULL) || + (tc->image_name != NULL && tc->func_name == NULL)) + errx(EX_USAGE, "For address range tracing specify both image " + "and func, or none of them."); + + tc->fd = open("/dev/hwt", O_RDWR); + if (tc->fd < 0) { + printf("Can't open /dev/hwt\n"); + return (-1); + } + + tc->pp = hwt_process_alloc(); + tc->pp->pp_isactive = 1; + + argc += optind; + argv += optind; + + if (tc->mode == HWT_MODE_THREAD) { + if (*argv == NULL) + usage(); + error = hwt_mode_thread(tc, argv, env); + } else { + if (*argv != NULL) + usage(); + error = hwt_mode_cpu(tc); + } + + close(tc->fd); + + return (error); +} Index: usr.sbin/hwt/hwt_coresight.h =================================================================== --- /dev/null +++ usr.sbin/hwt/hwt_coresight.h @@ -0,0 +1,284 @@ +/*- + * Copyright (c) 2023 Ruslan Bukin + * All rights reserved. + * + * This work was supported by Innovate UK project 105694, "Digital Security + * by Design (DSbD) Technology Platform Prototype". + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _HWT_CORESIGHT_H_ +#define _HWT_CORESIGHT_H_ + +#define TRCPRGCTLR 0x004 /* Trace Programming Control Register */ +#define TRCPRGCTLR_EN (1 << 0) /* Trace unit enable bit */ +#define TRCPROCSELR 0x008 /* Trace PE Select Control Register */ +#define TRCSTATR 0x00C /* Trace Trace Status Register */ +#define TRCSTATR_PMSTABLE (1 << 1) /* The programmers' model is stable. */ +#define TRCSTATR_IDLE (1 << 0) /* The trace unit is idle. */ +#define TRCCONFIGR 0x010 /* Trace Trace Configuration Register */ +#define TRCCONFIGR_DV (1 << 17) /* Data value tracing is enabled when INSTP0 is not 0b00 */ +#define TRCCONFIGR_DA (1 << 16) /* Data address tracing is enabled when INSTP0 is not 0b00. */ +#define TRCCONFIGR_VMIDOPT (1 << 15) /* Control bit to configure the Virtual context identifier value */ +#define TRCCONFIGR_QE_S 13 /* Q element enable field */ +#define TRCCONFIGR_QE_M (0x3 << TRCCONFIGR_QE_S) +#define TRCCONFIGR_RS (1 << 12) /* Return stack enable bit */ +#define TRCCONFIGR_TS (1 << 11) /* Global timestamp tracing is enabled. */ +#define TRCCONFIGR_COND_S 8 /* Conditional instruction tracing bit. */ +#define TRCCONFIGR_COND_M (0x7 << TRCCONFIGR_COND_S) +#define TRCCONFIGR_COND_DIS 0 +#define TRCCONFIGR_COND_LDR (1 << TRCCONFIGR_COND_S) /* Conditional load instructions are traced. */ +#define TRCCONFIGR_COND_STR (2 << TRCCONFIGR_COND_S) /* Conditional store instructions are traced. */ +#define TRCCONFIGR_COND_LDRSTR (3 << TRCCONFIGR_COND_S) /* Conditional load and store instructions are traced. */ +#define TRCCONFIGR_COND_ALL (7 << TRCCONFIGR_COND_S) /* All conditional instructions are traced. */ +#define TRCCONFIGR_VMID (1 << 7) /* Virtual context identifier tracing is enabled. */ +#define TRCCONFIGR_CID (1 << 6) /* Context ID tracing is enabled. */ +#define TRCCONFIGR_CCI (1 << 4) /* Cycle counting in the instruction trace is enabled. */ +#define TRCCONFIGR_BB (1 << 3) /* Branch broadcast mode is enabled. */ +#define TRCCONFIGR_INSTP0_S 1 /* Instruction P0 field. */ +#define TRCCONFIGR_INSTP0_M (0x3 << TRCCONFIGR_INSTP0_S) +#define TRCCONFIGR_INSTP0_NONE 0 /* Do not trace load and store instructions as P0 instructions. */ +#define TRCCONFIGR_INSTP0_LDR (1 << TRCCONFIGR_INSTP0_S) /* Trace load instructions as P0 instructions. */ +#define TRCCONFIGR_INSTP0_STR (2 << TRCCONFIGR_INSTP0_S) /* Trace store instructions as P0 instructions. */ +#define TRCCONFIGR_INSTP0_LDRSTR (3 << TRCCONFIGR_INSTP0_S) /* Trace load and store instructions as P0 instr. */ +#define TRCAUXCTLR 0x018 /* Trace Auxiliary Control Register */ +#define TRCEVENTCTL0R 0x020 /* Trace Event Control 0 Register */ +#define TRCEVENTCTL1R 0x024 /* Trace Event Control 1 Register */ +#define TRCSTALLCTLR 0x02C /* Trace Stall Control Register */ +#define TRCTSCTLR 0x030 /* Trace Global Timestamp Control Register */ +#define TRCSYNCPR 0x034 /* Trace Synchronization Period Register */ +#define TRCSYNCPR_PERIOD_S 0 +#define TRCSYNCPR_PERIOD_M 0x1f +#define TRCSYNCPR_1K (10 << TRCSYNCPR_PERIOD_S) +#define TRCSYNCPR_2K (11 << TRCSYNCPR_PERIOD_S) +#define TRCSYNCPR_4K (12 << TRCSYNCPR_PERIOD_S) +#define TRCCCCTLR 0x038 /* Trace Cycle Count Control Register */ +#define TRCBBCTLR 0x03C /* Trace Branch Broadcast Control Register */ +#define TRCTRACEIDR 0x040 /* Trace Trace ID Register */ +#define TRCQCTLR 0x044 /* Trace Q Element Control Register */ +#define TRCQCTLR_MODE_INC (1 << 8) /* Include mode. */ +#define TRCVICTLR 0x080 /* Trace ViewInst Main Control Register */ +#define TRCVICTLR_SSSTATUS (1 << 9) /* The start/stop logic is in the started state. */ +#define TRCVICTLR_EXLEVEL_NS_S 20 +#define TRCVICTLR_EXLEVEL_NS_M (0xf << TRCVICTLR_EXLEVEL_NS_S) +#define TRCVICTLR_EXLEVEL_NS(n) (0x1 << ((n) + TRCVICTLR_EXLEVEL_NS_S)) +#define TRCVICTLR_EXLEVEL_S_S 16 +#define TRCVICTLR_EXLEVEL_S_M (0xf << TRCVICTLR_EXLEVEL_S_S) +#define TRCVICTLR_EXLEVEL_S(n) (0x1 << ((n) + TRCVICTLR_EXLEVEL_S_S)) +#define EVENT_SEL_S 0 +#define EVENT_SEL_M (0x1f << EVENT_SEL_S) +#define TRCVIIECTLR 0x084 /* Trace ViewInst Include/Exclude Control Register */ +#define TRCVIIECTLR_INCLUDE_S 0 +#define TRCVISSCTLR 0x088 /* Trace ViewInst Start/Stop Control Register */ +#define TRCVIPCSSCTLR 0x08C /* Trace ViewInst Start/Stop PE Comparator Control Register */ +#define TRCVDCTLR 0x0A0 /* Trace ViewData Main Control Register */ +#define TRCVDCTLR_TRCEXDATA (1 << 12) /* Exception and exception return data transfers are traced */ +#define TRCVDCTLR_TBI (1 << 11) /* The trace unit assigns bits[63:56] to have the same value as bits[63:56] of the data address. */ +#define TRCVDCTLR_PCREL (1 << 10) /* The trace unit does not trace the address or value portions of PC-relative transfers. */ +#define TRCVDCTLR_SPREL_S 8 +#define TRCVDCTLR_SPREL_M (0x3 << TRCVDCTLR_SPREL_S) +#define TRCVDCTLR_EVENT_S 0 +#define TRCVDCTLR_EVENT_M (0xff << TRCVDCTLR_EVENT_S) +#define TRCVDSACCTLR 0x0A4 /* Trace ViewData Include/Exclude Single Address Comparator Control Register */ +#define TRCVDARCCTLR 0x0A8 /* Trace ViewData Include/Exclude Address Range Comparator Control Register */ +#define TRCSEQEVR(n) (0x100 + (n) * 0x4) /* Trace Sequencer State Transition Control Register [n=0-2] */ +#define TRCSEQRSTEVR 0x118 /* Trace Sequencer Reset Control Register */ +#define TRCSEQSTR 0x11C /* Trace Sequencer State Register */ +#define TRCEXTINSELR 0x120 /* Trace External Input Select Register */ +#define TRCCNTRLDVR(n) (0x140 + (n) * 0x4) /* 32 Trace Counter Reload Value Register [n=0-3] */ +#define TRCCNTCTLR(n) (0x150 + (n) * 0x4) /* 32 Trace Counter Control Register [n=0-3] */ +#define TRCCNTVR(n) (0x160 + (n) * 0x4) /* 32 Trace Counter Value Register [n=0-3] */ +#define TRCIMSPEC(n) (0x1C0 + (n) * 0x4) /* Trace IMPLEMENTATION DEFINED register [n=0-7] */ + +#define TRCIDR0(n) (0x1E0 + 0x4 * (n)) +#define TRCIDR8(n) (0x180 + 0x4 * (n)) +#define TRCIDR(n) ((n > 7) ? TRCIDR8(n) : TRCIDR0(n)) +#define TRCIDR1_TRCARCHMAJ_S 8 +#define TRCIDR1_TRCARCHMAJ_M (0xf << TRCIDR1_TRCARCHMAJ_S) +#define TRCIDR1_TRCARCHMIN_S 4 +#define TRCIDR1_TRCARCHMIN_M (0xf << TRCIDR1_TRCARCHMIN_S) + +#define TRCRSCTLR(n) (0x200 + (n) * 0x4) /* Trace Resource Selection Control Register [n=2-31] */ +#define TRCSSCCR(n) (0x280 + (n) * 0x4) /* Trace Single-shot Comparator Control Register [n=0-7] */ +#define TRCSSCSR(n) (0x2A0 + (n) * 0x4) /* Trace Single-shot Comparator Status Register [n=0-7] */ +#define TRCSSPCICR(n) (0x2C0 + (n) * 0x4) /* Trace Single-shot PE Comparator Input Control [n=0-7] */ +#define TRCOSLAR 0x300 /* Management OS Lock Access Register */ +#define TRCOSLSR 0x304 /* Management OS Lock Status Register */ +#define TRCPDCR 0x310 /* Management PowerDown Control Register */ +#define TRCPDSR 0x314 /* Management PowerDown Status Register */ +#define TRCACVR(n) (0x400 + (n) * 0x8) /* Trace Address Comparator Value Register [n=0-15] */ +#define TRCACATR(n) (0x480 + (n) * 0x8) /* Trace Address Comparator Access Type Register [n=0-15] */ +#define TRCACATR_DTBM (1 << 21) +#define TRCACATR_DATARANGE (1 << 20) +#define TRCACATR_DATASIZE_S 18 +#define TRCACATR_DATASIZE_M (0x3 << TRCACATR_DATASIZE_S) +#define TRCACATR_DATASIZE_B (0x0 << TRCACATR_DATASIZE_S) +#define TRCACATR_DATASIZE_HW (0x1 << TRCACATR_DATASIZE_S) +#define TRCACATR_DATASIZE_W (0x2 << TRCACATR_DATASIZE_S) +#define TRCACATR_DATASIZE_DW (0x3 << TRCACATR_DATASIZE_S) +#define TRCACATR_DATAMATCH_S 16 +#define TRCACATR_DATAMATCH_M (0x3 << TRCACATR_DATAMATCH_S) +#define TRCACATR_EXLEVEL_S_S 8 +#define TRCACATR_EXLEVEL_S_M (0xf << TRCACATR_EXLEVEL_S_S) +#define TRCACATR_EXLEVEL_S(n) (0x1 << ((n) + TRCACATR_EXLEVEL_S_S)) +#define TRCACATR_EXLEVEL_NS_S 12 +#define TRCACATR_EXLEVEL_NS_M (0xf << TRCACATR_EXLEVEL_NS_S) +#define TRCACATR_EXLEVEL_NS(n) (0x1 << ((n) + TRCACATR_EXLEVEL_NS_S)) +#define TRCDVCVR(n) (0x500 + (n) * 0x8) /* Trace Data Value Comparator Value Register [n=0-7] */ +#define TRCDVCMR(n) (0x580 + (n) * 0x8) /* Trace Data Value Comparator Mask Register [n=0-7] */ +#define TRCCIDCVR(n) (0x600 + (n) * 0x8) /* Trace Context ID Comparator Value Register [n=0-7] */ +#define TRCVMIDCVR(n) (0x640 + (n) * 0x8) /* Trace Virtual context identifier Comparator Value [n=0-7] */ +#define TRCCIDCCTLR0 0x680 /* Trace Context ID Comparator Control Register 0 */ +#define TRCCIDCCTLR1 0x684 /* Trace Context ID Comparator Control Register 1 */ +#define TRCVMIDCCTLR0 0x688 /* Trace Virtual context identifier Comparator Control Register 0 */ +#define TRCVMIDCCTLR1 0x68C /* Trace Virtual context identifier Comparator Control Register 1 */ +#define TRCITCTRL 0xF00 /* Management Integration Mode Control register */ +#define TRCCLAIMSET 0xFA0 /* Trace Claim Tag Set register */ +#define TRCCLAIMCLR 0xFA4 /* Trace Claim Tag Clear register */ +#define TRCDEVAFF0 0xFA8 /* Management Device Affinity register 0 */ +#define TRCDEVAFF1 0xFAC /* Management Device Affinity register 1 */ +#define TRCLAR 0xFB0 /* Management Software Lock Access Register */ +#define TRCLSR 0xFB4 /* Management Software Lock Status Register */ +#define TRCAUTHSTATUS 0xFB8 /* Management Authentication Status register */ +#define TRCDEVARCH 0xFBC /* Management Device Architecture register */ +#define TRCDEVID 0xFC8 /* Management Device ID register */ +#define TRCDEVTYPE 0xFCC /* Management Device Type register */ +#define TRCPIDR4 0xFD0 /* Management Peripheral ID4 Register */ +#define TRCPIDR(n) (0xFE0 + (n) * 0x4) /* Management Peripheral IDn Register [n=0-3] */ +#define TRCPIDR567(n) (0xFD4 + ((n) - 5) * 0x4) /* Management Peripheral ID5 to Peripheral ID7 Registers */ +#define TRCCIDR(n) (0xFF0 + (n) * 0x4) /* Management Component IDn Register [n=0-4] */ + +/* ETMv4 resources */ +#define ETM_MAX_NR_PE 8 +#define ETMv4_MAX_CNTR 4 +#define ETM_MAX_SEQ_STATES 4 +#define ETM_MAX_EXT_INP_SEL 4 +#define ETM_MAX_EXT_INP 256 +#define ETM_MAX_EXT_OUT 4 +#define ETM_MAX_SINGLE_ADDR_CMP 16 +#define ETM_MAX_ADDR_RANGE_CMP (ETM_MAX_SINGLE_ADDR_CMP / 2) +#define ETM_MAX_DATA_VAL_CMP 8 +#define ETMv4_MAX_CTXID_CMP 8 +#define ETM_MAX_VMID_CMP 8 +#define ETM_MAX_PE_CMP 8 +#define ETM_MAX_RES_SEL 32 +#define ETM_MAX_SS_CMP 8 + +/** + * struct etmv4_config - configuration information related to an ETMv4 + * @mode: Controls various modes supported by this ETM. + * @pe_sel: Controls which PE to trace. + * @cfg: Controls the tracing options. + * @eventctrl0: Controls the tracing of arbitrary events. + * @eventctrl1: Controls the behavior of the events that @event_ctrl0 selects. + * @stallctl: If functionality that prevents trace unit buffer overflows + * is available. + * @ts_ctrl: Controls the insertion of global timestamps in the + * trace streams. + * @syncfreq: Controls how often trace synchronization requests occur. + * the TRCCCCTLR register. + * @ccctlr: Sets the threshold value for cycle counting. + * @vinst_ctrl: Controls instruction trace filtering. + * @viiectlr: Set or read, the address range comparators. + * @vissctlr: Set, or read, the single address comparators that control the + * ViewInst start-stop logic. + * @vipcssctlr: Set, or read, which PE comparator inputs can control the + * ViewInst start-stop logic. + * @seq_idx: Sequencor index selector. + * @seq_ctrl: Control for the sequencer state transition control register. + * @seq_rst: Moves the sequencer to state 0 when a programmed event occurs. + * @seq_state: Set, or read the sequencer state. + * @cntr_idx: Counter index seletor. + * @cntrldvr: Sets or returns the reload count value for a counter. + * @cntr_ctrl: Controls the operation of a counter. + * @cntr_val: Sets or returns the value for a counter. + * @res_idx: Resource index selector. + * @res_ctrl: Controls the selection of the resources in the trace unit. + * @ss_idx: Single-shot index selector. + * @ss_ctrl: Controls the corresponding single-shot comparator resource. + * @ss_status: The status of the corresponding single-shot comparator. + * @ss_pe_cmp: Selects the PE comparator inputs for Single-shot control. + * @addr_idx: Address comparator index selector. + * @addr_val: Value for address comparator. + * @addr_acc: Address comparator access type. + * @addr_type: Current status of the comparator register. + * @ctxid_idx: Context ID index selector. + * @ctxid_pid: Value of the context ID comparator. + * @ctxid_mask0:Context ID comparator mask for comparator 0-3. + * @ctxid_mask1:Context ID comparator mask for comparator 4-7. + * @vmid_idx: VM ID index selector. + * @vmid_val: Value of the VM ID comparator. + * @vmid_mask0: VM ID comparator mask for comparator 0-3. + * @vmid_mask1: VM ID comparator mask for comparator 4-7. + * @ext_inp: External input selection. + * @s_ex_level: Secure ELs where tracing is supported. + */ + +struct etmv4_config { + uint32_t mode; + uint32_t pe_sel; + uint32_t cfg; + uint32_t eventctrl0; + uint32_t eventctrl1; + uint32_t stall_ctrl; + uint32_t ts_ctrl; + uint32_t syncfreq; + uint32_t ccctlr; + uint32_t bb_ctrl; + uint32_t vinst_ctrl; + uint32_t viiectlr; + uint32_t vissctlr; + uint32_t vipcssctlr; + uint8_t seq_idx; + uint32_t seq_ctrl[ETM_MAX_SEQ_STATES]; + uint32_t seq_rst; + uint32_t seq_state; + uint8_t cntr_idx; + uint32_t cntrldvr[ETMv4_MAX_CNTR]; + uint32_t cntr_ctrl[ETMv4_MAX_CNTR]; + uint32_t cntr_val[ETMv4_MAX_CNTR]; + uint8_t res_idx; + uint32_t res_ctrl[ETM_MAX_RES_SEL]; + uint8_t ss_idx; + uint32_t ss_ctrl[ETM_MAX_SS_CMP]; + uint32_t ss_status[ETM_MAX_SS_CMP]; + uint32_t ss_pe_cmp[ETM_MAX_SS_CMP]; + uint8_t addr_idx; + uint64_t addr_val[ETM_MAX_SINGLE_ADDR_CMP]; + uint64_t addr_acc[ETM_MAX_SINGLE_ADDR_CMP]; + uint8_t addr_type[ETM_MAX_SINGLE_ADDR_CMP]; + uint8_t ctxid_idx; + uint64_t ctxid_pid[ETMv4_MAX_CTXID_CMP]; + uint32_t ctxid_mask0; + uint32_t ctxid_mask1; + uint8_t vmid_idx; + uint64_t vmid_val[ETM_MAX_VMID_CMP]; + uint32_t vmid_mask0; + uint32_t vmid_mask1; + uint32_t ext_inp; + uint8_t s_ex_level; +}; + +extern struct trace_dev_methods cs_methods; + +#endif /* !_HWT_CORESIGHT_H_ */ Index: usr.sbin/hwt/hwt_coresight.c =================================================================== --- /dev/null +++ usr.sbin/hwt/hwt_coresight.c @@ -0,0 +1,781 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2023 Ruslan Bukin + * + * This work was supported by Innovate UK project 105694, "Digital Security + * by Design (DSbD) Technology Platform Prototype". + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* ARM CoreSight tracing unit. */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#include "hwtvar.h" +#include "hwt_coresight.h" + +#include "libpmcstat_stubs.h" +#include + +#define PMCTRACE_CS_DEBUG +#undef PMCTRACE_CS_DEBUG + +#ifdef PMCTRACE_CS_DEBUG +#define dprintf(fmt, ...) printf(fmt, ##__VA_ARGS__) +#else +#define dprintf(fmt, ...) +#endif + +static int cs_flags = 0; +#define FLAG_FORMAT (1 << 0) +#define FLAG_FRAME_RAW_UNPACKED (1 << 1) +#define FLAG_FRAME_RAW_PACKED (1 << 2) +#define FLAG_CALLBACK_MEM_ACC (1 << 3) + +#define PACKET_STR_LEN 1024 +static char packet_str[PACKET_STR_LEN]; + +struct cs_decoder { + dcd_tree_handle_t dcdtree_handle; + struct trace_context *tc; + int dp_ret; + int cpu_id; + FILE *out; +}; + +static ocsd_err_t +attach_raw_printers(dcd_tree_handle_t dcd_tree_h) +{ + ocsd_err_t err; + int flags; + + flags = 0; + err = OCSD_OK; + + if (cs_flags & FLAG_FRAME_RAW_UNPACKED) + flags |= OCSD_DFRMTR_UNPACKED_RAW_OUT; + + if (cs_flags & FLAG_FRAME_RAW_PACKED) + flags |= OCSD_DFRMTR_PACKED_RAW_OUT; + + if (flags) + err = ocsd_dt_set_raw_frame_printer(dcd_tree_h, flags); + + return err; +} + +static int +print_data_array(const uint8_t *p_array, const int array_size, + char *p_buffer, int buf_size) +{ + int bytes_processed; + int chars_printed; + + chars_printed = 0; + p_buffer[0] = 0; + + if (buf_size > 9) { + strcat(p_buffer, "[ "); + chars_printed += 2; + + for (bytes_processed = 0; bytes_processed < array_size; + bytes_processed++) { + sprintf(p_buffer + chars_printed, "0x%02X ", + p_array[bytes_processed]); + chars_printed += 5; + if ((chars_printed + 5) > buf_size) + break; + } + + strcat(p_buffer, "];"); + chars_printed += 2; + } else if (buf_size >= 4) { + sprintf(p_buffer, "[];"); + chars_printed += 3; + } + + return (chars_printed); +} + +static void +packet_monitor(void *context __unused, + const ocsd_datapath_op_t op, + const ocsd_trc_index_t index_sop, + const void *p_packet_in, + const uint32_t size, + const uint8_t *p_data) +{ + int offset; + + offset = 0; + + switch (op) { + case OCSD_OP_DATA: + sprintf(packet_str, "Idx:%" OCSD_TRC_IDX_STR ";", index_sop); + offset = strlen(packet_str); + offset += print_data_array(p_data, size, packet_str + offset, + PACKET_STR_LEN - offset); + + /* + * Got a packet -- convert to string and use the libraries' + * message output to print to file and stdoout + */ + + if (ocsd_pkt_str(OCSD_PROTOCOL_ETMV4I, p_packet_in, + packet_str + offset, PACKET_STR_LEN - offset) == OCSD_OK) { + /* add in */ + if (strlen(packet_str) == PACKET_STR_LEN - 1)/*maxlen*/ + packet_str[PACKET_STR_LEN - 2] = '\n'; + else + strcat(packet_str,"\n"); + + /* print it using the library output logger. */ + ocsd_def_errlog_msgout(packet_str); + } + break; + + case OCSD_OP_EOT: + sprintf(packet_str,"**** END OF TRACE ****\n"); + ocsd_def_errlog_msgout(packet_str); + break; + default: + printf("%s: unknown op %d\n", __func__, op); + break; + } +} + +#if 0 +static uint32_t +cs_decoder__mem_access(const void *context __unused, + const ocsd_vaddr_t address __unused, + const ocsd_mem_space_acc_t mem_space __unused, + const uint32_t req_size __unused, uint8_t *buffer __unused) +{ + + /* TODO */ + + return (0); +} +#endif + +static ocsd_err_t +create_test_memory_acc(dcd_tree_handle_t handle, struct trace_context *tc) +{ + ocsd_vaddr_t address; + uint8_t *p_mem_buffer; + uint32_t mem_length; + int ret; + + dprintf("%s\n", __func__); + +#if 0 + if (cs_flags & FLAG_CALLBACK_MEM_ACC) + ret = ocsd_dt_add_callback_mem_acc(handle, base + start, + base + end - 1, OCSD_MEM_SPACE_ANY, + cs_decoder__mem_access, NULL); + else +#endif + { + address = (ocsd_vaddr_t)tc->base; + + uint64_t *t; + t = (uint64_t *)tc->base; + printf("%lx %lx %lx %lx\n", t[0], t[1], t[2], t[3]); + + p_mem_buffer = (uint8_t *)tc->base; + mem_length = tc->bufsize; + + ret = ocsd_dt_add_buffer_mem_acc(handle, address, + OCSD_MEM_SPACE_ANY, p_mem_buffer, mem_length); + } + + if (ret != OCSD_OK) + printf("%s: can't create memory accessor: ret %d\n", + __func__, ret); + + return (ret); +} + +static ocsd_err_t +create_generic_decoder(dcd_tree_handle_t handle, const char *p_name, + const void *p_cfg, const void *p_context __unused, + struct trace_context *tc) +{ + ocsd_err_t ret; + uint8_t CSID; + + CSID = 0; + + dprintf("%s\n", __func__); + + ret = ocsd_dt_create_decoder(handle, p_name, + OCSD_CREATE_FLG_FULL_DECODER, p_cfg, &CSID); + if (ret != OCSD_OK) + return (-1); + + printf("%s: CSID %d\n", __func__, CSID); + + if (cs_flags & FLAG_FORMAT) { + ret = ocsd_dt_attach_packet_callback(handle, CSID, + OCSD_C_API_CB_PKT_MON, packet_monitor, p_context); + if (ret != OCSD_OK) + return (-1); + } + + /* attach a memory accessor */ + ret = create_test_memory_acc(handle, tc); + if (ret != OCSD_OK) + ocsd_dt_remove_decoder(handle, CSID); + + return (ret); +} + +static ocsd_err_t +create_decoder_etmv4(struct trace_context *tc, dcd_tree_handle_t dcd_tree_h, + int thread_id) +{ + ocsd_etmv4_cfg trace_config; + ocsd_err_t ret; + + trace_config.arch_ver = ARCH_V8; + trace_config.core_prof = profile_CortexA; + + trace_config.reg_configr = 0x00001fc6; + trace_config.reg_configr = 0x000000C1; + trace_config.reg_traceidr = thread_id + 1; + + trace_config.reg_idr0 = 0x28000ea1; + trace_config.reg_idr1 = 0x4100f424; + trace_config.reg_idr2 = 0x20001088; + trace_config.reg_idr8 = 0x0; + trace_config.reg_idr9 = 0x0; + trace_config.reg_idr10 = 0x0; + trace_config.reg_idr11 = 0x0; + trace_config.reg_idr12 = 0x0; + trace_config.reg_idr13 = 0x0; + + /* Instruction decoder. */ + ret = create_generic_decoder(dcd_tree_h, OCSD_BUILTIN_DCD_ETMV4I, + (void *)&trace_config, 0, tc); + + return (ret); +} + +static int +cs_process_chunk_raw(struct trace_context *tc, size_t start, size_t len, + uint32_t *consumed) +{ + void *base; + + base = (void *)((uintptr_t)tc->base + (uintptr_t)start); + + fwrite(base, len, 1, tc->raw_f); + fflush(tc->raw_f); + + *consumed = len; + + return (0); +} + +static int +cs_process_chunk(struct trace_context *tc, struct cs_decoder *dec, + size_t start, size_t len, uint32_t *consumed) +{ + void *base; + int error; + + /* Coresight data is always on first cpu cdev due to funnelling by HW.*/ + base = (void *)((uintptr_t)tc->base + (uintptr_t)start); + + dprintf("Processing data for CPU%d\n", dec->cpu_id); + + error = ocsd_dt_process_data(dec->dcdtree_handle, + OCSD_OP_DATA, start, len, base, consumed); + + if (*consumed != len) { + printf("error"); + exit(5); + } + + return (error); +} + +struct pmcstat_pcmap * +pmcstat_process_find_map(struct pmcstat_process *p, uintfptr_t pc) +{ + struct pmcstat_pcmap *ppm; + + TAILQ_FOREACH(ppm, &p->pp_map, ppm_next) { + if (pc >= ppm->ppm_lowpc && pc < ppm->ppm_highpc) + return (ppm); + if (pc < ppm->ppm_lowpc) + return (NULL); + } + + return (NULL); +} + +static struct pmcstat_symbol * +symbol_lookup(const struct trace_context *tc, uint64_t ip, + struct pmcstat_image **img, uint64_t *newpc0) +{ + struct pmcstat_image *image; + struct pmcstat_symbol *sym; + struct pmcstat_pcmap *map; + uint64_t newpc; + + map = pmcstat_process_find_map(tc->pp, ip); + if (map != NULL) { + image = map->ppm_image; + newpc = ip - ((unsigned long)map->ppm_lowpc + + (image->pi_vaddr - image->pi_start)); + sym = pmcstat_symbol_search(image, newpc); /* Could be NULL. */ + newpc += image->pi_vaddr; + + *img = image; + *newpc0 = newpc; + + return (sym); + } else + *img = NULL; + + return (NULL); +} + + +static ocsd_datapath_resp_t +gen_trace_elem_print_lookup(const void *p_context, + const ocsd_trc_index_t index_sop __unused, + const uint8_t trc_chan_id __unused, + const ocsd_generic_trace_elem *elem) +{ + struct trace_context *tc; + struct pmcstat_image *image; + ocsd_datapath_resp_t resp; + struct pmcstat_symbol *sym; + unsigned long offset; + const struct cs_decoder *dec; + uint64_t newpc; + uint64_t ip; + FILE *out; + + dec = (const struct cs_decoder *)p_context; + tc = dec->tc; + out = dec->out; + + resp = OCSD_RESP_CONT; + +#if 0 + dprintf("%s: Idx:%d ELEM TYPE %d, st_addr %lx, en_addr %lx\n", + __func__, index_sop, elem->elem_type, + elem->st_addr, elem->en_addr); +#endif + +#if 0 + if (elem->st_addr == -1) + return (resp); +#endif + + if (elem->st_addr == 0) + return (resp); + ip = elem->st_addr; + + sym = symbol_lookup(tc, ip, &image, &newpc); + + static const char *ARMv8Excep[] = { + "PE Reset", "Debug Halt", "Call", "Trap", + "System Error", "Reserved", "Inst Debug", "Data Debug", + "Reserved", "Reserved", "Alignment", "Inst Fault", + "Data Fault", "Reserved", "IRQ", "FIQ" + }; + + switch (elem->elem_type) { + case OCSD_GEN_TRC_ELEM_UNKNOWN: + fprintf(out, "Unknown packet.\n"); + return (resp); + case OCSD_GEN_TRC_ELEM_NO_SYNC: + fprintf(out, "No sync.\n"); + return (resp); + case OCSD_GEN_TRC_ELEM_TRACE_ON: + fprintf(out, "Trace on.\n"); + return (resp); + case OCSD_GEN_TRC_ELEM_EO_TRACE: + fprintf(out, "End of Trace.\n"); + return (resp); + case OCSD_GEN_TRC_ELEM_PE_CONTEXT: + break; + case OCSD_GEN_TRC_ELEM_INSTR_RANGE: + case OCSD_GEN_TRC_ELEM_I_RANGE_NOPATH: + return (resp); + case OCSD_GEN_TRC_ELEM_ADDR_NACC: + break; + case OCSD_GEN_TRC_ELEM_ADDR_UNKNOWN: + return (resp); + case OCSD_GEN_TRC_ELEM_EXCEPTION: + fprintf(out, "Exception #%d (%s)\n", elem->exception_number, + ARMv8Excep[elem->exception_number]); + return (resp); + case OCSD_GEN_TRC_ELEM_EXCEPTION_RET: + fprintf(out, "Exception RET to %lx\n", elem->st_addr); + return (resp); + case OCSD_GEN_TRC_ELEM_TIMESTAMP: + fprintf(out, "Timestamp: %lx\n", elem->timestamp); + return (resp); + case OCSD_GEN_TRC_ELEM_CYCLE_COUNT: + fprintf(out, "Cycle count: %d\n", elem->cycle_count); + return (resp); + case OCSD_GEN_TRC_ELEM_EVENT: + case OCSD_GEN_TRC_ELEM_SWTRACE: + case OCSD_GEN_TRC_ELEM_SYNC_MARKER: + case OCSD_GEN_TRC_ELEM_MEMTRANS: + case OCSD_GEN_TRC_ELEM_INSTRUMENTATION: + case OCSD_GEN_TRC_ELEM_CUSTOM: + return (resp); + }; + +#if 0 + char ts[100]; + + if (elem->timestamp != 0) + sprintf(ts, "ts %ld", elem->timestamp); + else + sprintf(ts, " "); +#endif + + if (sym) { + offset = newpc - (sym->ps_start + image->pi_vaddr); + + fprintf(out, "pc 0x%08lx (%lx)\t%12s\t%s+0x%lx\n", + //elem->elem_type, + ip, newpc, + pmcstat_string_unintern(image->pi_name), + pmcstat_string_unintern(sym->ps_name), offset); + } else + if (image) + fprintf(out, "pc 0x%08lx (%lx)\t%12s\n", + //elem->elem_type, + ip, newpc, + pmcstat_string_unintern(image->pi_name)); + else { + /* image not found. */ + } + + fflush(dec->out); + + return (resp); +} + +static int +hwt_coresight_init(struct trace_context *tc, struct cs_decoder *dec, + int thread_id) +{ + char filename[MAXPATHLEN]; + int error; + + dec->cpu_id = thread_id; + dec->tc = tc; + dec->dp_ret = OCSD_RESP_CONT; + dec->dcdtree_handle = ocsd_create_dcd_tree(OCSD_TRC_SRC_FRAME_FORMATTED, + OCSD_DFRMTR_FRAME_MEM_ALIGN); + if (dec->dcdtree_handle == C_API_INVALID_TREE_HANDLE) { + printf("can't find dcd tree\n"); + return (-1); + } + + if (tc->filename) { + if (tc->mode == HWT_MODE_CPU) + snprintf(filename, MAXPATHLEN, "%s%d", tc->filename, + dec->cpu_id); + else + snprintf(filename, MAXPATHLEN, "%s", tc->filename); + + dec->out = fopen(filename, "w"); + if (dec->out == NULL) { + printf("could not open %s\n", filename); + return (ENXIO); + } + } else + dec->out = stdout; + + if (tc->flag_format) + cs_flags |= FLAG_FORMAT; + + //cs_flags |= FLAG_FRAME_RAW_UNPACKED; + //cs_flags |= FLAG_FRAME_RAW_PACKED; + + error = create_decoder_etmv4(tc, dec->dcdtree_handle, thread_id); + if (error != OCSD_OK) { + printf("can't create decoder: tc->base %#p\n", tc->base); + return (-2); + } + +#ifdef PMCTRACE_CS_DEBUG + ocsd_tl_log_mapped_mem_ranges(dec->dcdtree_handle); +#endif + + if (cs_flags & FLAG_FORMAT) + ocsd_dt_set_gen_elem_printer(dec->dcdtree_handle); + else + ocsd_dt_set_gen_elem_outfn(dec->dcdtree_handle, + gen_trace_elem_print_lookup, dec); + + attach_raw_printers(dec->dcdtree_handle); + + return (0); +} + +static void +hwt_coresight_fill_config(struct trace_context *tc, struct etmv4_config *config) +{ + int excp_level; + uint32_t reg; + uint32_t val; + int i; + + memset(config, 0, sizeof(struct etmv4_config)); + + reg = TRCCONFIGR_RS | TRCCONFIGR_TS; + reg |= TRCCONFIGR_CID | TRCCONFIGR_VMID; + reg |= TRCCONFIGR_INSTP0_LDRSTR; + reg |= TRCCONFIGR_COND_ALL; + config->cfg = reg; + + config->ts_ctrl = 0; + config->syncfreq = TRCSYNCPR_4K; + + if (tc->mode == HWT_MODE_THREAD) + excp_level = 0; /* User mode. */ + else + excp_level = 1; /* CPU mode. */ + + reg = TRCVICTLR_SSSTATUS; + reg |= (1 << EVENT_SEL_S); + reg |= TRCVICTLR_EXLEVEL_NS(1 << excp_level); + reg |= TRCVICTLR_EXLEVEL_S(1 << excp_level); + config->vinst_ctrl = reg; + + /* Address-range filtering. */ + val = 0; + for (i = 0; i < tc->nranges * 2; i++) { + config->addr_val[i] = tc->addr_ranges[i]; + + reg = TRCACATR_EXLEVEL_S(1 << excp_level); + reg |= TRCACATR_EXLEVEL_NS(1 << excp_level); + config->addr_acc[i] = reg; + + /* Include the range ID. */ + val |= (1 << (TRCVIIECTLR_INCLUDE_S + i / 2)); + } + config->viiectlr = val; +} + +static int +hwt_coresight_set_config(struct trace_context *tc) +{ + struct hwt_set_config sconf; + struct etmv4_config *config; + int error; + + config = malloc(sizeof(struct etmv4_config)); + hwt_coresight_fill_config(tc, config); + + tc->config = config; + + sconf.config = config; + sconf.config_size = sizeof(struct etmv4_config); + sconf.config_version = 1; + sconf.pause_on_mmap = tc->suspend_on_mmap ? 1 : 0; + + error = ioctl(tc->thr_fd, HWT_IOC_SET_CONFIG, &sconf); + + return (error); +} + +static int +cs_process_chunk1(struct trace_context *tc, struct cs_decoder *dec, + size_t cursor, size_t len, uint32_t *processed) +{ + int cpu_id; + int error; + + if (tc->raw) { + error = cs_process_chunk_raw(tc, cursor, len, processed); + return (error); + } else if (tc->mode == HWT_MODE_CPU) { + CPU_FOREACH_ISSET(cpu_id, &tc->cpu_map) { + error = cs_process_chunk(tc, &dec[cpu_id], cursor, len, + processed); + if (error) + return (error); + } + } else + error = cs_process_chunk(tc, dec, cursor, len, processed); + + return (0); +} + +static int +hwt_coresight_init1(struct trace_context *tc, struct cs_decoder *dec) +{ + int cpu_id; + int error; + + if (tc->raw) { + /* No decoder needed, just a file for raw data. */ + tc->raw_f = fopen(tc->filename, "w"); + if (tc->raw_f == NULL) { + printf("could not open file %s\n", tc->filename); + return (ENXIO); + } + } else if (tc->mode == HWT_MODE_CPU) { + CPU_FOREACH_ISSET(cpu_id, &tc->cpu_map) { + error = hwt_coresight_init(tc, &dec[cpu_id], cpu_id); + if (error) + return (error); + } + } else { + error = hwt_coresight_init(tc, dec, tc->thread_id); + if (error) + return (error); + } + + return (0); +} + +static void +catch_int(int sig_num __unused) +{ + + printf("Decoder stopped\n"); + exit(0); +} + +static int +hwt_coresight_process(struct trace_context *tc) +{ + size_t offs; + size_t new_offs; + int error; + int t; + struct cs_decoder *dec; + uint32_t processed; + size_t cursor; + int len; + size_t totals; + int ncpu; + + signal(SIGINT, catch_int); + + ocsd_def_errlog_init(OCSD_ERR_SEV_INFO, 1); + + ncpu = hwt_ncpu(); + + dec = malloc(sizeof(struct cs_decoder) * ncpu); + + error = hwt_coresight_init1(tc, dec); + if (error) + return (error); + + error = hwt_get_offs(tc, &offs); + if (error) { + printf("%s: cant get offset\n", __func__); + return (-1); + } + + + printf("Decoder started. Press ctrl+c to stop.\n"); + + cursor = 0; + processed = 0; + totals = 0; + len = offs; + + cs_process_chunk1(tc, dec, cursor, len, &processed); + cursor += processed; + totals += processed; + + t = 0; + + while (1) { + error = hwt_get_offs(tc, &new_offs); + if (error) + return (-1); + + if (new_offs == cursor) { + /* No new entries in trace. */ + if (tc->terminate && t++ > 2) + break; + hwt_sleep(); + } else if (new_offs > cursor) { + /* New entries in the trace buffer. */ + len = new_offs - cursor; + cs_process_chunk1(tc, dec, cursor, len, &processed); + cursor += processed; + totals += processed; + t = 0; + + } else if (new_offs < cursor) { + /* New entries in the trace buffer. Buffer wrapped. */ + len = tc->bufsize - cursor; + cs_process_chunk1(tc, dec, cursor, len, &processed); + cursor += processed; + totals += processed; + + cursor = 0; + len = new_offs; + cs_process_chunk1(tc, dec, cursor, len, &processed); + cursor += processed; + totals += processed; + t = 0; + } + } + + printf("\nBytes processed: %ld\n", totals); + + return (0); +} + +struct trace_dev_methods cs_methods = { + .process = hwt_coresight_process, + .set_config = hwt_coresight_set_config, +}; Index: usr.sbin/hwt/hwt_elf.c =================================================================== --- /dev/null +++ usr.sbin/hwt/hwt_elf.c @@ -0,0 +1,136 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2023 Ruslan Bukin + * + * This work was supported by Innovate UK project 105694, "Digital Security + * by Design (DSbD) Technology Platform Prototype". + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "hwtvar.h" + +int +hwt_elf_count_libs(const char *elf_path, uint32_t *nlibs0) +{ + GElf_Shdr shdr; + GElf_Phdr ph; + GElf_Ehdr eh; + Elf_Scn *scn; + Elf *elf; + size_t sh_entsize; + Elf_Data *data; + GElf_Dyn dyn; + int is_dynamic; + uint32_t nlibs; + int fd; + size_t i; + + nlibs = 0; + + assert(elf_version(EV_CURRENT) != EV_NONE); + + fd = open(elf_path, O_RDONLY, 0); + + assert(fd >= 0); + + elf = elf_begin(fd, ELF_C_READ, NULL); + + assert(elf != NULL); + assert(elf_kind(elf) == ELF_K_ELF); + + if (gelf_getehdr(elf, &eh) != &eh) { + printf("could not find elf header\n"); + return (-1); + } + + if (eh.e_type != ET_EXEC && eh.e_type != ET_DYN) { + printf("unsupported image\n"); + return (-2); + } + + if (eh.e_ident[EI_CLASS] != ELFCLASS32 && + eh.e_ident[EI_CLASS] != ELFCLASS64) + return (-3); + + is_dynamic = 0; + + for (i = 0; i < eh.e_phnum; i++) { + if (gelf_getphdr(elf, i, &ph) != &ph) { + printf("could not get program header %zu\n", i); + return (-4); + } + switch (ph.p_type) { + case PT_DYNAMIC: + is_dynamic = 1; + break; + case PT_INTERP: + nlibs++; + break; + } + } + + if (!is_dynamic) + goto done; + + scn = NULL; + data = NULL; + + while ((scn = elf_nextscn(elf, scn)) != NULL) { + assert(gelf_getshdr(scn, &shdr) == &shdr); + + if (shdr.sh_type == SHT_DYNAMIC) { + data = elf_getdata(scn, data); + assert(data != NULL); + + sh_entsize = gelf_fsize(elf, ELF_T_DYN, 1, EV_CURRENT); + + for (i = 0; i < shdr.sh_size / sh_entsize; i++) { + assert(gelf_getdyn(data, i, &dyn) == &dyn); + if (dyn.d_tag == DT_NEEDED) + nlibs++; + } + } + } + +done: + assert(elf_end(elf) == 0); + assert(close(fd) == 0); + + *nlibs0 = nlibs; + + return (0); +} Index: usr.sbin/hwt/hwt_process.c =================================================================== --- /dev/null +++ usr.sbin/hwt/hwt_process.c @@ -0,0 +1,141 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2023 Ruslan Bukin + * + * This work was supported by Innovate UK project 105694, "Digital Security + * by Design (DSbD) Technology Platform Prototype". + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "hwtvar.h" + +#include "libpmcstat_stubs.h" +#include + +struct pmcstat_image_hash_list pmcstat_image_hash[PMCSTAT_NHASH]; + +int +hwt_process_start(int *sockpair) +{ + int error; + + error = write(sockpair[PARENTSOCKET], "!", 1); + if (error != 1) + return (-1); + + return (0); +} + +static void +hwt_process_onsig(int signo) +{ + pid_t pid; + int status; + + assert(signo == SIGCHLD); + + while ((pid = wait3(&status, WNOHANG, NULL)) > 0) + if (WIFEXITED(status)) + hwt_procexit(pid, WEXITSTATUS(status)); +} + +int +hwt_process_create(int *sockpair, char **cmd, char **env __unused, int *pid0) +{ + char token; + pid_t pid; + int error; + + if (socketpair(AF_UNIX, SOCK_STREAM, 0, sockpair) < 0) + return (-1); + + signal(SIGCHLD, hwt_process_onsig); + + pid = fork(); + + switch (pid) { + case -1: + return (-1); + case 0: + /* Child */ + close(sockpair[PARENTSOCKET]); + + error = write(sockpair[CHILDSOCKET], "+", 1); + if (error != 1) + return (-1); + + error = read(sockpair[CHILDSOCKET], &token, 1); + if (error < 0) + return (-2); + + if (token != '!') + return (-3); + + close(sockpair[CHILDSOCKET]); + + execvp(cmd[0], cmd); + + kill(getppid(), SIGCHLD); + + exit(-3); + default: + /* Parent */ + close(sockpair[CHILDSOCKET]); + break; + } + + *pid0 = pid; + + return (0); +} + +struct pmcstat_process * +hwt_process_alloc(void) +{ + struct pmcstat_process *pp; + + pp = malloc(sizeof(struct pmcstat_process)); + if (pp) + TAILQ_INIT(&pp->pp_map); + + return (pp); +} Index: usr.sbin/hwt/hwt_record.c =================================================================== --- /dev/null +++ usr.sbin/hwt/hwt_record.c @@ -0,0 +1,142 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2023 Ruslan Bukin + * + * This work was supported by Innovate UK project 105694, "Digital Security + * by Design (DSbD) Technology Platform Prototype". + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include "hwtvar.h" + +#include "libpmcstat_stubs.h" +#include + +int +hwt_record_fetch(struct trace_context *tc, int *nrecords) +{ + struct hwt_record_user_entry *entry; + pmcstat_interned_string path; + struct pmcstat_image *image; + struct pmc_plugins plugins; + struct pmcstat_args args; + unsigned long addr; + struct hwt_record_get record_get; + char imagepath[PATH_MAX]; + int nentries; + int error; + int j; + + memset(&plugins, 0, sizeof(struct pmc_plugins)); + memset(&args, 0, sizeof(struct pmcstat_args)); + args.pa_fsroot = "/"; + nentries = 256; + + tc->records = malloc(sizeof(struct hwt_record_user_entry) * nentries); + + record_get.records = tc->records; + record_get.nentries = &nentries; + + error = ioctl(tc->thr_fd, HWT_IOC_RECORD_GET, &record_get); + if (error != 0) { + printf("RECORD_GET error %d entires %d\n", + error, nentries); + return (error); + } + +printf("%s: error %d: nent %d\n", __func__, error, nentries); + + for (j = 0; j < nentries; j++) { + entry = &tc->records[j]; + + switch (entry->record_type) { + case HWT_RECORD_MMAP: + case HWT_RECORD_MUNMAP: + case HWT_RECORD_EXECUTABLE: + case HWT_RECORD_INTERP: + printf(" lib #%d: path %s addr %lx\n", j, + entry->fullpath, + (unsigned long)entry->addr); + + path = pmcstat_string_intern(entry->fullpath); + if ((image = pmcstat_image_from_path(path, 0, + &args, &plugins)) == NULL) + return (-1); + + if (image->pi_type == PMCSTAT_IMAGE_UNKNOWN) + pmcstat_image_determine_type(image, &args); + + addr = (unsigned long)entry->addr & ~1; + addr -= (image->pi_start - image->pi_vaddr); + pmcstat_image_link(tc->pp, image, addr); +#if 0 + printf("image pi_vaddr %lx pi_start %lx pi_entry %lx\n", + (unsigned long)image->pi_vaddr, + (unsigned long)image->pi_start, + (unsigned long)image->pi_entry); +#endif + hwt_mmap_received(tc, entry); + break; + case HWT_RECORD_KERNEL: + snprintf(imagepath, sizeof(imagepath), "%s/%s", + tc->fs_root, entry->fullpath); + printf(" image #%d: path %s addr %lx\n", j, + imagepath, (unsigned long)entry->addr); + path = pmcstat_string_intern(imagepath); + if ((image = pmcstat_image_from_path(path, 1, + &args, &plugins)) == NULL) + return (-1); + if (image->pi_type == PMCSTAT_IMAGE_UNKNOWN) + pmcstat_image_determine_type(image, &args); + addr = (unsigned long)entry->addr & ~1; + pmcstat_image_link(tc->pp, image, addr); + break; + case HWT_RECORD_THREAD_CREATE: + case HWT_RECORD_THREAD_SET_NAME: + break; + default: + break; + } + } + + *nrecords = nentries; + + return (0); +} Index: usr.sbin/hwt/hwtvar.h =================================================================== --- /dev/null +++ usr.sbin/hwt/hwtvar.h @@ -0,0 +1,99 @@ +/*- + * Copyright (c) 2023 Ruslan Bukin + * All rights reserved. + * + * This work was supported by Innovate UK project 105694, "Digital Security + * by Design (DSbD) Technology Platform Prototype". + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _HWTVAR_H_ +#define _HWTVAR_H_ + +#define TC_MAX_ADDR_RANGES 16 + +struct trace_context; + +struct trace_dev_methods { + int (*process)(struct trace_context *tc); + int (*set_config)(struct trace_context *tc); +}; + +struct trace_dev { + const char *name; + const char *fullname; + struct trace_dev_methods *methods; +}; + +struct trace_context { + struct trace_dev *trace_dev; + struct pmcstat_process *pp; + struct hwt_record_user_entry *records; + void *base; + size_t bufsize; + int pid; + cpuset_t cpu_map; + int fd; + int thr_fd; + int terminate; + + int thread_id; + int ident; + + /* Address range filtering. */ + int suspend_on_mmap; + char *image_name; + char *func_name; + uintptr_t addr_ranges[TC_MAX_ADDR_RANGES * 2]; + int nranges; + + /* Backend-specific config. */ + void *config; + int flag_format; + + /* Raw trace. */ + int raw; + FILE *raw_f; + + /* Trace file. */ + char *filename; + + int mode; + const char *fs_root; +}; + +struct pmcstat_process *hwt_process_alloc(void); +int hwt_process_create(int *sockpair, char **cmd, char **env, int *pid0); +int hwt_process_start(int *sockpair); +int hwt_record_fetch(struct trace_context *tc, int *nrecords); +void hwt_procexit(pid_t pid, int status); +int hwt_get_offs(struct trace_context *tc, size_t *offs); +void hwt_sleep(void); +int hwt_elf_count_libs(const char *elf_path, uint32_t *nlibs0); +int hwt_find_sym(struct trace_context *tc); +int hwt_start_tracing(struct trace_context *tc); +int hwt_mmap_received(struct trace_context *tc, + struct hwt_record_user_entry *entry); +int hwt_ncpu(void); + +#endif /* !_HWTVAR_H_ */ Index: usr.sbin/hwt/libpmcstat_stubs.h =================================================================== --- /dev/null +++ usr.sbin/hwt/libpmcstat_stubs.h @@ -0,0 +1,52 @@ +/*- + * Copyright (c) 2023 Ruslan Bukin + * + * This work was supported by Innovate UK project 105694, "Digital Security + * by Design (DSbD) Technology Platform Prototype". + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include +#include + +/* These are stubs, needed for compilation only. */ + +#ifndef _HWT_LIBPMCSTAT_STUBS_H_ +#define _HWT_LIBPMCSTAT_STUBS_H_ + +enum pmc_mode { + PMC_MODE_INVALID, +}; + +typedef int pmc_id_t; +typedef int pmc_value_t; + +struct pmclog_ev; + +int pmclog_read(void *cookie __unused, struct pmclog_ev *ev __unused); +int pmc_close_logfile(void); +int pmc_attach(pmc_id_t pmc __unused, pid_t pid __unused); + +#endif /* !_HWT_LIBPMCSTAT_STUBS_H_ */ Index: usr.sbin/hwt/libpmcstat_stubs.c =================================================================== --- /dev/null +++ usr.sbin/hwt/libpmcstat_stubs.c @@ -0,0 +1,58 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2023 Ruslan Bukin + * + * This work was supported by Innovate UK project 105694, "Digital Security + * by Design (DSbD) Technology Platform Prototype". + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "libpmcstat_stubs.h" +#include + +/* This is a stub file, needed for compilation only. */ + +struct pmcstat_pmcs pmcstat_pmcs; +struct pmcstat_process_hash_list pmcstat_process_hash[PMCSTAT_NHASH]; + +int +pmclog_read(void *cookie __unused, struct pmclog_ev *ev __unused) +{ + + return (-1); +} + +int +pmc_close_logfile(void) +{ + + return (-1); +} + +int +pmc_attach(pmc_id_t pmc __unused, pid_t pid __unused) +{ + + return (-1); +} Index: usr.sbin/i2c/i2c.c =================================================================== --- usr.sbin/i2c/i2c.c +++ usr.sbin/i2c/i2c.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 2008-2009 Semihalf, Michal Hajduk and Bartlomiej Sieka * All rights reserved. Index: usr.sbin/inetd/builtins.c =================================================================== --- usr.sbin/inetd/builtins.c +++ usr.sbin/inetd/builtins.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1983, 1991, 1993, 1994 * The Regents of the University of California. All rights reserved. Index: usr.sbin/iscsid/discovery.c =================================================================== --- usr.sbin/iscsid/discovery.c +++ usr.sbin/iscsid/discovery.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 The FreeBSD Foundation * Index: usr.sbin/iscsid/iscsid.h =================================================================== --- usr.sbin/iscsid/iscsid.h +++ usr.sbin/iscsid/iscsid.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 The FreeBSD Foundation * Index: usr.sbin/iscsid/iscsid.c =================================================================== --- usr.sbin/iscsid/iscsid.c +++ usr.sbin/iscsid/iscsid.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 The FreeBSD Foundation * Index: usr.sbin/iscsid/login.c =================================================================== --- usr.sbin/iscsid/login.c +++ usr.sbin/iscsid/login.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 The FreeBSD Foundation * Index: usr.sbin/jail/command.c =================================================================== --- usr.sbin/jail/command.c +++ usr.sbin/jail/command.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 James Gritton * All rights reserved. Index: usr.sbin/jail/config.c =================================================================== --- usr.sbin/jail/config.c +++ usr.sbin/jail/config.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 James Gritton * All rights reserved. Index: usr.sbin/jail/jail.c =================================================================== --- usr.sbin/jail/jail.c +++ usr.sbin/jail/jail.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Poul-Henning Kamp. * Copyright (c) 2009-2012 James Gritton Index: usr.sbin/jail/jaillex.l =================================================================== --- usr.sbin/jail/jaillex.l +++ usr.sbin/jail/jaillex.l @@ -1,6 +1,6 @@ %{ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 James Gritton * All rights reserved. Index: usr.sbin/jail/jailp.h =================================================================== --- usr.sbin/jail/jailp.h +++ usr.sbin/jail/jailp.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 James Gritton. * All rights reserved. Index: usr.sbin/jail/jailparse.y =================================================================== --- usr.sbin/jail/jailparse.y +++ usr.sbin/jail/jailparse.y @@ -1,6 +1,6 @@ %{ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 James Gritton * All rights reserved. Index: usr.sbin/jail/state.c =================================================================== --- usr.sbin/jail/state.c +++ usr.sbin/jail/state.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 James Gritton * All rights reserved. Index: usr.sbin/jail/tests/jail_basic_test.sh =================================================================== --- usr.sbin/jail/tests/jail_basic_test.sh +++ usr.sbin/jail/tests/jail_basic_test.sh @@ -1,5 +1,5 @@ # -# SPDX-License-Identifier: BSD-2-Clause +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD # # Copyright (c) 2019 Michael Zhilin # Index: usr.sbin/jexec/jexec.c =================================================================== --- usr.sbin/jexec/jexec.c +++ usr.sbin/jexec/jexec.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2003 Mike Barcroft * Copyright (c) 2008 Bjoern A. Zeeb Index: usr.sbin/jls/jls.c =================================================================== --- usr.sbin/jls/jls.c +++ usr.sbin/jls/jls.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2003 Mike Barcroft * Copyright (c) 2008 Bjoern A. Zeeb Index: usr.sbin/kbdcontrol/kbdcontrol.c =================================================================== --- usr.sbin/kbdcontrol/kbdcontrol.c +++ usr.sbin/kbdcontrol/kbdcontrol.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1994-1995 Søren Schmidt * All rights reserved. Index: usr.sbin/kbdcontrol/lex.h =================================================================== --- usr.sbin/kbdcontrol/lex.h +++ usr.sbin/kbdcontrol/lex.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1994-1995 Søren Schmidt * All rights reserved. Index: usr.sbin/kbdcontrol/lex.l =================================================================== --- usr.sbin/kbdcontrol/lex.l +++ usr.sbin/kbdcontrol/lex.l @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1994-1995 Søren Schmidt * All rights reserved. Index: usr.sbin/kbdmap/kbdmap.h =================================================================== --- usr.sbin/kbdmap/kbdmap.h +++ usr.sbin/kbdmap/kbdmap.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2002 Jonathan Belson * All rights reserved. Index: usr.sbin/kbdmap/kbdmap.c =================================================================== --- usr.sbin/kbdmap/kbdmap.c +++ usr.sbin/kbdmap/kbdmap.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2002 Jonathan Belson * All rights reserved. Index: usr.sbin/kldxref/ef_amd64.c =================================================================== --- usr.sbin/kldxref/ef_amd64.c +++ usr.sbin/kldxref/ef_amd64.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2003 Jake Burkholder. * Copyright 1996-1998 John D. Polstra. Index: usr.sbin/kldxref/ef_i386.c =================================================================== --- usr.sbin/kldxref/ef_i386.c +++ usr.sbin/kldxref/ef_i386.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2003 Jake Burkholder. * Copyright 1996-1998 John D. Polstra. Index: usr.sbin/kldxref/ef_mips.c =================================================================== --- usr.sbin/kldxref/ef_mips.c +++ usr.sbin/kldxref/ef_mips.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2019 John Baldwin * Index: usr.sbin/kldxref/ef_nop.c =================================================================== --- usr.sbin/kldxref/ef_nop.c +++ usr.sbin/kldxref/ef_nop.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2003 Jake Burkholder. * All rights reserved. Index: usr.sbin/kldxref/ef_powerpc.c =================================================================== --- usr.sbin/kldxref/ef_powerpc.c +++ usr.sbin/kldxref/ef_powerpc.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005 Peter Grehan. * Copyright 1996-1998 John D. Polstra. Index: usr.sbin/lpr/chkprintcap/skimprintcap.h =================================================================== --- usr.sbin/lpr/chkprintcap/skimprintcap.h +++ usr.sbin/lpr/chkprintcap/skimprintcap.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * ------+---------+---------+---------+---------+---------+---------+---------* * Copyright (c) 2001 - Garance Alistair Drosehn . Index: usr.sbin/lpr/chkprintcap/skimprintcap.c =================================================================== --- usr.sbin/lpr/chkprintcap/skimprintcap.c +++ usr.sbin/lpr/chkprintcap/skimprintcap.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * ------+---------+---------+---------+---------+---------+---------+---------* * Copyright (c) 2001 - Garance Alistair Drosehn . Index: usr.sbin/lpr/common_source/ctlinfo.h =================================================================== --- usr.sbin/lpr/common_source/ctlinfo.h +++ usr.sbin/lpr/common_source/ctlinfo.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * ------+---------+---------+---------+---------+---------+---------+---------* * Copyright (c) 2001,2011 - Garance Alistair Drosehn . Index: usr.sbin/lpr/common_source/ctlinfo.c =================================================================== --- usr.sbin/lpr/common_source/ctlinfo.c +++ usr.sbin/lpr/common_source/ctlinfo.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * ------+---------+---------+---------+---------+---------+---------+---------* * Copyright (c) 2001,2011 - Garance Alistair Drosehn . Index: usr.sbin/lpr/common_source/lp.cdefs.h =================================================================== --- usr.sbin/lpr/common_source/lp.cdefs.h +++ usr.sbin/lpr/common_source/lp.cdefs.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * ------+---------+---------+---------+---------+---------+---------+---------* * Copyright (c) 2003,2013 - Garance Alistair Drosehn . Index: usr.sbin/lpr/common_source/matchjobs.h =================================================================== --- usr.sbin/lpr/common_source/matchjobs.h +++ usr.sbin/lpr/common_source/matchjobs.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * ------+---------+---------+---------+---------+---------+---------+---------* * Copyright (c) 2002 - Garance Alistair Drosehn . Index: usr.sbin/lpr/common_source/matchjobs.c =================================================================== --- usr.sbin/lpr/common_source/matchjobs.c +++ usr.sbin/lpr/common_source/matchjobs.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * ------+---------+---------+---------+---------+---------+---------+---------* * Copyright (c) 2002,2011 - Garance Alistair Drosehn . Index: usr.sbin/lpr/filters.ru/koi2855/koi2855.c =================================================================== --- usr.sbin/lpr/filters.ru/koi2855/koi2855.c +++ usr.sbin/lpr/filters.ru/koi2855/koi2855.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1999 by Andrey A. Chernov, Moscow, Russia. * (C) 18 Sep 1999, Alex G. Bulushev (bag@demos.su) Index: usr.sbin/lpr/filters.ru/koi2alt/koi2alt.c =================================================================== --- usr.sbin/lpr/filters.ru/koi2alt/koi2alt.c +++ usr.sbin/lpr/filters.ru/koi2alt/koi2alt.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1993-98 by Andrey A. Chernov, Moscow, Russia. * All rights reserved. Index: usr.sbin/lpr/lpc/movejobs.c =================================================================== --- usr.sbin/lpr/lpc/movejobs.c +++ usr.sbin/lpr/lpc/movejobs.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * ------+---------+---------+---------+---------+---------+---------+---------* * Copyright (c) 2002 - Garance Alistair Drosehn . Index: usr.sbin/makefs/cd9660.h =================================================================== --- usr.sbin/makefs/cd9660.h +++ usr.sbin/makefs/cd9660.h @@ -1,7 +1,7 @@ /* $NetBSD: cd9660.h,v 1.21 2015/12/24 15:52:37 christos Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2005 Daniel Watt, Walter Deignan, Ryan Gabrys, Alan * Perez-Rathke and Ram Vedam. All rights reserved. Index: usr.sbin/makefs/cd9660.c =================================================================== --- usr.sbin/makefs/cd9660.c +++ usr.sbin/makefs/cd9660.c @@ -1,7 +1,7 @@ /* $NetBSD: cd9660.c,v 1.56 2019/10/18 04:09:02 msaitoh Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause AND BSD-4-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD AND BSD-4-Clause * * Copyright (c) 2005 Daniel Watt, Walter Deignan, Ryan Gabrys, Alan * Perez-Rathke and Ram Vedam. All rights reserved. Index: usr.sbin/makefs/cd9660/cd9660_conversion.c =================================================================== --- usr.sbin/makefs/cd9660/cd9660_conversion.c +++ usr.sbin/makefs/cd9660/cd9660_conversion.c @@ -1,7 +1,7 @@ /* $NetBSD: cd9660_conversion.c,v 1.4 2007/03/14 14:11:17 christos Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2005 Daniel Watt, Walter Deignan, Ryan Gabrys, Alan * Perez-Rathke and Ram Vedam. All rights reserved. Index: usr.sbin/makefs/cd9660/cd9660_debug.c =================================================================== --- usr.sbin/makefs/cd9660/cd9660_debug.c +++ usr.sbin/makefs/cd9660/cd9660_debug.c @@ -1,7 +1,7 @@ /* $NetBSD: cd9660_debug.c,v 1.11 2010/10/27 18:51:35 christos Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2005 Daniel Watt, Walter Deignan, Ryan Gabrys, Alan * Perez-Rathke and Ram Vedam. All rights reserved. Index: usr.sbin/makefs/cd9660/cd9660_eltorito.h =================================================================== --- usr.sbin/makefs/cd9660/cd9660_eltorito.h +++ usr.sbin/makefs/cd9660/cd9660_eltorito.h @@ -1,7 +1,7 @@ /* $NetBSD: cd9660_eltorito.h,v 1.6 2017/01/24 11:22:43 nonaka Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2005 Daniel Watt, Walter Deignan, Ryan Gabrys, Alan * Perez-Rathke and Ram Vedam. All rights reserved. Index: usr.sbin/makefs/cd9660/cd9660_eltorito.c =================================================================== --- usr.sbin/makefs/cd9660/cd9660_eltorito.c +++ usr.sbin/makefs/cd9660/cd9660_eltorito.c @@ -1,7 +1,7 @@ /* $NetBSD: cd9660_eltorito.c,v 1.23 2018/03/28 06:48:55 nonaka Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2005 Daniel Watt, Walter Deignan, Ryan Gabrys, Alan * Perez-Rathke and Ram Vedam. All rights reserved. Index: usr.sbin/makefs/cd9660/cd9660_strings.c =================================================================== --- usr.sbin/makefs/cd9660/cd9660_strings.c +++ usr.sbin/makefs/cd9660/cd9660_strings.c @@ -1,7 +1,7 @@ /* $NetBSD: cd9660_strings.c,v 1.4 2007/01/16 17:32:05 hubertf Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2005 Daniel Watt, Walter Deignan, Ryan Gabrys, Alan * Perez-Rathke and Ram Vedam. All rights reserved. Index: usr.sbin/makefs/cd9660/cd9660_write.c =================================================================== --- usr.sbin/makefs/cd9660/cd9660_write.c +++ usr.sbin/makefs/cd9660/cd9660_write.c @@ -1,7 +1,7 @@ /* $NetBSD: cd9660_write.c,v 1.14 2011/01/04 09:48:21 wiz Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2005 Daniel Watt, Walter Deignan, Ryan Gabrys, Alan * Perez-Rathke and Ram Vedam. All rights reserved. Index: usr.sbin/makefs/cd9660/iso9660_rrip.h =================================================================== --- usr.sbin/makefs/cd9660/iso9660_rrip.h +++ usr.sbin/makefs/cd9660/iso9660_rrip.h @@ -1,7 +1,7 @@ /* $NetBSD: iso9660_rrip.h,v 1.5 2009/01/10 22:06:29 bjh21 Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2005 Daniel Watt, Walter Deignan, Ryan Gabrys, Alan * Perez-Rathke and Ram Vedam. All rights reserved. Index: usr.sbin/makefs/cd9660/iso9660_rrip.c =================================================================== --- usr.sbin/makefs/cd9660/iso9660_rrip.c +++ usr.sbin/makefs/cd9660/iso9660_rrip.c @@ -1,7 +1,7 @@ /* $NetBSD: iso9660_rrip.c,v 1.14 2014/05/30 13:14:47 martin Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2005 Daniel Watt, Walter Deignan, Ryan Gabrys, Alan * Perez-Rathke and Ram Vedam. All rights reserved. Index: usr.sbin/makefs/ffs/ffs_bswap.c =================================================================== --- usr.sbin/makefs/ffs/ffs_bswap.c +++ usr.sbin/makefs/ffs/ffs_bswap.c @@ -1,7 +1,7 @@ /* $NetBSD: ffs_bswap.c,v 1.28 2004/05/25 14:54:59 hannken Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 1998 Manuel Bouyer. * Index: usr.sbin/makefs/ffs/mkfs.c =================================================================== --- usr.sbin/makefs/ffs/mkfs.c +++ usr.sbin/makefs/ffs/mkfs.c @@ -634,7 +634,7 @@ acg.cg_ndblk = dmax - cbase; if (sblock.fs_contigsumsize > 0) acg.cg_nclusterblks = acg.cg_ndblk >> sblock.fs_fragshift; - start = sizeof(acg); + start = &acg.cg_space[0] - (u_char *)(&acg.cg_firstfield); if (Oflag == 2) { acg.cg_iusedoff = start; } else { Index: usr.sbin/makefs/ffs/newfs_extern.h =================================================================== --- usr.sbin/makefs/ffs/newfs_extern.h +++ usr.sbin/makefs/ffs/newfs_extern.h @@ -2,7 +2,7 @@ /* From: NetBSD: extern.h,v 1.3 2000/12/01 12:03:27 simonb Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 1997 Christos Zoulas. All rights reserved. * Index: usr.sbin/makefs/ffs/ufs_bswap.h =================================================================== --- usr.sbin/makefs/ffs/ufs_bswap.h +++ usr.sbin/makefs/ffs/ufs_bswap.h @@ -1,7 +1,7 @@ /* $NetBSD: ufs_bswap.h,v 1.13 2003/10/05 17:48:50 bouyer Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 1998 Manuel Bouyer. * Index: usr.sbin/makefs/mtree.c =================================================================== --- usr.sbin/makefs/mtree.c +++ usr.sbin/makefs/mtree.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 Marcel Moolenaar * All rights reserved. Index: usr.sbin/makefs/tests/makefs_zfs_tests.sh =================================================================== --- usr.sbin/makefs/tests/makefs_zfs_tests.sh +++ usr.sbin/makefs/tests/makefs_zfs_tests.sh @@ -1,5 +1,5 @@ #- -# SPDX-License-Identifier: BSD-2-Clause +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD # # Copyright (c) 2022 The FreeBSD Foundation # Index: usr.sbin/makefs/zfs.c =================================================================== --- usr.sbin/makefs/zfs.c +++ usr.sbin/makefs/zfs.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2022 The FreeBSD Foundation * Index: usr.sbin/makefs/zfs/dsl.c =================================================================== --- usr.sbin/makefs/zfs/dsl.c +++ usr.sbin/makefs/zfs/dsl.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2022 The FreeBSD Foundation * Index: usr.sbin/makefs/zfs/fs.c =================================================================== --- usr.sbin/makefs/zfs/fs.c +++ usr.sbin/makefs/zfs/fs.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2022 The FreeBSD Foundation * Index: usr.sbin/makefs/zfs/objset.c =================================================================== --- usr.sbin/makefs/zfs/objset.c +++ usr.sbin/makefs/zfs/objset.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2022 The FreeBSD Foundation * Index: usr.sbin/makefs/zfs/vdev.c =================================================================== --- usr.sbin/makefs/zfs/vdev.c +++ usr.sbin/makefs/zfs/vdev.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2022 The FreeBSD Foundation * Index: usr.sbin/makefs/zfs/zap.c =================================================================== --- usr.sbin/makefs/zfs/zap.c +++ usr.sbin/makefs/zfs/zap.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2022 The FreeBSD Foundation * Index: usr.sbin/makefs/zfs/zfs.h =================================================================== --- usr.sbin/makefs/zfs/zfs.h +++ usr.sbin/makefs/zfs/zfs.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2022 The FreeBSD Foundation * Index: usr.sbin/memcontrol/memcontrol.c =================================================================== --- usr.sbin/memcontrol/memcontrol.c +++ usr.sbin/memcontrol/memcontrol.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Michael Smith * All rights reserved. Index: usr.sbin/mfiutil/mfi_bbu.c =================================================================== --- usr.sbin/mfiutil/mfi_bbu.c +++ usr.sbin/mfiutil/mfi_bbu.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2013 Sandvine Inc. * All rights reserved. Index: usr.sbin/mfiutil/mfi_foreign.c =================================================================== --- usr.sbin/mfiutil/mfi_foreign.c +++ usr.sbin/mfiutil/mfi_foreign.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2013 smh@freebsd.org * All rights reserved. Index: usr.sbin/mfiutil/mfi_properties.c =================================================================== --- usr.sbin/mfiutil/mfi_properties.c +++ usr.sbin/mfiutil/mfi_properties.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2013 Yahoo!, Inc. * All rights reserved. Index: usr.sbin/mlxcontrol/command.c =================================================================== --- usr.sbin/mlxcontrol/command.c +++ usr.sbin/mlxcontrol/command.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Michael Smith * All rights reserved. Index: usr.sbin/mlxcontrol/config.c =================================================================== --- usr.sbin/mlxcontrol/config.c +++ usr.sbin/mlxcontrol/config.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Michael Smith * All rights reserved. Index: usr.sbin/mlxcontrol/interface.c =================================================================== --- usr.sbin/mlxcontrol/interface.c +++ usr.sbin/mlxcontrol/interface.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Michael Smith * All rights reserved. Index: usr.sbin/mlxcontrol/mlxcontrol.h =================================================================== --- usr.sbin/mlxcontrol/mlxcontrol.h +++ usr.sbin/mlxcontrol/mlxcontrol.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Michael Smith * All rights reserved. Index: usr.sbin/mlxcontrol/util.c =================================================================== --- usr.sbin/mlxcontrol/util.c +++ usr.sbin/mlxcontrol/util.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Michael Smith * All rights reserved. Index: usr.sbin/mountd/mountd.c =================================================================== --- usr.sbin/mountd/mountd.c +++ usr.sbin/mountd/mountd.c @@ -221,9 +221,7 @@ struct grouplist *, int, struct exportlist *, struct expcred *, uint64_t); static void add_mlist(char *, char *); -static int check_path_component(const char *, char **); -static int check_dirpath(char *, char **); -static int check_statfs(const char *, struct statfs *, char **); +static int check_dirpath(char *); static int check_options(struct dirlist *); static int checkmask(struct sockaddr *sa); static int chk_host(struct dirlist *, struct sockaddr *, int *, int *, @@ -1570,7 +1568,6 @@ struct statfs fsb; struct expcred anon; char *cp, *endcp, *dirp, *hst, *usr, *dom, savedc; - char *err_msg = NULL; int len, has_host, got_nondir, dirplen, netgrp; uint64_t exflags; @@ -1649,8 +1646,8 @@ goto nextline; } } - if (check_dirpath(cp, &err_msg) && - check_statfs(cp, &fsb, &err_msg)) { + if (check_dirpath(cp) && + statfs(cp, &fsb) >= 0) { if ((fsb.f_flags & MNT_AUTOMOUNTED) != 0) syslog(LOG_ERR, "Warning: exporting of " "automounted fs %s not supported", cp); @@ -1715,15 +1712,8 @@ dirplen = len; } } else { - if (err_msg != NULL) { - getexp_err(ep, tgrp, err_msg); - free(err_msg); - err_msg = NULL; - } else { - getexp_err(ep, tgrp, - "symbolic link in export path or " - "statfs failed"); - } + getexp_err(ep, tgrp, + "symbolic link in export path or statfs failed"); goto nextline; } *endcp = savedc; @@ -3807,76 +3797,29 @@ return (0); } -static int -check_path_component(const char *path, char **err) -{ - struct stat sb; - - if (lstat(path, &sb)) { - asprintf(err, "%s: lstat() failed: %s.\n", - path, strerror(errno)); - return (0); - } - - switch (sb.st_mode & S_IFMT) { - case S_IFDIR: - return (1); - case S_IFLNK: - asprintf(err, "%s: path is a symbolic link.\n", path); - break; - case S_IFREG: - asprintf(err, "%s: path is a file rather than a directory.\n", - path); - break; - default: - asprintf(err, "%s: path is not a directory.\n", path); - } - - return (0); -} - /* - * Check each path component for the presence of symbolic links. Return true + * Check an absolute directory path for any symbolic links. Return true */ static int -check_dirpath(char *dirp, char **err) +check_dirpath(char *dirp) { char *cp; + int ret = 1; + struct stat sb; cp = dirp + 1; - while (*cp) { + while (*cp && ret) { if (*cp == '/') { *cp = '\0'; - - if (!check_path_component(dirp, err)) { - *cp = '/'; - return (0); - } - + if (lstat(dirp, &sb) < 0 || !S_ISDIR(sb.st_mode)) + ret = 0; *cp = '/'; } cp++; } - - if (!check_path_component(dirp, err)) - return (0); - - return (1); -} - -/* - * Populate statfs information. Return true on success. - */ -static int -check_statfs(const char *dirp, struct statfs *fsb, char **err) -{ - if (statfs(dirp, fsb)) { - asprintf(err, "%s: statfs() failed: %s\n", dirp, - strerror(errno)); - return (0); - } - - return (1); + if (lstat(dirp, &sb) < 0 || !S_ISDIR(sb.st_mode)) + ret = 0; + return (ret); } /* Index: usr.sbin/mptable/mptable.c =================================================================== --- usr.sbin/mptable/mptable.c +++ usr.sbin/mptable/mptable.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996, by Steve Passe * All rights reserved. Index: usr.sbin/mtest/mtest.c =================================================================== --- usr.sbin/mtest/mtest.c +++ usr.sbin/mtest/mtest.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2007-2009 Bruce Simpson. * Copyright (c) 2000 Wilbert De Graaf. Index: usr.sbin/newsyslog/extern.h =================================================================== --- usr.sbin/newsyslog/extern.h +++ usr.sbin/newsyslog/extern.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * ------+---------+---------+---------+---------+---------+---------+---------* * Copyright (c) 2003 - Garance Alistair Drosehn . Index: usr.sbin/pciconf/err.c =================================================================== --- usr.sbin/pciconf/err.c +++ usr.sbin/pciconf/err.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 Hudson River Trading LLC * Written by: John H. Baldwin Index: usr.sbin/periodic/etc/security/100.chksetuid =================================================================== --- usr.sbin/periodic/etc/security/100.chksetuid +++ usr.sbin/periodic/etc/security/100.chksetuid @@ -54,7 +54,7 @@ }'` find -sx $MP /dev/null \( ! -fstype local \) -prune -o -type f \ \( -perm -u+x -or -perm -g+x -or -perm -o+x \) \ - \( -perm -u+s -or -perm -g+s \) -exec ls -lid -D "%FT%T" \{\} \+ | + \( -perm -u+s -or -perm -g+s \) -exec ls -liTd \{\} \+ | check_diff setuid - "${host} setuid diffs:" rc=$? fi Index: usr.sbin/periodic/etc/security/110.neggrpperm =================================================================== --- usr.sbin/periodic/etc/security/110.neggrpperm +++ usr.sbin/periodic/etc/security/110.neggrpperm @@ -54,7 +54,7 @@ \( \( ! -perm +010 -and -perm +001 \) -or \ \( ! -perm +020 -and -perm +002 \) -or \ \( ! -perm +040 -and -perm +004 \) \) \ - -exec ls -lid -D "%FT%T" \{\} \+ | tee /dev/stderr | wc -l) + -exec ls -liTd \{\} \+ | tee /dev/stderr | wc -l) [ $n -gt 0 ] && rc=1 || rc=0 fi Index: usr.sbin/pkg/config.h =================================================================== --- usr.sbin/pkg/config.h +++ usr.sbin/pkg/config.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2013 Baptiste Daroussin * All rights reserved. Index: usr.sbin/pkg/config.c =================================================================== --- usr.sbin/pkg/config.c +++ usr.sbin/pkg/config.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 Baptiste Daroussin * Copyright (c) 2013 Bryan Drewery Index: usr.sbin/pkg/dns_utils.h =================================================================== --- usr.sbin/pkg/dns_utils.h +++ usr.sbin/pkg/dns_utils.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012 Baptiste Daroussin * All rights reserved. Index: usr.sbin/pkg/dns_utils.c =================================================================== --- usr.sbin/pkg/dns_utils.c +++ usr.sbin/pkg/dns_utils.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012-2013 Baptiste Daroussin * All rights reserved. Index: usr.sbin/pkg/hash.h =================================================================== --- usr.sbin/pkg/hash.h +++ usr.sbin/pkg/hash.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2023 Baptiste Daroussin * Index: usr.sbin/pkg/hash.c =================================================================== --- usr.sbin/pkg/hash.c +++ usr.sbin/pkg/hash.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012-2014 Baptiste Daroussin * Copyright (c) 2013 Bryan Drewery Index: usr.sbin/pkg/pkg.c =================================================================== --- usr.sbin/pkg/pkg.c +++ usr.sbin/pkg/pkg.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012-2014 Baptiste Daroussin * Copyright (c) 2013 Bryan Drewery Index: usr.sbin/pmc/cmd_pmc.h =================================================================== --- usr.sbin/pmc/cmd_pmc.h +++ usr.sbin/pmc/cmd_pmc.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2018, Matthew Macy * Index: usr.sbin/pmc/cmd_pmc_filter.cc =================================================================== --- usr.sbin/pmc/cmd_pmc_filter.cc +++ usr.sbin/pmc/cmd_pmc_filter.cc @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2018, Matthew Macy * Index: usr.sbin/pmc/cmd_pmc_list.c =================================================================== --- usr.sbin/pmc/cmd_pmc_list.c +++ usr.sbin/pmc/cmd_pmc_list.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2018, Matthew Macy * Index: usr.sbin/pmc/cmd_pmc_stat.c =================================================================== --- usr.sbin/pmc/cmd_pmc_stat.c +++ usr.sbin/pmc/cmd_pmc_stat.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2018, Matthew Macy * Index: usr.sbin/pmc/cmd_pmc_summary.cc =================================================================== --- usr.sbin/pmc/cmd_pmc_summary.cc +++ usr.sbin/pmc/cmd_pmc_summary.cc @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2018, Matthew Macy * Index: usr.sbin/pmc/pmc.c =================================================================== --- usr.sbin/pmc/pmc.c +++ usr.sbin/pmc/pmc.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2018, Matthew Macy * Index: usr.sbin/pmc/pmc_util.c =================================================================== --- usr.sbin/pmc/pmc_util.c +++ usr.sbin/pmc/pmc_util.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2003-2008, Joseph Koshy * Copyright (c) 2007 The FreeBSD Foundation Index: usr.sbin/pmcannotate/pmcannotate.c =================================================================== --- usr.sbin/pmcannotate/pmcannotate.c +++ usr.sbin/pmcannotate/pmcannotate.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2008 Nokia Corporation * All rights reserved. Index: usr.sbin/pmccontrol/pmccontrol.c =================================================================== --- usr.sbin/pmccontrol/pmccontrol.c +++ usr.sbin/pmccontrol/pmccontrol.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2003,2004 Joseph Koshy * All rights reserved. @@ -241,6 +241,11 @@ ncpu = pc->pm_ncpu; for (c = cpu = 0; cpu < ncpu; cpu++) { +#if defined(__i386__) || defined(__amd64__) + if (pc->pm_cputype == PMC_CPU_INTEL_PIV && + CPU_ISSET(cpu, &logical_cpus_mask)) + continue; /* skip P4-style 'logical' cpus */ +#endif if (pmc_pmcinfo(cpu, &pi) < 0) { if (errno == ENXIO) continue; Index: usr.sbin/pmcstat/pmcpl_annotate.h =================================================================== --- usr.sbin/pmcstat/pmcpl_annotate.h +++ usr.sbin/pmcstat/pmcpl_annotate.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2007, Joseph Koshy * Copyright (c) 2007 The FreeBSD Foundation Index: usr.sbin/pmcstat/pmcpl_annotate.c =================================================================== --- usr.sbin/pmcstat/pmcpl_annotate.c +++ usr.sbin/pmcstat/pmcpl_annotate.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2007, Joseph Koshy * Copyright (c) 2007 The FreeBSD Foundation Index: usr.sbin/pmcstat/pmcpl_annotate_cg.h =================================================================== --- usr.sbin/pmcstat/pmcpl_annotate_cg.h +++ usr.sbin/pmcstat/pmcpl_annotate_cg.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2007, Joseph Koshy * Copyright (c) 2007 The FreeBSD Foundation Index: usr.sbin/pmcstat/pmcpl_annotate_cg.c =================================================================== --- usr.sbin/pmcstat/pmcpl_annotate_cg.c +++ usr.sbin/pmcstat/pmcpl_annotate_cg.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2007, Joseph Koshy * Copyright (c) 2007 The FreeBSD Foundation Index: usr.sbin/pmcstat/pmcpl_callgraph.h =================================================================== --- usr.sbin/pmcstat/pmcpl_callgraph.h +++ usr.sbin/pmcstat/pmcpl_callgraph.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2007, Joseph Koshy * Copyright (c) 2007 The FreeBSD Foundation Index: usr.sbin/pmcstat/pmcpl_callgraph.c =================================================================== --- usr.sbin/pmcstat/pmcpl_callgraph.c +++ usr.sbin/pmcstat/pmcpl_callgraph.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2007, Joseph Koshy * Copyright (c) 2007 The FreeBSD Foundation Index: usr.sbin/pmcstat/pmcpl_calltree.h =================================================================== --- usr.sbin/pmcstat/pmcpl_calltree.h +++ usr.sbin/pmcstat/pmcpl_calltree.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2009, Fabien Thomas * All rights reserved. Index: usr.sbin/pmcstat/pmcpl_calltree.c =================================================================== --- usr.sbin/pmcstat/pmcpl_calltree.c +++ usr.sbin/pmcstat/pmcpl_calltree.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2012, Fabien Thomas * All rights reserved. Index: usr.sbin/pmcstat/pmcpl_gprof.h =================================================================== --- usr.sbin/pmcstat/pmcpl_gprof.h +++ usr.sbin/pmcstat/pmcpl_gprof.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2007, Joseph Koshy * Copyright (c) 2007 The FreeBSD Foundation Index: usr.sbin/pmcstat/pmcpl_gprof.c =================================================================== --- usr.sbin/pmcstat/pmcpl_gprof.c +++ usr.sbin/pmcstat/pmcpl_gprof.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2007, Joseph Koshy * Copyright (c) 2007 The FreeBSD Foundation Index: usr.sbin/pmcstat/pmcstat.h =================================================================== --- usr.sbin/pmcstat/pmcstat.h +++ usr.sbin/pmcstat/pmcstat.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2007, Joseph Koshy * Copyright (c) 2007 The FreeBSD Foundation Index: usr.sbin/pmcstat/pmcstat.c =================================================================== --- usr.sbin/pmcstat/pmcstat.c +++ usr.sbin/pmcstat/pmcstat.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2003-2008, Joseph Koshy * Copyright (c) 2007 The FreeBSD Foundation @@ -967,7 +967,7 @@ if ((args.pa_required & FLAG_HAS_PROCESS_PMCS) && (args.pa_flags & FLAG_HAS_PROCESS_PMCS) == 0) errx(EX_USAGE, -"ERROR: options -d, -E, -t, and -W require a process mode PMC to be specified." +"ERROR: options -d, -E, and -W require a process mode PMC to be specified." ); /* check for -c cpu with no system mode PMCs or logfile. */ Index: usr.sbin/pmcstat/pmcstat_log.h =================================================================== --- usr.sbin/pmcstat/pmcstat_log.h +++ usr.sbin/pmcstat/pmcstat_log.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2007, Joseph Koshy * Copyright (c) 2007 The FreeBSD Foundation Index: usr.sbin/pmcstat/pmcstat_log.c =================================================================== --- usr.sbin/pmcstat/pmcstat_log.c +++ usr.sbin/pmcstat/pmcstat_log.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005-2007, Joseph Koshy * Copyright (c) 2007 The FreeBSD Foundation Index: usr.sbin/pmcstat/pmcstat_top.h =================================================================== --- usr.sbin/pmcstat/pmcstat_top.h +++ usr.sbin/pmcstat/pmcstat_top.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2009, Fabien Thomas * All rights reserved. Index: usr.sbin/pnfsdscopymr/pnfsdscopymr.c =================================================================== --- usr.sbin/pnfsdscopymr/pnfsdscopymr.c +++ usr.sbin/pnfsdscopymr/pnfsdscopymr.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2017 Rick Macklem * Index: usr.sbin/pnfsdsfile/pnfsdsfile.c =================================================================== --- usr.sbin/pnfsdsfile/pnfsdsfile.c +++ usr.sbin/pnfsdsfile/pnfsdsfile.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2017 Rick Macklem * Index: usr.sbin/pnfsdskill/pnfsdskill.c =================================================================== --- usr.sbin/pnfsdskill/pnfsdskill.c +++ usr.sbin/pnfsdskill/pnfsdskill.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2017 Rick Macklem * Index: usr.sbin/powerd/powerd.c =================================================================== --- usr.sbin/powerd/powerd.c +++ usr.sbin/powerd/powerd.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2004 Colin Percival * Copyright (c) 2005 Nate Lawson Index: usr.sbin/ppp/acf.h =================================================================== --- usr.sbin/ppp/acf.h +++ usr.sbin/ppp/acf.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Brian Somers * All rights reserved. Index: usr.sbin/ppp/acf.c =================================================================== --- usr.sbin/ppp/acf.c +++ usr.sbin/ppp/acf.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Brian Somers * All rights reserved. Index: usr.sbin/ppp/arp.h =================================================================== --- usr.sbin/ppp/arp.h +++ usr.sbin/ppp/arp.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/async.h =================================================================== --- usr.sbin/ppp/async.h +++ usr.sbin/ppp/async.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Brian Somers * All rights reserved. Index: usr.sbin/ppp/async.c =================================================================== --- usr.sbin/ppp/async.c +++ usr.sbin/ppp/async.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/auth.h =================================================================== --- usr.sbin/ppp/auth.h +++ usr.sbin/ppp/auth.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/auth.c =================================================================== --- usr.sbin/ppp/auth.c +++ usr.sbin/ppp/auth.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/bundle.h =================================================================== --- usr.sbin/ppp/bundle.h +++ usr.sbin/ppp/bundle.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Brian Somers * All rights reserved. Index: usr.sbin/ppp/bundle.c =================================================================== --- usr.sbin/ppp/bundle.c +++ usr.sbin/ppp/bundle.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Brian Somers * All rights reserved. Index: usr.sbin/ppp/cbcp.h =================================================================== --- usr.sbin/ppp/cbcp.h +++ usr.sbin/ppp/cbcp.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Brian Somers * All rights reserved. Index: usr.sbin/ppp/cbcp.c =================================================================== --- usr.sbin/ppp/cbcp.c +++ usr.sbin/ppp/cbcp.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Brian Somers * All rights reserved. Index: usr.sbin/ppp/ccp.h =================================================================== --- usr.sbin/ppp/ccp.h +++ usr.sbin/ppp/ccp.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/ccp.c =================================================================== --- usr.sbin/ppp/ccp.c +++ usr.sbin/ppp/ccp.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/chap.h =================================================================== --- usr.sbin/ppp/chap.h +++ usr.sbin/ppp/chap.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/chap.c =================================================================== --- usr.sbin/ppp/chap.c +++ usr.sbin/ppp/chap.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/chap_ms.h =================================================================== --- usr.sbin/ppp/chap_ms.h +++ usr.sbin/ppp/chap_ms.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Gabor Kincses * 1997 - 2001 Brian Somers Index: usr.sbin/ppp/chap_ms.c =================================================================== --- usr.sbin/ppp/chap_ms.c +++ usr.sbin/ppp/chap_ms.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Gabor Kincses * 1997 - 2001 Brian Somers Index: usr.sbin/ppp/chat.h =================================================================== --- usr.sbin/ppp/chat.h +++ usr.sbin/ppp/chat.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Brian Somers * All rights reserved. Index: usr.sbin/ppp/chat.c =================================================================== --- usr.sbin/ppp/chat.c +++ usr.sbin/ppp/chat.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Brian Somers * All rights reserved. Index: usr.sbin/ppp/command.h =================================================================== --- usr.sbin/ppp/command.h +++ usr.sbin/ppp/command.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/command.c =================================================================== --- usr.sbin/ppp/command.c +++ usr.sbin/ppp/command.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/datalink.h =================================================================== --- usr.sbin/ppp/datalink.h +++ usr.sbin/ppp/datalink.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Brian Somers * All rights reserved. Index: usr.sbin/ppp/datalink.c =================================================================== --- usr.sbin/ppp/datalink.c +++ usr.sbin/ppp/datalink.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Brian Somers * All rights reserved. Index: usr.sbin/ppp/deflate.h =================================================================== --- usr.sbin/ppp/deflate.h +++ usr.sbin/ppp/deflate.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Brian Somers * All rights reserved. Index: usr.sbin/ppp/deflate.c =================================================================== --- usr.sbin/ppp/deflate.c +++ usr.sbin/ppp/deflate.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Brian Somers * All rights reserved. Index: usr.sbin/ppp/defs.h =================================================================== --- usr.sbin/ppp/defs.h +++ usr.sbin/ppp/defs.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/defs.c =================================================================== --- usr.sbin/ppp/defs.c +++ usr.sbin/ppp/defs.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Brian Somers * All rights reserved. Index: usr.sbin/ppp/descriptor.h =================================================================== --- usr.sbin/ppp/descriptor.h +++ usr.sbin/ppp/descriptor.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Brian Somers * All rights reserved. Index: usr.sbin/ppp/ether.h =================================================================== --- usr.sbin/ppp/ether.h +++ usr.sbin/ppp/ether.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Brian Somers * All rights reserved. Index: usr.sbin/ppp/ether.c =================================================================== --- usr.sbin/ppp/ether.c +++ usr.sbin/ppp/ether.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Brian Somers * All rights reserved. Index: usr.sbin/ppp/exec.h =================================================================== --- usr.sbin/ppp/exec.h +++ usr.sbin/ppp/exec.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Brian Somers * All rights reserved. Index: usr.sbin/ppp/exec.c =================================================================== --- usr.sbin/ppp/exec.c +++ usr.sbin/ppp/exec.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Brian Somers * All rights reserved. Index: usr.sbin/ppp/filter.h =================================================================== --- usr.sbin/ppp/filter.h +++ usr.sbin/ppp/filter.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/filter.c =================================================================== --- usr.sbin/ppp/filter.c +++ usr.sbin/ppp/filter.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/fsm.h =================================================================== --- usr.sbin/ppp/fsm.h +++ usr.sbin/ppp/fsm.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/fsm.c =================================================================== --- usr.sbin/ppp/fsm.c +++ usr.sbin/ppp/fsm.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/hdlc.h =================================================================== --- usr.sbin/ppp/hdlc.h +++ usr.sbin/ppp/hdlc.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/hdlc.c =================================================================== --- usr.sbin/ppp/hdlc.c +++ usr.sbin/ppp/hdlc.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/i4b.h =================================================================== --- usr.sbin/ppp/i4b.h +++ usr.sbin/ppp/i4b.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Brian Somers * All rights reserved. Index: usr.sbin/ppp/id.h =================================================================== --- usr.sbin/ppp/id.h +++ usr.sbin/ppp/id.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Brian Somers * All rights reserved. Index: usr.sbin/ppp/id.c =================================================================== --- usr.sbin/ppp/id.c +++ usr.sbin/ppp/id.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Brian Somers * All rights reserved. Index: usr.sbin/ppp/iface.h =================================================================== --- usr.sbin/ppp/iface.h +++ usr.sbin/ppp/iface.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Brian Somers * All rights reserved. Index: usr.sbin/ppp/iface.c =================================================================== --- usr.sbin/ppp/iface.c +++ usr.sbin/ppp/iface.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Brian Somers * All rights reserved. Index: usr.sbin/ppp/ip.h =================================================================== --- usr.sbin/ppp/ip.h +++ usr.sbin/ppp/ip.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/ip.c =================================================================== --- usr.sbin/ppp/ip.c +++ usr.sbin/ppp/ip.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/ipcp.h =================================================================== --- usr.sbin/ppp/ipcp.h +++ usr.sbin/ppp/ipcp.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/ipcp.c =================================================================== --- usr.sbin/ppp/ipcp.c +++ usr.sbin/ppp/ipcp.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/iplist.h =================================================================== --- usr.sbin/ppp/iplist.h +++ usr.sbin/ppp/iplist.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Brian Somers * All rights reserved. Index: usr.sbin/ppp/iplist.c =================================================================== --- usr.sbin/ppp/iplist.c +++ usr.sbin/ppp/iplist.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Brian Somers * All rights reserved. Index: usr.sbin/ppp/ipv6cp.h =================================================================== --- usr.sbin/ppp/ipv6cp.h +++ usr.sbin/ppp/ipv6cp.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001 Brian Somers * All rights reserved. Index: usr.sbin/ppp/ipv6cp.c =================================================================== --- usr.sbin/ppp/ipv6cp.c +++ usr.sbin/ppp/ipv6cp.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001 Brian Somers * All rights reserved. Index: usr.sbin/ppp/layer.h =================================================================== --- usr.sbin/ppp/layer.h +++ usr.sbin/ppp/layer.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Brian Somers * All rights reserved. Index: usr.sbin/ppp/lcp.h =================================================================== --- usr.sbin/ppp/lcp.h +++ usr.sbin/ppp/lcp.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/lcp.c =================================================================== --- usr.sbin/ppp/lcp.c +++ usr.sbin/ppp/lcp.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/link.h =================================================================== --- usr.sbin/ppp/link.h +++ usr.sbin/ppp/link.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Brian Somers * All rights reserved. Index: usr.sbin/ppp/link.c =================================================================== --- usr.sbin/ppp/link.c +++ usr.sbin/ppp/link.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Brian Somers * All rights reserved. Index: usr.sbin/ppp/log.h =================================================================== --- usr.sbin/ppp/log.h +++ usr.sbin/ppp/log.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Brian Somers * All rights reserved. Index: usr.sbin/ppp/log.c =================================================================== --- usr.sbin/ppp/log.c +++ usr.sbin/ppp/log.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Brian Somers * All rights reserved. Index: usr.sbin/ppp/lqr.h =================================================================== --- usr.sbin/ppp/lqr.h +++ usr.sbin/ppp/lqr.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/lqr.c =================================================================== --- usr.sbin/ppp/lqr.c +++ usr.sbin/ppp/lqr.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/main.h =================================================================== --- usr.sbin/ppp/main.h +++ usr.sbin/ppp/main.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/main.c =================================================================== --- usr.sbin/ppp/main.c +++ usr.sbin/ppp/main.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/mbuf.h =================================================================== --- usr.sbin/ppp/mbuf.h +++ usr.sbin/ppp/mbuf.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/mbuf.c =================================================================== --- usr.sbin/ppp/mbuf.c +++ usr.sbin/ppp/mbuf.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/mp.h =================================================================== --- usr.sbin/ppp/mp.h +++ usr.sbin/ppp/mp.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Brian Somers * All rights reserved. Index: usr.sbin/ppp/mp.c =================================================================== --- usr.sbin/ppp/mp.c +++ usr.sbin/ppp/mp.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Brian Somers * All rights reserved. Index: usr.sbin/ppp/mppe.h =================================================================== --- usr.sbin/ppp/mppe.h +++ usr.sbin/ppp/mppe.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2000 Semen Ustimenko * All rights reserved. Index: usr.sbin/ppp/mppe.c =================================================================== --- usr.sbin/ppp/mppe.c +++ usr.sbin/ppp/mppe.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2000 Semen Ustimenko * All rights reserved. Index: usr.sbin/ppp/nat_cmd.h =================================================================== --- usr.sbin/ppp/nat_cmd.h +++ usr.sbin/ppp/nat_cmd.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001 Charles Mott * Brian Somers Index: usr.sbin/ppp/nat_cmd.c =================================================================== --- usr.sbin/ppp/nat_cmd.c +++ usr.sbin/ppp/nat_cmd.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001 Charles Mott * Brian Somers Index: usr.sbin/ppp/ncp.h =================================================================== --- usr.sbin/ppp/ncp.h +++ usr.sbin/ppp/ncp.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001 Brian Somers * All rights reserved. Index: usr.sbin/ppp/ncp.c =================================================================== --- usr.sbin/ppp/ncp.c +++ usr.sbin/ppp/ncp.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001 Brian Somers * All rights reserved. Index: usr.sbin/ppp/ncpaddr.h =================================================================== --- usr.sbin/ppp/ncpaddr.h +++ usr.sbin/ppp/ncpaddr.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001 Brian Somers * All rights reserved. Index: usr.sbin/ppp/ncpaddr.c =================================================================== --- usr.sbin/ppp/ncpaddr.c +++ usr.sbin/ppp/ncpaddr.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001 Brian Somers * All rights reserved. Index: usr.sbin/ppp/netgraph.h =================================================================== --- usr.sbin/ppp/netgraph.h +++ usr.sbin/ppp/netgraph.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2000 Brian Somers * All rights reserved. Index: usr.sbin/ppp/netgraph.c =================================================================== --- usr.sbin/ppp/netgraph.c +++ usr.sbin/ppp/netgraph.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2000 Brian Somers * All rights reserved. Index: usr.sbin/ppp/pap.h =================================================================== --- usr.sbin/ppp/pap.h +++ usr.sbin/ppp/pap.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/pap.c =================================================================== --- usr.sbin/ppp/pap.c +++ usr.sbin/ppp/pap.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/pred.h =================================================================== --- usr.sbin/ppp/pred.h +++ usr.sbin/ppp/pred.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/pred.c =================================================================== --- usr.sbin/ppp/pred.c +++ usr.sbin/ppp/pred.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Brian Somers * Ian Donaldson Index: usr.sbin/ppp/probe.h =================================================================== --- usr.sbin/ppp/probe.h +++ usr.sbin/ppp/probe.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Brian Somers * All rights reserved. Index: usr.sbin/ppp/probe.c =================================================================== --- usr.sbin/ppp/probe.c +++ usr.sbin/ppp/probe.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Brian Somers * All rights reserved. Index: usr.sbin/ppp/prompt.h =================================================================== --- usr.sbin/ppp/prompt.h +++ usr.sbin/ppp/prompt.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Brian Somers * All rights reserved. Index: usr.sbin/ppp/prompt.c =================================================================== --- usr.sbin/ppp/prompt.c +++ usr.sbin/ppp/prompt.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Brian Somers * All rights reserved. Index: usr.sbin/ppp/proto.h =================================================================== --- usr.sbin/ppp/proto.h +++ usr.sbin/ppp/proto.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/proto.c =================================================================== --- usr.sbin/ppp/proto.c +++ usr.sbin/ppp/proto.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Brian Somers * All rights reserved. Index: usr.sbin/ppp/radius.h =================================================================== --- usr.sbin/ppp/radius.h +++ usr.sbin/ppp/radius.h @@ -1,5 +1,5 @@ /* - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright 1999 Internet Business Solutions Ltd., Switzerland * All rights reserved. Index: usr.sbin/ppp/radius.c =================================================================== --- usr.sbin/ppp/radius.c +++ usr.sbin/ppp/radius.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright 1999 Internet Business Solutions Ltd., Switzerland * All rights reserved. Index: usr.sbin/ppp/route.h =================================================================== --- usr.sbin/ppp/route.h +++ usr.sbin/ppp/route.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/route.c =================================================================== --- usr.sbin/ppp/route.c +++ usr.sbin/ppp/route.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/server.h =================================================================== --- usr.sbin/ppp/server.h +++ usr.sbin/ppp/server.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Brian Somers * All rights reserved. Index: usr.sbin/ppp/server.c =================================================================== --- usr.sbin/ppp/server.c +++ usr.sbin/ppp/server.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Brian Somers * All rights reserved. Index: usr.sbin/ppp/sig.h =================================================================== --- usr.sbin/ppp/sig.h +++ usr.sbin/ppp/sig.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Brian Somers * All rights reserved. Index: usr.sbin/ppp/sig.c =================================================================== --- usr.sbin/ppp/sig.c +++ usr.sbin/ppp/sig.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 - 1999, 2001 Brian Somers * All rights reserved. Index: usr.sbin/ppp/sync.h =================================================================== --- usr.sbin/ppp/sync.h +++ usr.sbin/ppp/sync.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Brian Somers * All rights reserved. Index: usr.sbin/ppp/sync.c =================================================================== --- usr.sbin/ppp/sync.c +++ usr.sbin/ppp/sync.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Brian Somers * All rights reserved. Index: usr.sbin/ppp/systems.h =================================================================== --- usr.sbin/ppp/systems.h +++ usr.sbin/ppp/systems.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/systems.c =================================================================== --- usr.sbin/ppp/systems.c +++ usr.sbin/ppp/systems.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/tcp.h =================================================================== --- usr.sbin/ppp/tcp.h +++ usr.sbin/ppp/tcp.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Brian Somers * All rights reserved. Index: usr.sbin/ppp/tcp.c =================================================================== --- usr.sbin/ppp/tcp.c +++ usr.sbin/ppp/tcp.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Brian Somers * All rights reserved. Index: usr.sbin/ppp/tcpmss.h =================================================================== --- usr.sbin/ppp/tcpmss.h +++ usr.sbin/ppp/tcpmss.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2000 Brian Somers * All rights reserved. Index: usr.sbin/ppp/tcpmss.c =================================================================== --- usr.sbin/ppp/tcpmss.c +++ usr.sbin/ppp/tcpmss.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2000 Ruslan Ermilov and Brian Somers * All rights reserved. Index: usr.sbin/ppp/throughput.h =================================================================== --- usr.sbin/ppp/throughput.h +++ usr.sbin/ppp/throughput.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Brian Somers * All rights reserved. Index: usr.sbin/ppp/throughput.c =================================================================== --- usr.sbin/ppp/throughput.c +++ usr.sbin/ppp/throughput.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Brian Somers * All rights reserved. Index: usr.sbin/ppp/timer.h =================================================================== --- usr.sbin/ppp/timer.h +++ usr.sbin/ppp/timer.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/timer.c =================================================================== --- usr.sbin/ppp/timer.c +++ usr.sbin/ppp/timer.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001, 2009 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/ppp/tty.h =================================================================== --- usr.sbin/ppp/tty.h +++ usr.sbin/ppp/tty.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Brian Somers * All rights reserved. Index: usr.sbin/ppp/tty.c =================================================================== --- usr.sbin/ppp/tty.c +++ usr.sbin/ppp/tty.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Brian Somers * All rights reserved. Index: usr.sbin/ppp/tun.h =================================================================== --- usr.sbin/ppp/tun.h +++ usr.sbin/ppp/tun.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Brian Somers * All rights reserved. Index: usr.sbin/ppp/tun.c =================================================================== --- usr.sbin/ppp/tun.c +++ usr.sbin/ppp/tun.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Brian Somers * All rights reserved. Index: usr.sbin/ppp/ua.h =================================================================== --- usr.sbin/ppp/ua.h +++ usr.sbin/ppp/ua.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1998 Brian Somers * All rights reserved. Index: usr.sbin/ppp/udp.h =================================================================== --- usr.sbin/ppp/udp.h +++ usr.sbin/ppp/udp.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Brian Somers * All rights reserved. Index: usr.sbin/ppp/udp.c =================================================================== --- usr.sbin/ppp/udp.c +++ usr.sbin/ppp/udp.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Brian Somers * All rights reserved. Index: usr.sbin/ppp/vjcomp.h =================================================================== --- usr.sbin/ppp/vjcomp.h +++ usr.sbin/ppp/vjcomp.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Brian Somers * All rights reserved. Index: usr.sbin/ppp/vjcomp.c =================================================================== --- usr.sbin/ppp/vjcomp.c +++ usr.sbin/ppp/vjcomp.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1996 - 2001 Brian Somers * based on work by Toshiharu OHNO Index: usr.sbin/pppctl/pppctl.c =================================================================== --- usr.sbin/pppctl/pppctl.c +++ usr.sbin/pppctl/pppctl.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1997 Brian Somers * All rights reserved. Index: usr.sbin/pw/bitmap.h =================================================================== --- usr.sbin/pw/bitmap.h +++ usr.sbin/pw/bitmap.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1996 * David L. Nugent. All rights reserved. Index: usr.sbin/pw/bitmap.c =================================================================== --- usr.sbin/pw/bitmap.c +++ usr.sbin/pw/bitmap.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1996 * David L. Nugent. All rights reserved. Index: usr.sbin/pw/cpdir.c =================================================================== --- usr.sbin/pw/cpdir.c +++ usr.sbin/pw/cpdir.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1996 * David L. Nugent. All rights reserved. Index: usr.sbin/pw/grupd.c =================================================================== --- usr.sbin/pw/grupd.c +++ usr.sbin/pw/grupd.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1996 * David L. Nugent. All rights reserved. Index: usr.sbin/pw/psdate.h =================================================================== --- usr.sbin/pw/psdate.h +++ usr.sbin/pw/psdate.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1996 * David L. Nugent. All rights reserved. Index: usr.sbin/pw/psdate.c =================================================================== --- usr.sbin/pw/psdate.c +++ usr.sbin/pw/psdate.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1996 * David L. Nugent. All rights reserved. Index: usr.sbin/pw/pw.h =================================================================== --- usr.sbin/pw/pw.h +++ usr.sbin/pw/pw.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1996 * David L. Nugent. All rights reserved. Index: usr.sbin/pw/pw.c =================================================================== --- usr.sbin/pw/pw.c +++ usr.sbin/pw/pw.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1996 * David L. Nugent. All rights reserved. Index: usr.sbin/pw/pw_conf.c =================================================================== --- usr.sbin/pw/pw_conf.c +++ usr.sbin/pw/pw_conf.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1996 * David L. Nugent. All rights reserved. Index: usr.sbin/pw/pw_group.c =================================================================== --- usr.sbin/pw/pw_group.c +++ usr.sbin/pw/pw_group.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1996 * David L. Nugent. All rights reserved. Index: usr.sbin/pw/pw_log.c =================================================================== --- usr.sbin/pw/pw_log.c +++ usr.sbin/pw/pw_log.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1996 * David L. Nugent. All rights reserved. Index: usr.sbin/pw/pw_nis.c =================================================================== --- usr.sbin/pw/pw_nis.c +++ usr.sbin/pw/pw_nis.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1996 * David L. Nugent. All rights reserved. Index: usr.sbin/pw/pw_user.c =================================================================== --- usr.sbin/pw/pw_user.c +++ usr.sbin/pw/pw_user.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1996 * David L. Nugent. All rights reserved. @@ -50,7 +50,6 @@ #include #include #include -#include #include "pw.h" #include "bitmap.h" @@ -58,7 +57,6 @@ #define LOGNAMESIZE (MAXLOGNAME-1) -extern char **environ; static char locked_str[] = "*LOCKED*"; static struct passwd fakeuser = { @@ -636,7 +634,7 @@ showtype = "gecos field"; } else { /* See if the name is valid as a userid or group. */ - badchars = " ,\t:+&#%$^()!@~*?<>=|\\/\";"; + badchars = " ,\t:+&#%$^()!@~*?<>=|\\/\""; showtype = "userid/group name"; /* Userids and groups can not have a leading '-'. */ if (*ch == '-') @@ -696,16 +694,11 @@ stat(e->d_name, &st) == 0 && !S_ISDIR(st.st_mode) && st.st_uid == uid) { - const char *argv[] = { - "/usr/sbin/atrm", - e->d_name, - NULL - }; - if (posix_spawn(NULL, argv[0], NULL, NULL, - (char *const *) argv, environ)) { - warn("Failed to execute '%s %s'", - argv[0], argv[1]); - } + char tmp[MAXPATHLEN]; + + snprintf(tmp, sizeof(tmp), "/usr/bin/atrm %s", + e->d_name); + system(tmp); } } closedir(d); @@ -922,18 +915,9 @@ /* Remove crontabs */ snprintf(file, sizeof(file), "/var/cron/tabs/%s", pwd->pw_name); if (access(file, F_OK) == 0) { - const char *argv[] = { - "crontab", - "-u", - pwd->pw_name, - "-r", - NULL - }; - if (posix_spawnp(NULL, argv[0], NULL, NULL, - (char *const *) argv, environ)) { - warn("Failed to execute '%s %s'", - argv[0], argv[1]); - } + snprintf(file, sizeof(file), "crontab -u %s -r", + pwd->pw_name); + system(file); } } Index: usr.sbin/pw/pw_vpw.c =================================================================== --- usr.sbin/pw/pw_vpw.c +++ usr.sbin/pw/pw_vpw.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1996 * David L. Nugent. All rights reserved. Index: usr.sbin/pw/pwupd.h =================================================================== --- usr.sbin/pw/pwupd.h +++ usr.sbin/pw/pwupd.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1996 * David L. Nugent. All rights reserved. Index: usr.sbin/pw/pwupd.c =================================================================== --- usr.sbin/pw/pwupd.c +++ usr.sbin/pw/pwupd.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1996 * David L. Nugent. All rights reserved. Index: usr.sbin/pw/rm_r.c =================================================================== --- usr.sbin/pw/rm_r.c +++ usr.sbin/pw/rm_r.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1996 * David L. Nugent. All rights reserved. Index: usr.sbin/pwm/pwm.c =================================================================== --- usr.sbin/pwm/pwm.c +++ usr.sbin/pwm/pwm.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2018 Emmanuel Vadot * Index: usr.sbin/rpc.tlsclntd/rpc.tlsclntd.c =================================================================== --- usr.sbin/rpc.tlsclntd/rpc.tlsclntd.c +++ usr.sbin/rpc.tlsclntd/rpc.tlsclntd.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2008 Isilon Inc http://www.isilon.com/ * Authors: Doug Rabson Index: usr.sbin/rpc.tlsservd/rpc.tlscommon.h =================================================================== --- usr.sbin/rpc.tlsservd/rpc.tlscommon.h +++ usr.sbin/rpc.tlsservd/rpc.tlscommon.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2021 Rick Macklem * Index: usr.sbin/rpc.tlsservd/rpc.tlscommon.c =================================================================== --- usr.sbin/rpc.tlsservd/rpc.tlscommon.c +++ usr.sbin/rpc.tlsservd/rpc.tlscommon.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2021 Rick Macklem * Index: usr.sbin/rpc.tlsservd/rpc.tlsservd.c =================================================================== --- usr.sbin/rpc.tlsservd/rpc.tlsservd.c +++ usr.sbin/rpc.tlsservd/rpc.tlsservd.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2008 Isilon Inc http://www.isilon.com/ * Authors: Doug Rabson Index: usr.sbin/rpc.umntall/mounttab.h =================================================================== --- usr.sbin/rpc.umntall/mounttab.h +++ usr.sbin/rpc.umntall/mounttab.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Martin Blapp * All rights reserved. Index: usr.sbin/rpc.umntall/mounttab.c =================================================================== --- usr.sbin/rpc.umntall/mounttab.c +++ usr.sbin/rpc.umntall/mounttab.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Martin Blapp * All rights reserved. Index: usr.sbin/rpc.umntall/rpc.umntall.c =================================================================== --- usr.sbin/rpc.umntall/rpc.umntall.c +++ usr.sbin/rpc.umntall/rpc.umntall.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 1999 Martin Blapp * All rights reserved. Index: usr.sbin/rpcbind/util.c =================================================================== --- usr.sbin/rpcbind/util.c +++ usr.sbin/rpcbind/util.c @@ -4,7 +4,7 @@ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2000 The NetBSD Foundation, Inc. * All rights reserved. Index: usr.sbin/rtadvctl/rtadvctl.c =================================================================== --- usr.sbin/rtadvctl/rtadvctl.c +++ usr.sbin/rtadvctl/rtadvctl.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 2011 Hiroki Sato * All rights reserved. Index: usr.sbin/rtadvd/advcap.h =================================================================== --- usr.sbin/rtadvd/advcap.h +++ usr.sbin/rtadvd/advcap.h @@ -2,7 +2,7 @@ /* $KAME: advcap.h,v 1.5 2003/06/09 05:40:54 t-momose Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 1994,1995 by Andrey A. Chernov, Moscow, Russia. * All rights reserved. Index: usr.sbin/rtadvd/control.h =================================================================== --- usr.sbin/rtadvd/control.h +++ usr.sbin/rtadvd/control.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 2011 Hiroki Sato * All rights reserved. Index: usr.sbin/rtadvd/control.c =================================================================== --- usr.sbin/rtadvd/control.c +++ usr.sbin/rtadvd/control.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 2011 Hiroki Sato * All rights reserved. Index: usr.sbin/rtadvd/control_client.h =================================================================== --- usr.sbin/rtadvd/control_client.h +++ usr.sbin/rtadvd/control_client.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 2011 Hiroki Sato * All rights reserved. Index: usr.sbin/rtadvd/control_client.c =================================================================== --- usr.sbin/rtadvd/control_client.c +++ usr.sbin/rtadvd/control_client.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 2011 Hiroki Sato * All rights reserved. Index: usr.sbin/rtadvd/control_server.h =================================================================== --- usr.sbin/rtadvd/control_server.h +++ usr.sbin/rtadvd/control_server.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 2011 Hiroki Sato * All rights reserved. Index: usr.sbin/rtadvd/control_server.c =================================================================== --- usr.sbin/rtadvd/control_server.c +++ usr.sbin/rtadvd/control_server.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 2011 Hiroki Sato * All rights reserved. Index: usr.sbin/sa/db.c =================================================================== --- usr.sbin/sa/db.c +++ usr.sbin/sa/db.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2007 Diomidis Spinellis * All rights reserved. Index: usr.sbin/service/service.sh =================================================================== --- usr.sbin/service/service.sh +++ usr.sbin/service/service.sh @@ -2,7 +2,7 @@ # $FreeBSD$ -# SPDX-License-Identifier: BSD-2-Clause +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD # # Copyright (c) 2009 Douglas Barton # All rights reserved. Index: usr.sbin/services_mkdb/extern.h =================================================================== --- usr.sbin/services_mkdb/extern.h +++ usr.sbin/services_mkdb/extern.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2007 The NetBSD Foundation, Inc. * All rights reserved. Index: usr.sbin/services_mkdb/services_mkdb.c =================================================================== --- usr.sbin/services_mkdb/services_mkdb.c +++ usr.sbin/services_mkdb/services_mkdb.c @@ -1,7 +1,7 @@ /* $NetBSD: services_mkdb.c,v 1.14 2008/04/28 20:24:17 martin Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 1999 The NetBSD Foundation, Inc. * All rights reserved. Index: usr.sbin/services_mkdb/uniq.c =================================================================== --- usr.sbin/services_mkdb/uniq.c +++ usr.sbin/services_mkdb/uniq.c @@ -1,7 +1,7 @@ /* $NetBSD: uniq.c,v 1.4 2008/04/28 20:24:17 martin Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2007 The NetBSD Foundation, Inc. * All rights reserved. Index: usr.sbin/setfmac/setfmac.c =================================================================== --- usr.sbin/setfmac/setfmac.c +++ usr.sbin/setfmac/setfmac.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2002, 2004 Networks Associates Technology, Inc. * All rights reserved. Index: usr.sbin/smbmsg/pathnames.h =================================================================== --- usr.sbin/smbmsg/pathnames.h +++ usr.sbin/smbmsg/pathnames.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 2004 Joerg Wunsch * All Rights Reserved. Index: usr.sbin/smbmsg/smbmsg.c =================================================================== --- usr.sbin/smbmsg/smbmsg.c +++ usr.sbin/smbmsg/smbmsg.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 2004 Joerg Wunsch * All Rights Reserved. Index: usr.sbin/snapinfo/snapinfo.c =================================================================== --- usr.sbin/snapinfo/snapinfo.c +++ usr.sbin/snapinfo/snapinfo.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2005 Mark Santcroos * Index: usr.sbin/spkrtest/spkrtest.sh =================================================================== --- usr.sbin/spkrtest/spkrtest.sh +++ usr.sbin/spkrtest/spkrtest.sh @@ -1,7 +1,7 @@ #!/bin/sh # -# SPDX-License-Identifier: BSD-2-Clause +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD # # Copyright (c) 2002 The FreeBSD Project # All rights reserved. Index: usr.sbin/syslogd/syslogd.c =================================================================== --- usr.sbin/syslogd/syslogd.c +++ usr.sbin/syslogd/syslogd.c @@ -29,7 +29,7 @@ * SUCH DAMAGE. */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2018 Prodrive Technologies, https://prodrive-technologies.com/ * Author: Ed Schouten Index: usr.sbin/tcpsso/tcpsso.8 =================================================================== --- usr.sbin/tcpsso/tcpsso.8 +++ usr.sbin/tcpsso/tcpsso.8 @@ -1,5 +1,5 @@ .\" -.\" SPDX-License-Identifier: BSD-2-Clause +.\" SPDX-License-Identifier: BSD-2-Clause-FreeBSD .\" .\" Copyright (c) 2022 Michael Tuexen .\" Index: usr.sbin/tcpsso/tcpsso.c =================================================================== --- usr.sbin/tcpsso/tcpsso.c +++ usr.sbin/tcpsso/tcpsso.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2022 Michael Tuexen * Copyright (c) 2009 Juli Mallett Index: usr.sbin/traceroute/findsaddr-udp.c =================================================================== --- usr.sbin/traceroute/findsaddr-udp.c +++ usr.sbin/traceroute/findsaddr-udp.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2010 Bjoern A. Zeeb * All rights reserved. Index: usr.sbin/trim/trim.c =================================================================== --- usr.sbin/trim/trim.c +++ usr.sbin/trim/trim.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2019 Eugene Grosbein . * Contains code written by Alan Somers . Index: usr.sbin/uathload/uathload.c =================================================================== --- usr.sbin/uathload/uathload.c +++ usr.sbin/uathload/uathload.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2006 Sam Leffler, Errno Consulting * All rights reserved. Index: usr.sbin/uefisign/child.c =================================================================== --- usr.sbin/uefisign/child.c +++ usr.sbin/uefisign/child.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 The FreeBSD Foundation * Index: usr.sbin/uefisign/magic.h =================================================================== --- usr.sbin/uefisign/magic.h +++ usr.sbin/uefisign/magic.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 The FreeBSD Foundation * Index: usr.sbin/uefisign/pe.c =================================================================== --- usr.sbin/uefisign/pe.c +++ usr.sbin/uefisign/pe.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 The FreeBSD Foundation * Index: usr.sbin/uefisign/uefisign.h =================================================================== --- usr.sbin/uefisign/uefisign.h +++ usr.sbin/uefisign/uefisign.h @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 The FreeBSD Foundation * Index: usr.sbin/uefisign/uefisign.c =================================================================== --- usr.sbin/uefisign/uefisign.c +++ usr.sbin/uefisign/uefisign.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2014 The FreeBSD Foundation * Index: usr.sbin/ugidfw/ugidfw.c =================================================================== --- usr.sbin/ugidfw/ugidfw.c +++ usr.sbin/ugidfw/ugidfw.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2002, 2004 Networks Associates Technology, Inc. * All rights reserved. Index: usr.sbin/uhsoctl/uhsoctl.c =================================================================== --- usr.sbin/uhsoctl/uhsoctl.c +++ usr.sbin/uhsoctl/uhsoctl.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2008-2009 Fredrik Lindberg * All rights reserved. Index: usr.sbin/unbound/setup/local-unbound-setup.sh =================================================================== --- usr.sbin/unbound/setup/local-unbound-setup.sh +++ usr.sbin/unbound/setup/local-unbound-setup.sh @@ -1,6 +1,6 @@ #!/bin/sh #- -# SPDX-License-Identifier: BSD-2-Clause +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD # # Copyright (c) 2013 Dag-Erling Smørgrav # All rights reserved. Index: usr.sbin/usbconfig/dump.h =================================================================== --- usr.sbin/usbconfig/dump.h +++ usr.sbin/usbconfig/dump.h @@ -1,6 +1,6 @@ /* $FreeBSD$ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2008 Hans Petter Selasky. All rights reserved. * Index: usr.sbin/usbconfig/dump.c =================================================================== --- usr.sbin/usbconfig/dump.c +++ usr.sbin/usbconfig/dump.c @@ -1,6 +1,6 @@ /* $FreeBSD$ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2008 Hans Petter Selasky. All rights reserved. * Index: usr.sbin/usbconfig/usbconfig.c =================================================================== --- usr.sbin/usbconfig/usbconfig.c +++ usr.sbin/usbconfig/usbconfig.c @@ -1,6 +1,6 @@ /* $FreeBSD$ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2008-2009 Hans Petter Selasky. All rights reserved. * Index: usr.sbin/usbdump/usbdump.c =================================================================== --- usr.sbin/usbdump/usbdump.c +++ usr.sbin/usbdump/usbdump.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2010 Weongyo Jeong * All rights reserved. Index: usr.sbin/utx/utx.c =================================================================== --- usr.sbin/utx/utx.c +++ usr.sbin/utx/utx.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011-2012 Ed Schouten * All rights reserved. Index: usr.sbin/wake/wake.c =================================================================== --- usr.sbin/wake/wake.c +++ usr.sbin/wake/wake.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (C) 2006, 2007, 2008, 2009, 2010 Marc Balmer * Copyright (C) 2000 Eugene M. Kim. All rights reserved. Index: usr.sbin/watchdogd/watchdogd.c =================================================================== --- usr.sbin/watchdogd/watchdogd.c +++ usr.sbin/watchdogd/watchdogd.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2003-2004 Sean M. Kelly * Copyright (c) 2013 iXsystems.com, Index: usr.sbin/wlandebug/wlandebug.c =================================================================== --- usr.sbin/wlandebug/wlandebug.c +++ usr.sbin/wlandebug/wlandebug.c @@ -1,5 +1,5 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting * All rights reserved. Index: usr.sbin/ypset/ypset.c =================================================================== --- usr.sbin/ypset/ypset.c +++ usr.sbin/ypset/ypset.c @@ -2,7 +2,7 @@ /* $NetBSD: ypset.c,v 1.8 1996/05/13 02:46:33 thorpej Exp $ */ /*- - * SPDX-License-Identifier: BSD-2-Clause + * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 1992, 1993 Theo de Raadt * All rights reserved.