Rocksolid Light

News from da outaworlds

mail  files  register  groups  login

Message-ID:  

Communicate! It can't make things any worse.


comp / comp.os.linux.advocacy / Re: cpu-x

Subject: Re: cpu-x
From: DFS
Newsgroups: comp.os.linux.advocacy
Date: Sat, 18 May 2024 17:17 UTC
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!border-1.nntp.ord.giganews.com!border-3.nntp.ord.giganews.com!nntp.giganews.com!news-out.netnews.com!postmaster.netnews.com!us13.netnews.com!not-for-mail
X-Trace: DXC=ZZiYBlie=5N@ILHAO\[GICHWonT5<]0TMdjI?Uho:XeKlL51CP6LDLLO`<Q]eOlLmK1?iLU[UeLQLLQ^D7JJN18AankHQ>:kCVBOT>gi^X=X_ACGm4YP8f00J
X-Complaints-To: support@blocknews.net
Date: Sat, 18 May 2024 13:17:53 -0400
MIME-Version: 1.0
User-Agent: Betterbird (Windows)
From: nospam@dfs.com (DFS)
Subject: Re: cpu-x
Newsgroups: comp.os.linux.advocacy
References: <v1b791$2ln8f$2@dont-email.me>
<ib8i3jpsn8qgcsl4l3a5lin9lan9men5t1@4ax.com> <v1b8br$2ln8f$3@dont-email.me>
<6639497b$0$6450$882e4bbb@reader.netnews.com>
<5mki3j93um0k1hghpjbda84qqpgtf3odqs@4ax.com>
<66399f5c$0$6558$882e4bbb@reader.netnews.com>
<f4vk3j1ibrm4f4adtpjugq51emr9riutmq@4ax.com>
<663b8754$6$1258331$882e4bbb@reader.netnews.com>
<v21ib1$msd2$3@dont-email.me>
<6644bcd4$1$2363139$882e4bbb@reader.netnews.com>
<v22fcp$ticm$1@dont-email.me>
<6644c341$0$2363136$882e4bbb@reader.netnews.com>
<v26ljs$1vugl$4@dont-email.me> <66475efb$0$7180$882e4bbb@reader.netnews.com>
<v28ec1$28o81$2@dont-email.me> <6647e5ce$0$6435$882e4bbb@reader.netnews.com>
<v2acpu$2l7td$1@dont-email.me>
Content-Language: en-US
In-Reply-To: <v2acpu$2l7td$1@dont-email.me>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 208
Message-ID: <6648e2c1$1$2422112$882e4bbb@reader.netnews.com>
NNTP-Posting-Host: 127.0.0.1
X-Trace: 1716052673 reader.netnews.com 2422112 127.0.0.1:41919
View all headers

On 5/18/2024 10:09 AM, vallor wrote:
> On Fri, 17 May 2024 19:18:38 -0400, DFS <nospam@dfs.com> wrote in
> <6647e5ce$0$6435$882e4bbb@reader.netnews.com>:
>
>> I tried cpuid -1 (info for only one processor). It output an
>> incredible amt of info, 816 lines, but it looks like a bitch to parse.
>
> Thanks for the pointer.
>
> What do you need to parse it for? Is it not "well-formatted" enough?

If you want to parse out the supported/not supported CPU features, it's
confusing where to look for them.

Advanced Power Management Features (0x80000007/ecx):
Advanced Power Management Features (0x80000007/edx):
AMD feature flags (0x80000001/ecx):
AMD Secure Encryption (0x8000001f):
Architecture Performance Monitoring Features (0xa):
AVX/YMM features (0xd/2):
CET_S state features (0xd/0xc):
CET_U state features (0xd/0xb):
Extended Feature 2 (0x80000021):
Extended Feature Extensions ID (0x80000008/ebx):
extended feature flags (0x80000001/edx):
extended feature flags (7):
Feature Extended Size (0x80000008/edx):
feature information (1/ecx):
feature information (1/edx):
Thermal and Power Management Features (6):
x2APIC features / processor topology (0xb):
XSAVE features (0xd/0):
XSAVE features (0xd/1):

$ hwinfo says my 5600G chips supports 102 CPU features (I sorted the list):

3dnowprefetch abm adx aes apic arat avx avx2 bmi1 bmi2 clflush
clflushopt clwb clzero cmov cmp_legacy constant_tsc cpuid cr8_legacy
cx16 cx8 de decodeassists erms extd_apicid f16c flushbyasid fma fpu
fsgsbase fsrm fxsr fxsr_opt ht hypervisor ibpb ibrs invpcid lahf_lm lm
mca mce misalignsse mmx mmxext movbe msr mtrr nonstop_tsc nopl npt
nrip_save nx osvw pae pat pausefilter pclmulqdq pdpe1gb perfctr_core
pfthreshold pge pni popcnt pse pse36 rdpid rdrand rdseed rdtscp rep_good
sep sha_ni smap smep ssbd sse sse2 sse4_1 sse4_2 sse4a ssse3 stibp svm
syscall topoext tsc tsc_reliable tsc_scale umip v_vmsave_vmload vaes
vmcb_clean vme vmmcall vpclmulqdq xgetbv1 xsave xsavec xsaveerptr
xsaveopt xsaves

Then I bounced the list against the output of CPUID:

# hwinfo flag Found in CPUID output
-----------------------------------------
1 3dnowprefetch : not found
2 abm : not found
3 adx : found in 'ADX instructions = true'
4 aes : found in 'AES instruction = true'
5 apic : found in 'process local APIC physical ID = 0x3 (3)'
6 arat : found in 'ARAT always running APIC timer = false'
7 avx : found in 'AVX: advanced vector extensions = true'
8 avx2 : found in 'AVX2: advanced vector extensions 2 = true'
9 bmi1 : found in 'BMI1 instructions = true'
10 bmi2 : found in 'BMI2 instructions = true'
11 clflush : found in 'CLFLUSH line size = 0x8 (8)'
12 clflushopt : found in 'CLFLUSHOPT instruction = true'
13 clwb : found in 'CLWB instruction = true'
14 clzero : found in 'CLZERO instruction = true'
15 cmov : found in 'CMOV: conditional move/compare instr = true'
16 cmp_legacy : not found
17 constant_tsc : not found
18 cpuid : not found
19 cr8_legacy : not found
20 cx16 : not found
21 cx8 : not found
22 de : found in 'model = 0x0 (0)'
23 decodeassists : not found
24 erms : not found
25 extd_apicid : not found
26 f16c : found in 'F16C half-precision convert instruction =
true'
27 flushbyasid : not found
28 fma : found in 'FMA instruction = true'
29 fpu : found in 'x87 FPU on chip = true'
30 fsgsbase : found in 'FSGSBASE instructions = true'
31 fsrm : not found
32 fxsr : not found
33 fxsr_opt : not found
34 ht : found in 'reenlightenment MSRs = true'
35 hypervisor : found in 'hypervisor guest status = true'
36 ibpb : found in 'IBRS/IBPB: indirect branch restrictions =
false'
37 ibrs : found in 'IBRS/IBPB: indirect branch restrictions =
false'
38 invpcid : found in 'INVPCID instruction = true'
39 lahf_lm : not found
40 lm : found in 'PCLMULDQ instruction = true'
41 mca : found in 'MCA: machine check architecture = true'
42 mce : found in 'MCE: machine check exception = true'
43 misalignsse : not found
44 mmx : found in 'MMX Technology = true'
45 mmxext : not found
46 movbe : found in 'MOVBE instruction = true'
47 msr : found in 'RDMSR and WRMSR support = true'
48 mtrr : found in 'MTRR: memory type range registers = true'
49 nonstop_tsc : not found
50 nopl : not found
51 npt : not found
52 nrip_save : not found
53 nx : not found
54 osvw : not found
55 pae : found in 'PAE: physical address extensions = true'
56 pat : found in 'PAT: page attribute table = true'
57 pausefilter : not found
58 pclmulqdq : found in 'VPCLMULQDQ instruction = true'
59 pdpe1gb : not found
60 perfctr_core : not found
61 pfthreshold : not found
62 pge : not found
63 pni : found in 'PNI/SSE3: Prescott New Instructions = true'
64 popcnt : found in 'POPCNT instruction = true'
65 pse : found in 'PSE: page size extensions = true'
66 pse36 : not found
67 rdpid : found in 'RDPID: read processor D supported = true'
68 rdrand : found in 'RDRAND instruction = true'
69 rdseed : found in 'RDSEED instruction = true'
70 rdtscp : found in 'RDTSCP = true'
71 rep_good : not found
72 sep : not found
73 sha_ni : not found
74 smap : found in 'SMAP: supervisor mode access prevention =
true'
75 smep : found in 'SMEP supervisor mode exec protection = true'
76 ssbd : found in 'SSBD: speculative store bypass disable =
false'
77 sse : found in 'SSE extensions = true'
78 sse2 : found in 'SSE2 extensions = true'
79 sse4_1 : not found
80 sse4_2 : not found
81 sse4a : found in 'SSE4A support = true'
82 ssse3 : found in 'SSSE3 extensions = true'
83 stibp : found in 'STIBP: 1 thr indirect branch predictor =
false'
84 svm : found in 'SvmSupported = false'
85 syscall : found in 'SYSCALL and SYSRET instructions = true'
86 topoext : not found
87 tsc : found in 'TSC: time stamp counter = true'
88 tsc_reliable : not found
89 tsc_scale : not found
90 umip : found in 'UMIP: user-mode instruction prevention =
true'
91 v_vmsave_vmload : not found
92 vaes : found in 'VAES instructions = true'
93 vmcb_clean : not found
94 vme : found in 'VME: virtual-8086 mode enhancement = true'
95 vmmcall : not found
96 vpclmulqdq : found in 'VPCLMULQDQ instruction = true'
97 xgetbv1 : not found
98 xsave : found in 'FXSAVE/FXRSTOR = true'
99 xsavec : found in 'XSAVEC instruction = true'
100 xsaveerptr : not found
101 xsaveopt : found in 'XSAVEOPT instruction = true'
102 xsaves : found in 'XSAVES/XRSTORS instructions = true'

102 features
59 not found in CPUID.txt
--------------------------------------------------------------------------

Only 41% exact matches found. So it's hard to reconcile hwinfo flags
against the output of CPUID, which I would bet contains all those flags.

===========================================================================
python source
with open('hwinfo_flags.txt','r') as f1:
lines1 = f1.readlines()
longflag = len(max(lines1, key=len))
with open('cpuid.txt','r') as f2:
lines2 = f2.readlines()

found, fcnt = '',0
print('# hwinfo flag Found in CPUID output')
print('-----------------------------------------')
for i, line1 in enumerate(lines1):
print(i+1, line1.strip(), end = '')
found = 'not found'
for line2 in lines2:
if line1.lower().strip() in line2.lower().strip():
found = "found in '" + " ".join(line2.split()) + "'"
fcnt += 1
break
print(''.join([' ']*(longflag - len(line1.strip()))),end=': ')
print(found)
print()
print(len(lines1),'features')
print(fcnt,'not found in CPUID.txt')
===========================================================================

SubjectRepliesAuthor
o cpu-x

By: vallor on Mon, 6 May 2024

270vallor

rocksolid light 0.9.8
clearnet tor