From nobody Wed Jul 13 11:50:41 2022 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id C838B1D207D4; Wed, 13 Jul 2022 11:50:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4LjbYB5HKTz3sSM; Wed, 13 Jul 2022 11:50:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1657713054; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fcTKuPYmWoTO9CeCau/sqFCzAswhqITr+/qA02+wSaA=; b=UMS2x072plHfOIMgz2E7VPdYbfHIWFQaZ1n3kCNIM2jON9dZPIdBWjPSdWs8mTSm3DtBeC nvhvE2RZMOnntPVK1TRIKDxilXPS8sBbCS7zRyqqKDRiusvkuZXF8ujT3Nz4a3lruS7eW7 JhtGO6UXfzdPnRl5UiN2ZZKe7XhPvdfYMtYrR4SEtD6MIMeXKEbVnC5S0J8Pv5mUw0+FIQ g6KoscYzVjkD7I7aEuIwmGDqeMxWe3gbd91tKPwmFWlWRZ6T1nbgGUItLJ1JCu9YQryxf2 RPce1Tm+OXnVXJiKPXdxwyV61KLE2QTMfKaFpiBKRDRpdfj0H2LahmgNFoGlog== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4LjbXy037tzMR8; Wed, 13 Jul 2022 11:50:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 26DBof2H053600; Wed, 13 Jul 2022 11:50:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 26DBoffb053599; Wed, 13 Jul 2022 11:50:41 GMT (envelope-from git) Date: Wed, 13 Jul 2022 11:50:41 GMT Message-Id: <202207131150.26DBoffb053599@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: 9736c1988439 - stable/13 - linprocfs: Decode more CPU flags in cpuinfo List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9736c1988439b3d362549f5cd31bb2d1b4240783 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1657713054; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fcTKuPYmWoTO9CeCau/sqFCzAswhqITr+/qA02+wSaA=; b=kaJ2ACXI2eITE8fMN4LrG94wshw1EzL7xElTMVPlnfs6Sr1Fl/LNtfH1gnJAFxKUkaTUaz cM2GhwlB0I6nyho3qyTSqkiZ820rxgVfS5imXjZhqtaJUhads7nhY7XfN37MK4gwA720w/ dq3/Cphfte8jKl8KMKc/qSUyDN9cb2oqIBdsanM4ZmnJZDRYl2odpuANaPZvE5m9qPY4GP udW8BJk7U3xkR3Aq+fvyliY/czYdhN8q3x8QgY5sEMoOSjq+8hq6/xYxHSROuGZn/CN1Zt 3a/n8jRZd9u8C56WTC3LdmR8DkLej6BgE1pOmmkfGw2hLGnrp8WbVtwTAhMdGw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1657713054; a=rsa-sha256; cv=none; b=Lj9PgQEreHwOXuzvZ8IK/8BRZxPXIHrOs7tgYidhatA6o+8LitII271eX1Syk+OW5kgci4 xc3+DlUlgioWT1zMfNbGyUbFq0wF+9xdyZGVm125d6o86T2brHlEs7rtKWMYXZtCy02LLb 6pMrtqQsP5QEWuo/7y5b+jeoZiIZLW1yW5RHYrqU4FpvTuOhjUTDFUHQv+Ac595X8AdroY nd3CYbeTSBmOLD+QCFMGVdPMPa8EEXV73hqBtEgo5QABNstdBGGbe1xb2F1YB+80d4ELce jPxmrj1f5HwUmva+sqIHBr0xvTIep+jH1y+mEyP9yCZZH+h1oXeLGsgEatnYxA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=9736c1988439b3d362549f5cd31bb2d1b4240783 commit 9736c1988439b3d362549f5cd31bb2d1b4240783 Author: Dmitry Chagin AuthorDate: 2022-06-29 07:37:30 +0000 Commit: Dmitry Chagin CommitDate: 2022-07-13 11:48:27 +0000 linprocfs: Decode more CPU flags in cpuinfo Differential revision: https://reviews.freebsd.org/D35556 MFC after: 2 weeks (cherry picked from commit 7ab03740ae87f23250f2a0f0d5991e9989ddddfe) --- sys/compat/linprocfs/linprocfs.c | 46 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/sys/compat/linprocfs/linprocfs.c b/sys/compat/linprocfs/linprocfs.c index a0985d339e43..2bf52ecdc985 100644 --- a/sys/compat/linprocfs/linprocfs.c +++ b/sys/compat/linprocfs/linprocfs.c @@ -202,6 +202,7 @@ linprocfs_docpuinfo(PFS_FILL_ARGS) uint64_t freq; size_t size; u_int cache_size[4]; + u_int regs[4] = { 0 }; int fqmhz, fqkhz; int i, j; @@ -264,6 +265,33 @@ linprocfs_docpuinfo(PFS_FILL_ARGS) /* 28 */ "avx512cd", "sha_ni", "avx512bw", "avx512vl" }; + static char *cpu_stdext_feature2_names[] = { + /* 0 */ "prefetchwt1", "avx512vbmi", "umip", "pku", + /* 4 */ "ospke", "waitpkg", "avx512_vbmi2", "", + /* 8 */ "gfni", "vaes", "vpclmulqdq", "avx512_vnni", + /* 12 */ "avx512_bitalg", "", "avx512_vpopcntdq", "", + /* 16 */ "", "", "", "", + /* 20 */ "", "", "rdpid", "", + /* 24 */ "", "cldemote", "", "movdiri", + /* 28 */ "movdir64b", "enqcmd", "sgx_lc", "" + }; + + static char *cpu_stdext_feature3_names[] = { + /* 0 */ "", "", "avx512_4vnniw", "avx512_4fmaps", + /* 4 */ "fsrm", "", "", "", + /* 8 */ "avx512_vp2intersect", "", "md_clear", "", + /* 12 */ "", "", "", "", + /* 16 */ "", "", "pconfig", "", + /* 20 */ "", "", "", "", + /* 24 */ "", "", "ibrs", "stibp", + /* 28 */ "flush_l1d", "arch_capabilities", "core_capabilities", "ssbd" + }; + + static char *cpu_stdext_feature_l1_names[] = { + /* 0 */ "xsaveopt", "xsavec", "xgetbv1", "xsaves", + /* 4 */ "xfd" + }; + static char *power_flags[] = { "ts", "fid", "vid", "ttp", "tm", "stc", @@ -351,6 +379,24 @@ linprocfs_docpuinfo(PFS_FILL_ARGS) cpu_stdext_feature_names[j]); if (tsc_is_invariant) sbuf_cat(sb, " constant_tsc"); + for (j = 0; j < nitems(cpu_stdext_feature2_names); j++) + if (cpu_stdext_feature2 & (1 << j) && + cpu_stdext_feature2_names[j][0] != '\0') + sbuf_printf(sb, " %s", + cpu_stdext_feature2_names[j]); + for (j = 0; j < nitems(cpu_stdext_feature3_names); j++) + if (cpu_stdext_feature3 & (1 << j) && + cpu_stdext_feature3_names[j][0] != '\0') + sbuf_printf(sb, " %s", + cpu_stdext_feature3_names[j]); + if ((cpu_feature2 & CPUID2_XSAVE) != 0) { + cpuid_count(0xd, 0x1, regs); + for (j = 0; j < nitems(cpu_stdext_feature_l1_names); j++) + if (regs[0] & (1 << j) && + cpu_stdext_feature_l1_names[j][0] != '\0') + sbuf_printf(sb, " %s", + cpu_stdext_feature_l1_names[j]); + } sbuf_cat(sb, "\n"); sbuf_printf(sb, "bugs\t\t: %s\n"