chaos4ever / chaos

The chaos Operating System
https://chaos4ever.github.io/
16 stars 7 forks source link

Fix CPU detection #68

Open perlun opened 8 years ago

perlun commented 8 years ago

It shows very incorrect values on my hardware:

image

This is with VirtualBox. Real machine specs should be something like this:

image

perlun commented 5 years ago

Indeed, this needs to be sorted out. Here is some inspiration in the (now BSD-licensed) MINIX tree that we could probably be inspired by:

I think we could drop the "Celeron" and "Mendocino" part and just write out the:

...unless there is a really simple way to get the model name without maintaining an extremely long, manual list.


For reference, here is what /proc/cpu currently shows on Linux:

processor   : 0
vendor_id   : AuthenticAMD
cpu family  : 23
model       : 1
model name  : AMD Ryzen 5 1600 Six-Core Processor
stepping    : 1
microcode   : 0x8001137
cpu MHz     : 3199.995
cache size  : 512 KB
physical id : 0
siblings    : 3
core id     : 0
cpu cores   : 3
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl tsc_reliable nonstop_tsc cpuid extd_apicid pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw cpb ssbd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xsaves clzero arat overflow_recov succor
bugs        : fxsave_leak sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass
bogomips    : 6399.99
TLB size    : 2560 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 43 bits physical, 48 bits virtual
power management: