CVS commit: src
yright notices on the relevant files. Modified files: Index: src/UPDATING diff -u src/UPDATING:1.334 src/UPDATING:1.335 --- src/UPDATING:1.334 Sat Nov 12 02:20:15 2022 +++ src/UPDATING Thu Nov 17 06:40:38 2022 @@ -1,4 +1,4 @@ -$NetBSD: UPDATING,v 1.334 2022/11/12 02:20:15 mrg Exp $ +$NetBSD: UPDATING,v 1.335 2022/11/17 06:40:38 chs Exp $ This file (UPDATING) is intended to be a brief reference to recent changes that might cause problems in the build process, and a guide for @@ -19,6 +19,33 @@ See also: BUILDING, build.sh, Makefile. Recent changes: ^^^ +20221116: + + The addition to NetBSD's version of UFS2 of support for extended + attributes broke backward compatibility with previous releases + of NetBSD, so UFS2 has been restored to being compatible with + previous NetBSD releases by disabling extended attributes. + (Note that ACLs are implemented as extended attributes, so + this changes disables ACLs as well.) + + Support for UFS2 with extended attributes is now available in a new + UFS variant called UFS2ea. If you have created extended attributes + in an original UFS2 file system then "fsck -p" will now fail due to + the unexpected presence of extended attributes and "fsck -y" will + remove all extended attributes. If you wish to preserve extended + attributes rather than delete them, there is a utility to convert + a UFS2 file system to UFS2ea and leave extended attributes in place, + but this should be used with caution since it will preserve any + extended attributes that have been corrupted by the backward + incompatibility too. + + If you wish to use a UFS2ea file system as your root file system, + then you will need to update your boot loader to a version that + supports UFS2ea. + + For more information, see: + https://wiki.netbsd.org/features/UFS2ea + 2022: The new libdrm import worsened the conflict issues for the kdump/ktruss ioctl, and i915 now conflicts with base, and has Index: src/distrib/sets/lists/tests/mi diff -u src/distrib/sets/lists/tests/mi:1.1230 src/distrib/sets/lists/tests/mi:1.1231 --- src/distrib/sets/lists/tests/mi:1.1230 Thu Nov 10 06:13:58 2022 +++ src/distrib/sets/lists/tests/mi Thu Nov 17 06:40:38 2022 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.1230 2022/11/10 06:13:58 blymn Exp $ +# $NetBSD: mi,v 1.1231 2022/11/17 06:40:38 chs Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -4354,6 +4354,7 @@ ./usr/tests/sbin/fsck_ffs/Kyuafile tests-sbin-tests compattestfile,atf,kyua ./usr/tests/sbin/fsck_ffs/t_check_quotas tests-sbin-tests compattestfile,atf ./usr/tests/sbin/fsck_ffs/t_enable_quotas tests-sbin-tests compattestfile,atf +./usr/tests/sbin/fsck_ffs/t_extattr tests-sbin-tests compattestfile,atf ./usr/tests/sbin/gpt tests-sbin-tests compattestfile,atf ./usr/tests/sbin/gpt/Atffiletests-sbin-tests compattestfile,atf ./usr/tests/sbin/gpt/Kyuafiletests-sbin-tests compattestfile,atf,kyua Index: src/sbin/badsect/badsect.c diff -u src/sbin/badsect/badsect.c:1.34 src/sbin/badsect/badsect.c:1.35 --- src/sbin/badsect/badsect.c:1.34 Mon Sep 5 01:09:57 2016 +++ src/sbin/badsect/badsect.c Thu Nov 17 06:40:38 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: badsect.c,v 1.34 2016/09/05 01:09:57 sevan Exp $ */ +/* $NetBSD: badsect.c,v 1.35 2022/11/17 06:40:38 chs Exp $ */ /* * Copyright (c) 1981, 1983, 1993 @@ -39,7 +39,7 @@ __COPYRIGHT("@(#) Copyright (c) 1981, 19 #if 0 static char sccsid[] = "@(#)badsect.c 8.2 (Berkeley) 5/4/95"; #else -__RCSID("$NetBSD: badsect.c,v 1.34 2016/09/05 01:09:57 sevan Exp $"); +__RCSID("$NetBSD: badsect.c,v 1.35 2022/11/17 06:40:38 chs Exp $"); #endif #endif /* not lint */ @@ -151,11 +151,13 @@ main(int argc, char *argv[]) rdfs(sblock_try[i], SBLOCKSIZE, fs); switch (fs->fs_magic) { case FS_UFS2_MAGIC: + case FS_UFS2EA_MAGIC: is_ufs2 = 1; /* FALLTHROUGH */ case FS_UFS1_MAGIC: break; case FS_UFS2_MAGIC_SWAPPED: + case FS_UFS2EA_MAGIC_SWAPPED: is_ufs2 = 1; /* FALLTHROUGH */ case FS_UFS1_MAGIC_SWAPPED: Index: src/sbin/cgdconfig/cgdconfig.c diff -u src/sbin/cgdconfig/cgdconfig.c:1.60 src/sbin/cgdconfig/cgdconfig.c:1.61 --- src/sbin/cgdconfig/cgdconfig.c:1.60 Tue Sep 13 10:14:32 2022 +++ src/sbin/cgdconfig/cgdconfig.c Thu Nov 17 06:40:38 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: cgdconfig.c,v 1.60 2022/09/13 10:14:32 riastradh Exp $ */ +/* $NetBSD: cgdconfig.c,v 1.61 2022/11/17 06:40:38 chs Exp $ */ /*- * Copyright (c) 2002, 2003 The NetBSD Foundation, Inc. @@ -33,7 +33,7 @@ #ifndef lint __COPYRIGHT("@(#) Copyright (c) 2002, 2003\ The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: cgdconfig.c,v 1.60 2022/09/13 10:14:32 riastradh Exp $"); +__RCSID("$NetBSD: cgdconfig.c,v 1.61 2022/11/17 06:40:38 chs Exp $"); #endif #ifdef HAVE_ARGON2 @@ -1207,8 +1207,10 @@ verify_ffs(int fd) switch (u.fs.fs_magic) {
CVS commit: src
Module Name:src Committed By: chs Date: Thu Nov 17 06:40:41 UTC 2022 Modified Files: src: UPDATING src/distrib/sets/lists/tests: mi src/sbin/badsect: badsect.c src/sbin/cgdconfig: cgdconfig.c src/sbin/clri: clri.c src/sbin/dump: ffs_inode.c src/sbin/fsck_ffs: extern.h fsck.h fsck_ffs.8 main.c pass1.c pass5.c setup.c utilities.c src/sbin/fsdb: fsdb.8 fsdb.c fsdbutil.c src/sbin/fsirand: fsirand.c src/sbin/newfs: extern.h mkfs.c newfs.8 newfs.c src/sbin/resize_ffs: resize_ffs.c src/sbin/scan_ffs: scan_ffs.c src/sbin/tunefs: tunefs.c src/sys/arch/hppa/stand/xxboot: readufs_ffs.c src/sys/arch/sparc/stand/bootblk: bootblk.fth genfth.cf src/sys/arch/x68k/stand/boot_ufs: readufs_ffs.c src/sys/lib/libsa: ffsv1.c ffsv2.c lfsv1.c lfsv2.c ufs.c src/sys/ufs/ffs: ffs_balloc.c ffs_extattr.c ffs_vfsops.c fs.h src/sys/ufs/ufs: ufs_bmap.c ufsmount.h src/tests/fs/ffs: t_extattr.c src/tests/sbin/fsck_ffs: Makefile src/usr.sbin/dumpfs: dumpfs.c src/usr.sbin/fstyp: ufs.c src/usr.sbin/installboot: ffs.c src/usr.sbin/makefs: ffs.c ffs.h makefs.8 src/usr.sbin/makefs/ffs: ffs_balloc.c mkfs.c src/usr.sbin/quot: quot.c src/usr.sbin/quotacheck: quotacheck.c src/usr.sbin/sysinst: label.c Added Files: src/tests/sbin/fsck_ffs: t_extattr.sh Log Message: Restore backward compatibility of UFS2 with previous NetBSD releases by disabling support in UFS2 for extended attributes (including ACLs). Add a new variant of UFS2 called "UFS2ea" that does support extended attributes. Add new fsck_ffs operations "-c ea" and "-c no-ea" to convert file systems from UFS2 to UFS2ea and vice-versa (both of which delete all existing extended attributes in the process). To generate a diff of this commit: cvs rdiff -u -r1.334 -r1.335 src/UPDATING cvs rdiff -u -r1.1230 -r1.1231 src/distrib/sets/lists/tests/mi cvs rdiff -u -r1.34 -r1.35 src/sbin/badsect/badsect.c cvs rdiff -u -r1.60 -r1.61 src/sbin/cgdconfig/cgdconfig.c cvs rdiff -u -r1.24 -r1.25 src/sbin/clri/clri.c cvs rdiff -u -r1.23 -r1.24 src/sbin/dump/ffs_inode.c cvs rdiff -u -r1.27 -r1.28 src/sbin/fsck_ffs/extern.h cvs rdiff -u -r1.55 -r1.56 src/sbin/fsck_ffs/fsck.h cvs rdiff -u -r1.51 -r1.52 src/sbin/fsck_ffs/fsck_ffs.8 cvs rdiff -u -r1.89 -r1.90 src/sbin/fsck_ffs/main.c cvs rdiff -u -r1.59 -r1.60 src/sbin/fsck_ffs/pass1.c cvs rdiff -u -r1.54 -r1.55 src/sbin/fsck_ffs/pass5.c cvs rdiff -u -r1.103 -r1.104 src/sbin/fsck_ffs/setup.c cvs rdiff -u -r1.66 -r1.67 src/sbin/fsck_ffs/utilities.c cvs rdiff -u -r1.27 -r1.28 src/sbin/fsdb/fsdb.8 cvs rdiff -u -r1.52 -r1.53 src/sbin/fsdb/fsdb.c cvs rdiff -u -r1.23 -r1.24 src/sbin/fsdb/fsdbutil.c cvs rdiff -u -r1.32 -r1.33 src/sbin/fsirand/fsirand.c cvs rdiff -u -r1.19 -r1.20 src/sbin/newfs/extern.h cvs rdiff -u -r1.131 -r1.132 src/sbin/newfs/mkfs.c cvs rdiff -u -r1.85 -r1.86 src/sbin/newfs/newfs.8 cvs rdiff -u -r1.117 -r1.118 src/sbin/newfs/newfs.c cvs rdiff -u -r1.56 -r1.57 src/sbin/resize_ffs/resize_ffs.c cvs rdiff -u -r1.35 -r1.36 src/sbin/scan_ffs/scan_ffs.c cvs rdiff -u -r1.55 -r1.56 src/sbin/tunefs/tunefs.c cvs rdiff -u -r1.1 -r1.2 src/sys/arch/hppa/stand/xxboot/readufs_ffs.c cvs rdiff -u -r1.16 -r1.17 src/sys/arch/sparc/stand/bootblk/bootblk.fth cvs rdiff -u -r1.9 -r1.10 src/sys/arch/sparc/stand/bootblk/genfth.cf cvs rdiff -u -r1.14 -r1.15 src/sys/arch/x68k/stand/boot_ufs/readufs_ffs.c cvs rdiff -u -r1.9 -r1.10 src/sys/lib/libsa/ffsv1.c src/sys/lib/libsa/ffsv2.c cvs rdiff -u -r1.15 -r1.16 src/sys/lib/libsa/lfsv1.c \ src/sys/lib/libsa/lfsv2.c cvs rdiff -u -r1.86 -r1.87 src/sys/lib/libsa/ufs.c cvs rdiff -u -r1.65 -r1.66 src/sys/ufs/ffs/ffs_balloc.c cvs rdiff -u -r1.8 -r1.9 src/sys/ufs/ffs/ffs_extattr.c cvs rdiff -u -r1.377 -r1.378 src/sys/ufs/ffs/ffs_vfsops.c cvs rdiff -u -r1.69 -r1.70 src/sys/ufs/ffs/fs.h cvs rdiff -u -r1.53 -r1.54 src/sys/ufs/ufs/ufs_bmap.c cvs rdiff -u -r1.43 -r1.44 src/sys/ufs/ufs/ufsmount.h cvs rdiff -u -r1.2 -r1.3 src/tests/fs/ffs/t_extattr.c cvs rdiff -u -r1.2 -r1.3 src/tests/sbin/fsck_ffs/Makefile cvs rdiff -u -r0 -r1.1 src/tests/sbin/fsck_ffs/t_extattr.sh cvs rdiff -u -r1.65 -r1.66 src/usr.sbin/dumpfs/dumpfs.c cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/fstyp/ufs.c cvs rdiff -u -r1.32 -r1.33 src/usr.sbin/installboot/ffs.c cvs rdiff -u -r1.72 -r1.73 src/usr.sbin/makefs/ffs.c cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/makefs/ffs.h cvs rdiff -u -r1.70 -r1.71 src/usr.sbin/makefs/makefs.8 cvs rdiff -u -r1.21 -r1.22 src/usr.sbin/makefs/ffs/ffs_balloc.c cvs rdiff -u -r1.40 -r1.41 src/usr.sbin/makefs/ffs/mkfs.c cvs rdiff -u -r1.34 -r1.35 src/usr.sbin/quot/quot.c cvs rdiff -u -r1.49 -r1.50 src/usr.sbin/quotacheck/quotacheck.c cvs rdiff -u -r1.41 -r1.42 src/usr.sbin/sysinst/label.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files
CVS commit: src/sys/netinet
Module Name:src Committed By: knakahara Date: Thu Nov 17 05:02:11 UTC 2022 Modified Files: src/sys/netinet: in.c Log Message: Fix sending broken RTM_DELADDR message in some operations. Here is mininum reproduction operation. # ifconfig ixg0 172.16.0.1/29 # route monitor & # ifconfig pppoe0 172.16.0.1/32 0.0.0.1 The broken RTM_DELADDR is the following. got message of size 72 on Thu Nov 17 12:50:42 2022 #13: len 72, got message of size 80 on Thu Nov 17 12:50:42 2022 RTM_DELADDR: address being removed from iface: len 80, pid 3552, metric 0, addrflags: 0 sockaddrs: 0xb4 Q00.00.ff.ff.ff.ff.00.00.00.00.00.00.00.00 pppoe0 default default This problem is related to the following two commit. (1) https://github.com/NetBSD/src/commit/b0210214689f17ec08988acd7ef8ae9cdc4c68bc that is, sys/netinet/in.c:r1.183 (2) https://github.com/NetBSD/src/commit/61bad33c44f2f6a01a030e8aa5840c015716792a that is, sys/netinet/in.c:r1.185 (1) adds in_scrubaddr() for old addresses to in_ifinit() without checking IFA_ROUTE. And then, (2) removes in_ifscrub() for POINTTOPOINT interface in in_control0. The removed in_ifscrub() is called with checking IFA_ROUTE. It seems these modifications about checking IFA_ROUTE logic causes this problem, however the real reason is calling in_ifscrub() for the interface which does not have IPv4 address. So, scrubbing old address processing should be done only if the interface already has IPv4 address. To generate a diff of this commit: cvs rdiff -u -r1.244 -r1.245 src/sys/netinet/in.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/netinet
Module Name:src Committed By: knakahara Date: Thu Nov 17 05:02:11 UTC 2022 Modified Files: src/sys/netinet: in.c Log Message: Fix sending broken RTM_DELADDR message in some operations. Here is mininum reproduction operation. # ifconfig ixg0 172.16.0.1/29 # route monitor & # ifconfig pppoe0 172.16.0.1/32 0.0.0.1 The broken RTM_DELADDR is the following. got message of size 72 on Thu Nov 17 12:50:42 2022 #13: len 72, got message of size 80 on Thu Nov 17 12:50:42 2022 RTM_DELADDR: address being removed from iface: len 80, pid 3552, metric 0, addrflags: 0 sockaddrs: 0xb4 Q00.00.ff.ff.ff.ff.00.00.00.00.00.00.00.00 pppoe0 default default This problem is related to the following two commit. (1) https://github.com/NetBSD/src/commit/b0210214689f17ec08988acd7ef8ae9cdc4c68bc that is, sys/netinet/in.c:r1.183 (2) https://github.com/NetBSD/src/commit/61bad33c44f2f6a01a030e8aa5840c015716792a that is, sys/netinet/in.c:r1.185 (1) adds in_scrubaddr() for old addresses to in_ifinit() without checking IFA_ROUTE. And then, (2) removes in_ifscrub() for POINTTOPOINT interface in in_control0. The removed in_ifscrub() is called with checking IFA_ROUTE. It seems these modifications about checking IFA_ROUTE logic causes this problem, however the real reason is calling in_ifscrub() for the interface which does not have IPv4 address. So, scrubbing old address processing should be done only if the interface already has IPv4 address. To generate a diff of this commit: cvs rdiff -u -r1.244 -r1.245 src/sys/netinet/in.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/netinet/in.c diff -u src/sys/netinet/in.c:1.244 src/sys/netinet/in.c:1.245 --- src/sys/netinet/in.c:1.244 Fri Nov 4 09:03:20 2022 +++ src/sys/netinet/in.c Thu Nov 17 05:02:11 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: in.c,v 1.244 2022/11/04 09:03:20 ozaki-r Exp $ */ +/* $NetBSD: in.c,v 1.245 2022/11/17 05:02:11 knakahara Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -91,7 +91,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: in.c,v 1.244 2022/11/04 09:03:20 ozaki-r Exp $"); +__KERNEL_RCSID(0, "$NetBSD: in.c,v 1.245 2022/11/17 05:02:11 knakahara Exp $"); #include "arp.h" @@ -1194,7 +1194,11 @@ in_ifinit(struct ifnet *ifp, struct in_i return error; } - if (scrub || hostIsNew) { + /* + * The interface which does not have IPv4 address is not required + * to scrub old address. So, skip scrub such cases. + */ + if (oldaddr.sin_family == AF_INET && (scrub || hostIsNew)) { int newflags = ia->ia4_flags; ia->ia_ifa.ifa_addr = sintosa(&oldaddr);
CVS commit: src/lib/libc/time
Module Name:src Committed By: christos Date: Wed Nov 16 19:38:08 UTC 2022 Modified Files: src/lib/libc/time: private.h Log Message: PR/57083: Jiaxun Yang: Fix build on MacOS/X which has but no getrandom(3). To generate a diff of this commit: cvs rdiff -u -r1.61 -r1.62 src/lib/libc/time/private.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/time/private.h diff -u src/lib/libc/time/private.h:1.61 src/lib/libc/time/private.h:1.62 --- src/lib/libc/time/private.h:1.61 Sat Oct 29 09:55:50 2022 +++ src/lib/libc/time/private.h Wed Nov 16 14:38:08 2022 @@ -1,6 +1,6 @@ /* Private header for tzdb code. */ -/* $NetBSD: private.h,v 1.61 2022/10/29 13:55:50 christos Exp $ */ +/* $NetBSD: private.h,v 1.62 2022/11/16 19:38:08 christos Exp $ */ #ifndef PRIVATE_H #define PRIVATE_H @@ -75,7 +75,7 @@ # define HAVE_GENERIC (201112 <= __STDC_VERSION__) #endif -#if !defined HAVE_GETRANDOM && defined __has_include +#if !defined HAVE_GETRANDOM && !defined __APPLE__ && defined __has_include # if __has_include() # define HAVE_GETRANDOM true # else
CVS commit: src/lib/libc/time
Module Name:src Committed By: christos Date: Wed Nov 16 19:38:08 UTC 2022 Modified Files: src/lib/libc/time: private.h Log Message: PR/57083: Jiaxun Yang: Fix build on MacOS/X which has but no getrandom(3). To generate a diff of this commit: cvs rdiff -u -r1.61 -r1.62 src/lib/libc/time/private.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.sbin/cpuctl/arch
Module Name:src Committed By: msaitoh Date: Wed Nov 16 15:02:00 UTC 2022 Modified Files: src/usr.sbin/cpuctl/arch: i386.c Log Message: s/Instruction-Based Sampling/IBS/ To generate a diff of this commit: cvs rdiff -u -r1.131 -r1.132 src/usr.sbin/cpuctl/arch/i386.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/cpuctl/arch/i386.c diff -u src/usr.sbin/cpuctl/arch/i386.c:1.131 src/usr.sbin/cpuctl/arch/i386.c:1.132 --- src/usr.sbin/cpuctl/arch/i386.c:1.131 Wed Nov 16 14:55:50 2022 +++ src/usr.sbin/cpuctl/arch/i386.c Wed Nov 16 15:02:00 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: i386.c,v 1.131 2022/11/16 14:55:50 msaitoh Exp $ */ +/* $NetBSD: i386.c,v 1.132 2022/11/16 15:02:00 msaitoh Exp $ */ /*- * Copyright (c) 1999, 2000, 2001, 2006, 2007, 2008 The NetBSD Foundation, Inc. @@ -57,7 +57,7 @@ #include #ifndef lint -__RCSID("$NetBSD: i386.c,v 1.131 2022/11/16 14:55:50 msaitoh Exp $"); +__RCSID("$NetBSD: i386.c,v 1.132 2022/11/16 15:02:00 msaitoh Exp $"); #endif /* not lint */ #include @@ -2255,8 +2255,7 @@ identifycpu(int fd, const char *cpuname) } if (ci->ci_max_ext_cpuid >= 0x801b) { x86_cpuid(0x801b, descs); - print_bits(cpuname, - "Instruction-Based Sampling features", + print_bits(cpuname, "IBS features", CPUID_IBS_FLAGS, descs[0]); } if (ci->ci_max_ext_cpuid >= 0x801f) {
CVS commit: src/usr.sbin/cpuctl/arch
Module Name:src Committed By: msaitoh Date: Wed Nov 16 15:02:00 UTC 2022 Modified Files: src/usr.sbin/cpuctl/arch: i386.c Log Message: s/Instruction-Based Sampling/IBS/ To generate a diff of this commit: cvs rdiff -u -r1.131 -r1.132 src/usr.sbin/cpuctl/arch/i386.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src
Module Name:src Committed By: msaitoh Date: Wed Nov 16 14:55:50 UTC 2022 Modified Files: src/sys/arch/x86/include: specialreg.h src/usr.sbin/cpuctl/arch: i386.c Log Message: Add CPUID Fn8000_0022 AMD Extended Performance Monitoring and Debug. To generate a diff of this commit: cvs rdiff -u -r1.196 -r1.197 src/sys/arch/x86/include/specialreg.h cvs rdiff -u -r1.130 -r1.131 src/usr.sbin/cpuctl/arch/i386.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src
Module Name:src Committed By: msaitoh Date: Wed Nov 16 14:55:50 UTC 2022 Modified Files: src/sys/arch/x86/include: specialreg.h src/usr.sbin/cpuctl/arch: i386.c Log Message: Add CPUID Fn8000_0022 AMD Extended Performance Monitoring and Debug. To generate a diff of this commit: cvs rdiff -u -r1.196 -r1.197 src/sys/arch/x86/include/specialreg.h cvs rdiff -u -r1.130 -r1.131 src/usr.sbin/cpuctl/arch/i386.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/x86/include/specialreg.h diff -u src/sys/arch/x86/include/specialreg.h:1.196 src/sys/arch/x86/include/specialreg.h:1.197 --- src/sys/arch/x86/include/specialreg.h:1.196 Wed Nov 16 14:01:41 2022 +++ src/sys/arch/x86/include/specialreg.h Wed Nov 16 14:55:50 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: specialreg.h,v 1.196 2022/11/16 14:01:41 msaitoh Exp $ */ +/* $NetBSD: specialreg.h,v 1.197 2022/11/16 14:55:50 msaitoh Exp $ */ /* * Copyright (c) 2014-2020 The NetBSD Foundation, Inc. @@ -1009,6 +1009,24 @@ "\22CpuidUserDis" /* + * AMD Extended Performance Monitoring and Debug + * CPUID Fn8000_0022 + */ + +/* %eax */ +#define CPUID_AXPERF_PERFMONV2 __BIT(0) /* Version 2 */ +#define CPUID_AXPERF_LBRSTACK __BIT(1) /* Last Branch Record Stack */ +#define CPUID_AXPERF_LBRPMCFREEZE __BIT(2) /* Freezing LBR and PMC */ + +#define CPUID_AXPERF_FLAGS "\20" \ + "\1PerfMonV2" "\2LbrStack" "\3LbrAndPmcFreeze" + +/* %ebx */ +#define CPUID_AXPERF_NCPC __BITS(3, 0) /* Num of Core PMC counters */ +#define CPUID_AXPERF_NLBRSTACK __BITS(9, 4) /* Num of LBR Stack entries */ +#define CPUID_AXPERF_NNBPC __BITS(15, 10) /* Num of Northbridge PMC */ + +/* * Centaur Extended Feature flags. */ #define CPUID_VIA_HAS_RNG 0x0004 /* Random number generator */ Index: src/usr.sbin/cpuctl/arch/i386.c diff -u src/usr.sbin/cpuctl/arch/i386.c:1.130 src/usr.sbin/cpuctl/arch/i386.c:1.131 --- src/usr.sbin/cpuctl/arch/i386.c:1.130 Wed Nov 16 14:01:41 2022 +++ src/usr.sbin/cpuctl/arch/i386.c Wed Nov 16 14:55:50 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: i386.c,v 1.130 2022/11/16 14:01:41 msaitoh Exp $ */ +/* $NetBSD: i386.c,v 1.131 2022/11/16 14:55:50 msaitoh Exp $ */ /*- * Copyright (c) 1999, 2000, 2001, 2006, 2007, 2008 The NetBSD Foundation, Inc. @@ -57,7 +57,7 @@ #include #ifndef lint -__RCSID("$NetBSD: i386.c,v 1.130 2022/11/16 14:01:41 msaitoh Exp $"); +__RCSID("$NetBSD: i386.c,v 1.131 2022/11/16 14:55:50 msaitoh Exp $"); #endif /* not lint */ #include @@ -2264,6 +2264,22 @@ identifycpu(int fd, const char *cpuname) print_bits(cpuname, "Encrypted Memory features", CPUID_AMD_ENCMEM_FLAGS, descs[0]); } + if (ci->ci_max_ext_cpuid >= 0x8022) { + uint8_t ncore, nnb, nlbrs; + + x86_cpuid(0x8022, descs); + print_bits(cpuname, "Perfmon:", + CPUID_AXPERF_FLAGS, descs[0]); + + ncore = __SHIFTOUT(descs[1], CPUID_AXPERF_NCPC); + nnb = __SHIFTOUT(descs[1], CPUID_AXPERF_NNBPC); + nlbrs = __SHIFTOUT(descs[1], CPUID_AXPERF_NLBRSTACK); + aprint_verbose("%s: Perfmon: counters: " + "Core %hhu, Northbridge %hhu\n", cpuname, + ncore, nnb); + aprint_verbose("%s: Perfmon: LBR Stack %hhu entries\n", + cpuname, nlbrs); + } } else if (cpu_vendor == CPUVENDOR_INTEL) { if (ci->ci_max_cpuid >= 0x0a) { unsigned int pmcver, ncounter, veclen;
CVS commit: src
Module Name:src Committed By: msaitoh Date: Wed Nov 16 14:01:41 UTC 2022 Modified Files: src/sys/arch/x86/include: specialreg.h src/usr.sbin/cpuctl/arch: i386.c Log Message: Add CPUID Fn8000_0021 AMD Extended Features Identification 2. To generate a diff of this commit: cvs rdiff -u -r1.195 -r1.196 src/sys/arch/x86/include/specialreg.h cvs rdiff -u -r1.129 -r1.130 src/usr.sbin/cpuctl/arch/i386.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/x86/include/specialreg.h diff -u src/sys/arch/x86/include/specialreg.h:1.195 src/sys/arch/x86/include/specialreg.h:1.196 --- src/sys/arch/x86/include/specialreg.h:1.195 Wed Nov 16 13:14:33 2022 +++ src/sys/arch/x86/include/specialreg.h Wed Nov 16 14:01:41 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: specialreg.h,v 1.195 2022/11/16 13:14:33 msaitoh Exp $ */ +/* $NetBSD: specialreg.h,v 1.196 2022/11/16 14:01:41 msaitoh Exp $ */ /* * Copyright (c) 2014-2020 The NetBSD Foundation, Inc. @@ -986,6 +986,29 @@ "\35SvsmCommPageMSR" "\36NestedVirtSnpMsr" /* + * AMD Extended Features 2. + * CPUID Fn8000_0021 + */ + +/* %eax */ +#define CPUID_AMDEXT2_NONESTEDDBP __BIT(0) /* No nested data breakpoints */ +#define CPUID_AMDEXT2_LFENCESERIAL __BIT(2) /* LFENCE always serializing */ +#define CPUID_AMDEXT2_SMMPGCFGLCK __BIT(3) /* SMM Paging configuration lock */ +#define CPUID_AMDEXT2_NULLSELCLRB __BIT(6) /* Null segment selector clr base */ +#define CPUID_AMDEXT2_UPADDRIGN __BIT(7) /* Upper Address Ignore */ +#define CPUID_AMDEXT2_AUTOIBRS __BIT(8) /* Automatic IBRS */ +#define CPUID_AMDEXT2_NOSMMCTL __BIT(9) /* SMM_CTL MSR is not supported */ +#define CPUID_AMDEXT2_PREFETCHCTL __BIT(13) /* Prefetch control MSR */ +#define CPUID_AMDEXT2_CPUIDUSRDIS __BIT(17) /* CPUID dis. for non-priv. soft */ + +#define CPUID_AMDEXT2_FLAGS "\20" \ + "\1NoNestedDataBp" "\3LfenceAlwaysSerialize" "\4SmmPgCfgLock"\ + "\7NullSelectClearsBase" "\10UpperAddressIgnore" \ + "\11AutomaticIBRS" "\12NoSmmCtlMSR" \ + "\16PrefetchCtlMSR" \ + "\22CpuidUserDis" + +/* * Centaur Extended Feature flags. */ #define CPUID_VIA_HAS_RNG 0x0004 /* Random number generator */ Index: src/usr.sbin/cpuctl/arch/i386.c diff -u src/usr.sbin/cpuctl/arch/i386.c:1.129 src/usr.sbin/cpuctl/arch/i386.c:1.130 --- src/usr.sbin/cpuctl/arch/i386.c:1.129 Wed Nov 16 13:15:26 2022 +++ src/usr.sbin/cpuctl/arch/i386.c Wed Nov 16 14:01:41 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: i386.c,v 1.129 2022/11/16 13:15:26 msaitoh Exp $ */ +/* $NetBSD: i386.c,v 1.130 2022/11/16 14:01:41 msaitoh Exp $ */ /*- * Copyright (c) 1999, 2000, 2001, 2006, 2007, 2008 The NetBSD Foundation, Inc. @@ -57,7 +57,7 @@ #include #ifndef lint -__RCSID("$NetBSD: i386.c,v 1.129 2022/11/16 13:15:26 msaitoh Exp $"); +__RCSID("$NetBSD: i386.c,v 1.130 2022/11/16 14:01:41 msaitoh Exp $"); #endif /* not lint */ #include @@ -2232,6 +2232,12 @@ identifycpu(int fd, const char *cpuname) } if (cpu_vendor == CPUVENDOR_AMD) { + if (ci->ci_max_ext_cpuid >= 0x8021) { + x86_cpuid(0x8021, descs); + print_bits(cpuname, "AMD Extended features 2", + CPUID_AMDEXT2_FLAGS, descs[0]); + } + if (ci->ci_max_ext_cpuid >= 0x8007) { x86_cpuid(0x8007, descs); print_bits(cpuname, "RAS features",
CVS commit: src
Module Name:src Committed By: msaitoh Date: Wed Nov 16 14:01:41 UTC 2022 Modified Files: src/sys/arch/x86/include: specialreg.h src/usr.sbin/cpuctl/arch: i386.c Log Message: Add CPUID Fn8000_0021 AMD Extended Features Identification 2. To generate a diff of this commit: cvs rdiff -u -r1.195 -r1.196 src/sys/arch/x86/include/specialreg.h cvs rdiff -u -r1.129 -r1.130 src/usr.sbin/cpuctl/arch/i386.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/usr.sbin/cpuctl/arch
Module Name:src Committed By: msaitoh Date: Wed Nov 16 13:15:26 UTC 2022 Modified Files: src/usr.sbin/cpuctl/arch: i386.c Log Message: Print AMD RAS features and Instruction-Based Sampling features. To generate a diff of this commit: cvs rdiff -u -r1.128 -r1.129 src/usr.sbin/cpuctl/arch/i386.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/cpuctl/arch/i386.c diff -u src/usr.sbin/cpuctl/arch/i386.c:1.128 src/usr.sbin/cpuctl/arch/i386.c:1.129 --- src/usr.sbin/cpuctl/arch/i386.c:1.128 Wed Jun 15 16:28:01 2022 +++ src/usr.sbin/cpuctl/arch/i386.c Wed Nov 16 13:15:26 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: i386.c,v 1.128 2022/06/15 16:28:01 msaitoh Exp $ */ +/* $NetBSD: i386.c,v 1.129 2022/11/16 13:15:26 msaitoh Exp $ */ /*- * Copyright (c) 1999, 2000, 2001, 2006, 2007, 2008 The NetBSD Foundation, Inc. @@ -57,7 +57,7 @@ #include #ifndef lint -__RCSID("$NetBSD: i386.c,v 1.128 2022/06/15 16:28:01 msaitoh Exp $"); +__RCSID("$NetBSD: i386.c,v 1.129 2022/11/16 13:15:26 msaitoh Exp $"); #endif /* not lint */ #include @@ -2232,6 +2232,11 @@ identifycpu(int fd, const char *cpuname) } if (cpu_vendor == CPUVENDOR_AMD) { + if (ci->ci_max_ext_cpuid >= 0x8007) { + x86_cpuid(0x8007, descs); + print_bits(cpuname, "RAS features", + CPUID_RAS_FLAGS, descs[1]); + } if ((ci->ci_max_ext_cpuid >= 0x800a) && (ci->ci_feat_val[3] & CPUID_SVM) != 0) { x86_cpuid(0x800a, descs); @@ -2242,6 +2247,12 @@ identifycpu(int fd, const char *cpuname) print_bits(cpuname, "SVM features", CPUID_AMD_SVM_FLAGS, descs[3]); } + if (ci->ci_max_ext_cpuid >= 0x801b) { + x86_cpuid(0x801b, descs); + print_bits(cpuname, + "Instruction-Based Sampling features", + CPUID_IBS_FLAGS, descs[0]); + } if (ci->ci_max_ext_cpuid >= 0x801f) { x86_cpuid(0x801f, descs); print_bits(cpuname, "Encrypted Memory features",
CVS commit: src/usr.sbin/cpuctl/arch
Module Name:src Committed By: msaitoh Date: Wed Nov 16 13:15:26 UTC 2022 Modified Files: src/usr.sbin/cpuctl/arch: i386.c Log Message: Print AMD RAS features and Instruction-Based Sampling features. To generate a diff of this commit: cvs rdiff -u -r1.128 -r1.129 src/usr.sbin/cpuctl/arch/i386.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/x86/include
Module Name:src Committed By: msaitoh Date: Wed Nov 16 13:14:34 UTC 2022 Modified Files: src/sys/arch/x86/include: specialreg.h Log Message: Add Some definitions from AMD APM: - Add CPUID Fn8000_0007 %eax RAS capabilities. - Add CPUID Fn8000_001b Instruction-Based Sampling capabilities. - Add BTC_NO, ROGPT, RPMQUERY, VmplSSS, TscAuxVirt, VmgexitParam, VirtualTomMsr, bsVirtGuest, SmtProtection, vsmCommPageMSR and NestedVirtSnpMsr. To generate a diff of this commit: cvs rdiff -u -r1.194 -r1.195 src/sys/arch/x86/include/specialreg.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/x86/include/specialreg.h diff -u src/sys/arch/x86/include/specialreg.h:1.194 src/sys/arch/x86/include/specialreg.h:1.195 --- src/sys/arch/x86/include/specialreg.h:1.194 Wed Oct 19 15:01:24 2022 +++ src/sys/arch/x86/include/specialreg.h Wed Nov 16 13:14:33 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: specialreg.h,v 1.194 2022/10/19 15:01:24 msaitoh Exp $ */ +/* $NetBSD: specialreg.h,v 1.195 2022/11/16 13:14:33 msaitoh Exp $ */ /* * Copyright (c) 2014-2020 The NetBSD Foundation, Inc. @@ -759,11 +759,24 @@ "\35" "L2IPERFC" "\36" "MWAITX" "\37" "AddrMaskExt" "\40" "B31" /* - * Advanced Power Management. + * Advanced Power Management and RAS. * CPUID Fn8000_0007 * * Only ITSC is for both Intel and AMD. Others are only for AMD. + * + * %ebx: RAS capabilities. See below. + * %ecx: Processor Power Monitoring Interface. + * %edx: See below. + * */ +/* %ebx */ +#define CPUID_RAS_OVFL_RECOV __BIT(0) /* MCA Overflow Recovery */ +#define CPUID_RAS_SUCCOR __BIT(1) /* Sw UnCorr. err. COntainment & Recovery */ +#define CPUID_RAS_MCAX __BIT(3) /* MCA Extension */ + +#define CPUID_RAS_FLAGS "\20" \ + "\1OVFL_RECOV" "\2SUCCOR" "\4" "MCAX" + /* %edx */ #define CPUID_APM_TS __BIT(0) /* Temperature Sensor */ #define CPUID_APM_FID __BIT(1) /* Frequency ID control */ @@ -819,6 +832,7 @@ #define CPUID_CAPEX_SSB_NO __BIT(26) /* SSBD not required */ #define CPUID_CAPEX_CPPC __BIT(27) /* Collaborative Processor Perf. Control */ #define CPUID_CAPEX_PSFD __BIT(28) /* Predictive Store Forward Dis */ +#define CPUID_CAPEX_BTC_NO __BIT(29) /* Branch Type Confusion NO */ #define CPUID_CAPEX_FLAGS "\20" \ "\1CLZERO" "\2IRPERF" "\3XSAVEERPTR" \ @@ -829,7 +843,7 @@ "\24IBRS_SAMEMODE" \ "\25EFER_LSMSLE_UN""\30PPIN" \ "\31SSBD" "\32VIRT_SSBD" "\33SSB_NO" "\34CPPC" \ - "\35PSFD" + "\35PSFD" "\36BTC_NO" /* %ecx */ #define CPUID_CAPEX_PerfTscSize __BITS(17,16) /* Perf. tstamp counter size */ @@ -862,6 +876,7 @@ #define CPUID_AMD_SVM_X2AVIC __BIT(18) /* Virt. Intr. Ctrl 4 x2APIC */ #define CPUID_AMD_SVM_SSSCHECK __BIT(19) /* Shadow Stack restrictions */ #define CPUID_AMD_SVM_SPEC_CTRL __BIT(20) /* SPEC_CTRL virtualization */ +#define CPUID_AMD_SVM_ROGPT __BIT(21) /* Read-Only Guest PTable */ #define CPUID_AMD_SVM_HOST_MCE_OVERRIDE __BIT(23) /* #MC intercept */ #define CPUID_AMD_SVM_TLBICTL __BIT(24) /* TLB Intercept Control */ #define CPUID_AMD_SVM_VNMI __BIT(25) /* NMI Virtualization */ @@ -875,11 +890,32 @@ "\15" "PFThreshold" "\16" "AVIC" "\17" "B14" \ "\20" "V_VMSAVE_VMLOAD" \ "\21" "VGIF" "\22" "GMET" "\23x2AVIC" "\24SSSCHECK" \ - "\25" "SPEC_CTRL" "\30HOST_MCE_OVERRIDE" \ + "\25" "SPEC_CTRL" "\26" "ROGPT" "\30HOST_MCE_OVERRIDE" \ "\31" "TLBICTL" "\32VNMI" "\33IBSVIRT" "\34B27" \ "\35B28" /* + * AMD Instruction-Based Sampling Capabilities. + * CPUID Fn8000_001b + */ +/* %eax */ +#define CPUID_IBS_FFV __BIT(0) /* Feature Flags Valid */ +#define CPUID_IBS_FETCHSUM __BIT(1) /* Fetch Sampling */ +#define CPUID_IBS_OPSAM __BIT(2) /* execution SAMpling */ +#define CPUID_IBS_RDWROPCNT __BIT(3) /* Read Write of Op Counter */ +#define CPUID_IBS_OPCNT __BIT(4) /* OP CouNTing mode */ +#define CPUID_IBS_BRNTRGT __BIT(5) /* Branch Target */ +#define CPUID_IBS_OPCNTEXT __BIT(6) /* OpCurCnt and OpMaxCnt extended */ +#define CPUID_IBS_RIPINVALIDCHK __BIT(7) /* Invalid RIP indication */ +#define CPUID_IBS_OPBRNFUSE __BIT(8) /* Fused branch micro-op indicate */ +#define CPUID_IBS_L3MISSFILT __BIT(11) /* L3 Miss Filtering */ + +#define CPUID_IBS_FLAGS "\20" \ + "\1IBSFFV" "\2FetchSam" "\3OpSam" "\4RdWrOpCnt" \ + "\5OpCnt" "\6BrnTrgt" "\7OpCntExt" "\10RipInvalidChk" \ + "\11OpBrnFuse" "\12B9""\14IbsL3MissFiltering" + +/* * AMD Cache Topology Information. * CPUID Fn8000_001d * It's almost the same as Intel Deterministic Cache Parameter Leaf(0x04) @@ -920,7 +956,10 @@ #define CPUID_AMD_ENCMEM_SEVES __BIT(3) /* SEV Encrypted State */ #define CPUID_AMD_ENCMEM_SEV_SNP __BIT(4) /* Secure Nested Paging */ #define CPUID_AMD_ENCMEM_VMPL __BIT(5) /* Virtual Machine Privilege Lvl */ +#define CPUID_AMD_ENCMEM_RPMQUERY __BIT(6) /* RMPQUERY instruction */ +#define CPUID_AMD_ENCME
CVS commit: src/sys/arch/x86/include
Module Name:src Committed By: msaitoh Date: Wed Nov 16 13:14:34 UTC 2022 Modified Files: src/sys/arch/x86/include: specialreg.h Log Message: Add Some definitions from AMD APM: - Add CPUID Fn8000_0007 %eax RAS capabilities. - Add CPUID Fn8000_001b Instruction-Based Sampling capabilities. - Add BTC_NO, ROGPT, RPMQUERY, VmplSSS, TscAuxVirt, VmgexitParam, VirtualTomMsr, bsVirtGuest, SmtProtection, vsmCommPageMSR and NestedVirtSnpMsr. To generate a diff of this commit: cvs rdiff -u -r1.194 -r1.195 src/sys/arch/x86/include/specialreg.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/arm/acpi
Module Name:src Committed By: skrll Date: Wed Nov 16 11:54:26 UTC 2022 Modified Files: src/sys/arch/arm/acpi: acpi_platform.c Log Message: typo in comment To generate a diff of this commit: cvs rdiff -u -r1.33 -r1.34 src/sys/arch/arm/acpi/acpi_platform.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/arm/acpi
Module Name:src Committed By: skrll Date: Wed Nov 16 11:54:26 UTC 2022 Modified Files: src/sys/arch/arm/acpi: acpi_platform.c Log Message: typo in comment To generate a diff of this commit: cvs rdiff -u -r1.33 -r1.34 src/sys/arch/arm/acpi/acpi_platform.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/arm/acpi/acpi_platform.c diff -u src/sys/arch/arm/acpi/acpi_platform.c:1.33 src/sys/arch/arm/acpi/acpi_platform.c:1.34 --- src/sys/arch/arm/acpi/acpi_platform.c:1.33 Tue Sep 6 11:55:51 2022 +++ src/sys/arch/arm/acpi/acpi_platform.c Wed Nov 16 11:54:26 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: acpi_platform.c,v 1.33 2022/09/06 11:55:51 skrll Exp $ */ +/* $NetBSD: acpi_platform.c,v 1.34 2022/11/16 11:54:26 skrll Exp $ */ /*- * Copyright (c) 2018 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ #include "opt_multiprocessor.h" #include -__KERNEL_RCSID(0, "$NetBSD: acpi_platform.c,v 1.33 2022/09/06 11:55:51 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: acpi_platform.c,v 1.34 2022/11/16 11:54:26 skrll Exp $"); #include #include @@ -250,7 +250,7 @@ acpi_platform_attach_uart(ACPI_TABLE_SPC /* * UEFI firmware may leave the console in an undesireable state (wrong * foreground/background colour, etc). Reset the terminal and clear - * text from the cursor to the end of the screne. + * text from the cursor to the end of the screen. */ printf_flags(TOCONS|NOTSTAMP, "\033[0m"); printf_flags(TOCONS|NOTSTAMP, "\033[0J");