Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/usr.sbin/cpuctl/arch Teach cpuctl(8) about some additional a...



details:   https://anonhg.NetBSD.org/src/rev/5de69c4a5b78
branches:  trunk
changeset: 379180:5de69c4a5b78
user:      riastradh <riastradh%NetBSD.org@localhost>
date:      Mon May 17 18:43:18 2021 +0000

description:
Teach cpuctl(8) about some additional aarch64 feature bits.

(Descriptions for CSV3 and CSV2 are not very good, but the blurbs in
the arm arm are an entire paragraph long each.  Please fix if you have
a conciser summary!)

diffstat:

 usr.sbin/cpuctl/arch/aarch64.c |  64 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 62 insertions(+), 2 deletions(-)

diffs (85 lines):

diff -r 0a363bf14d9d -r 5de69c4a5b78 usr.sbin/cpuctl/arch/aarch64.c
--- a/usr.sbin/cpuctl/arch/aarch64.c    Mon May 17 17:12:12 2021 +0000
+++ b/usr.sbin/cpuctl/arch/aarch64.c    Mon May 17 18:43:18 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: aarch64.c,v 1.14 2021/01/16 15:34:37 jmcneill Exp $    */
+/*     $NetBSD: aarch64.c,v 1.15 2021/05/17 18:43:18 riastradh Exp $   */
 
 /*
  * Copyright (c) 2018 Ryo Shimizu <ryo%nerv.org@localhost>
@@ -29,7 +29,7 @@
 #include <sys/cdefs.h>
 
 #ifndef lint
-__RCSID("$NetBSD: aarch64.c,v 1.14 2021/01/16 15:34:37 jmcneill Exp $");
+__RCSID("$NetBSD: aarch64.c,v 1.15 2021/05/17 18:43:18 riastradh Exp $");
 #endif /* no lint */
 
 #include <sys/types.h>
@@ -169,6 +169,66 @@ struct fieldinfo id_aa64pfr0_fieldinfo[]
                        [3] = "GIC CPU interface sysregs v4.1 supported"
                }
        },
+       {
+               .bitpos = 28, .bitwidth = 4, .name = "RAS",
+               .info = (const char *[16]) { /* 16=4bit */
+                       [0] = "Reliability/Availability/Serviceability not supported",
+                       [1] = "Reliability/Availability/Serviceability supported",
+                       [2] = "Reliability/Availability/Serviceability ARMv8.4 supported",
+               },
+       },
+       {
+               .bitpos = 32, .bitwidth = 4, .name = "SVE",
+               .info = (const char *[16]) { /* 16=4bit */
+                       [0] = "Scalable Vector Extensions not implemented",
+                       [1] = "Scalable Vector Extensions implemented",
+               },
+       },
+       {
+               .bitpos = 36, .bitwidth = 4, .name = "SEL2",
+               .info = (const char *[16]) { /* 16=4bit */
+                       [0] = "Secure EL2 not implemented",
+                       [1] = "Secure EL2 implemented",
+               },
+       },
+       {
+               .bitpos = 40, .bitwidth = 4, .name = "MPAM",
+               .info = (const char *[16]) { /* 16=4bit */
+                       [0] = "Memory Partitioning and Monitoring not implemented",
+                       [1] = "Memory Partitioning and Monitoring implemented",
+               },
+       },
+       {
+               .bitpos = 44, .bitwidth = 4, .name = "AMU",
+               .info = (const char *[16]) { /* 16=4bit */
+                       [0] = "Activity Monitors Extension not implemented",
+                       [1] = "Activity Monitors Extension v1 ARMv8.4",
+                       [2] = "Activity Monitors Extension v1 ARMv8.6",
+               },
+       },
+       {
+               .bitpos = 48, .bitwidth = 4, .name = "DIT",
+               .info = (const char *[16]) { /* 16=4bit */
+                       [0] = "No Data-Independent Timing guarantees",
+                       [1] = "Data-Independent Timing guaranteed by PSTATE.DIT",
+               },
+       },
+       {
+               .bitpos = 56, .bitwidth = 4, .name = "CSV2",
+               .info = (const char *[16]) { /* 16=4bit */
+                       [0] = "Branch prediction might be Spectred",
+                       [1] = "Branch prediction maybe not Spectred",
+                       [2] = "Branch prediction probably not Spectred",
+               },
+       },
+       {
+               .bitpos = 60, .bitwidth = 4, .name = "CSV3",
+               .info = (const char *[16]) { /* 16=4bit */
+                       [0] = "Faults might be Spectred",
+                       [1] = "Faults maybe not Spectred",
+                       [2] = "Faults probably not Spectred",
+               },
+       },
        { .bitwidth = 0 }       /* end of table */
 };
 



Home | Main Index | Thread Index | Old Index